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_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5160 return NDR_ERR_SUCCESS;
5163 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5168 return NDR_ERR_SUCCESS;
5171 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5173 ndr_print_uint32(ndr, name, r);
5175 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r);
5176 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r);
5180 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5182 if (ndr_flags & NDR_SCALARS) {
5183 NDR_CHECK(ndr_push_align(ndr, 5));
5184 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
5185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length));
5186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5187 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5188 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5190 if (ndr_flags & NDR_BUFFERS) {
5191 if (r->restart_data) {
5192 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5193 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5196 return NDR_ERR_SUCCESS;
5199 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5201 uint32_t _ptr_restart_data;
5202 TALLOC_CTX *_mem_save_restart_data_0;
5203 if (ndr_flags & NDR_SCALARS) {
5204 NDR_CHECK(ndr_pull_align(ndr, 5));
5205 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
5206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length));
5207 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5208 if (r->restart_length > 0x00A00000) {
5209 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5211 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5212 if (_ptr_restart_data) {
5213 NDR_PULL_ALLOC(ndr, r->restart_data);
5215 r->restart_data = NULL;
5217 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5219 if (ndr_flags & NDR_BUFFERS) {
5220 if (r->restart_data) {
5221 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5222 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5223 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5224 NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data));
5225 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)));
5226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5228 if (r->restart_data) {
5229 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5232 return NDR_ERR_SUCCESS;
5235 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5237 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5239 ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags);
5240 ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length);
5241 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5242 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5244 if (r->restart_data) {
5245 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5251 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5253 if (ndr_flags & NDR_SCALARS) {
5254 int level = ndr_push_get_switch_value(ndr, r);
5255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5256 NDR_CHECK(ndr_push_union_align(ndr, 5));
5259 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5263 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5266 if (ndr_flags & NDR_BUFFERS) {
5267 int level = ndr_push_get_switch_value(ndr, r);
5270 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5274 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5277 return NDR_ERR_SUCCESS;
5280 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5284 level = ndr_pull_get_switch_value(ndr, r);
5285 if (ndr_flags & NDR_SCALARS) {
5286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5287 if (_level != level) {
5288 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5290 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5293 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5297 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5300 if (ndr_flags & NDR_BUFFERS) {
5303 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5307 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5310 return NDR_ERR_SUCCESS;
5313 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5316 level = ndr_print_get_switch_value(ndr, r);
5317 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5320 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5324 ndr_print_bad_level(ndr, name, level);
5328 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5330 if (ndr_flags & NDR_SCALARS) {
5331 NDR_CHECK(ndr_push_align(ndr, 8));
5332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length));
5334 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number));
5335 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time));
5336 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number));
5337 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time));
5338 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number));
5339 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time));
5340 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5341 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5342 NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data));
5343 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5345 if (ndr_flags & NDR_BUFFERS) {
5346 if (r->restart_data) {
5347 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5348 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5351 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length));
5352 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length));
5355 return NDR_ERR_SUCCESS;
5358 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5360 uint32_t _ptr_restart_data;
5361 TALLOC_CTX *_mem_save_restart_data_0;
5362 uint32_t _ptr_log_data;
5363 TALLOC_CTX *_mem_save_log_data_0;
5364 if (ndr_flags & NDR_SCALARS) {
5365 NDR_CHECK(ndr_pull_align(ndr, 8));
5366 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5367 if (r->restart_length > 0x00A00000) {
5368 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length));
5371 if (r->log_length > 0x00A00000) {
5372 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5374 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number));
5375 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time));
5376 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number));
5377 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time));
5378 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number));
5379 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time));
5380 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5381 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5382 if (_ptr_restart_data) {
5383 NDR_PULL_ALLOC(ndr, r->restart_data);
5385 r->restart_data = NULL;
5387 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data));
5388 if (_ptr_log_data) {
5389 NDR_PULL_ALLOC(ndr, r->log_data);
5393 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5395 if (ndr_flags & NDR_BUFFERS) {
5396 if (r->restart_data) {
5397 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5398 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5399 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5400 NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data));
5401 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)));
5402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5405 _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5406 NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0);
5407 NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data));
5408 NDR_PULL_ALLOC_N(ndr, r->log_data, ndr_get_array_size(ndr, &r->log_data));
5409 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, ndr_get_array_size(ndr, &r->log_data)));
5410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0);
5412 if (r->restart_data) {
5413 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5416 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->log_data, r->log_length));
5419 return NDR_ERR_SUCCESS;
5422 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5424 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5426 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5427 ndr_print_uint32(ndr, "log_length", r->log_length);
5428 ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number);
5429 ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time);
5430 ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number);
5431 ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time);
5432 ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number);
5433 ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time);
5434 ndr_print_NTSTATUS(ndr, "status", r->status);
5435 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5437 if (r->restart_data) {
5438 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5441 ndr_print_ptr(ndr, "log_data", r->log_data);
5444 ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length);
5450 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5452 if (ndr_flags & NDR_SCALARS) {
5453 int level = ndr_push_get_switch_value(ndr, r);
5454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5455 NDR_CHECK(ndr_push_union_align(ndr, 8));
5458 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5462 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5465 if (ndr_flags & NDR_BUFFERS) {
5466 int level = ndr_push_get_switch_value(ndr, r);
5469 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5473 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5476 return NDR_ERR_SUCCESS;
5479 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5483 level = ndr_pull_get_switch_value(ndr, r);
5484 if (ndr_flags & NDR_SCALARS) {
5485 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5486 if (_level != level) {
5487 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5489 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5492 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5496 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5499 if (ndr_flags & NDR_BUFFERS) {
5502 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5506 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5509 return NDR_ERR_SUCCESS;
5512 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5515 level = ndr_print_get_switch_value(ndr, r);
5516 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5519 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5523 ndr_print_bad_level(ndr, name, level);
5527 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5529 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5530 return NDR_ERR_SUCCESS;
5533 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5536 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5538 return NDR_ERR_SUCCESS;
5541 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5543 const char *val = NULL;
5546 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5547 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5548 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5549 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5550 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5551 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5552 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5553 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5555 ndr_print_enum(ndr, name, "ENUM", val, r);
5558 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5560 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5561 return NDR_ERR_SUCCESS;
5564 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5567 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5569 return NDR_ERR_SUCCESS;
5572 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5574 const char *val = NULL;
5577 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5578 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5579 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5580 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5581 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5583 ndr_print_enum(ndr, name, "ENUM", val, r);
5586 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5588 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5589 return NDR_ERR_SUCCESS;
5592 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5595 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5597 return NDR_ERR_SUCCESS;
5600 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5602 const char *val = NULL;
5605 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5606 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5607 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5608 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5609 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5610 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5611 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5612 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5613 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5614 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5615 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5617 ndr_print_enum(ndr, name, "ENUM", val, r);
5620 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5622 if (ndr_flags & NDR_SCALARS) {
5623 NDR_CHECK(ndr_push_align(ndr, 5));
5624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5625 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5627 if (ndr_flags & NDR_BUFFERS) {
5629 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5630 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5631 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5632 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5635 return NDR_ERR_SUCCESS;
5638 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5641 TALLOC_CTX *_mem_save_str_0;
5642 if (ndr_flags & NDR_SCALARS) {
5643 NDR_CHECK(ndr_pull_align(ndr, 5));
5644 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5646 NDR_PULL_ALLOC(ndr, r->str);
5650 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5652 if (ndr_flags & NDR_BUFFERS) {
5654 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5655 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5656 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5657 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5658 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5659 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));
5661 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5662 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5666 return NDR_ERR_SUCCESS;
5669 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5671 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5673 ndr_print_ptr(ndr, "str", r->str);
5676 ndr_print_string(ndr, "str", r->str);
5682 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5684 uint32_t cntr_names_1;
5685 if (ndr_flags & NDR_SCALARS) {
5686 NDR_CHECK(ndr_push_align(ndr, 5));
5687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5689 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5690 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5691 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5693 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5694 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5696 if (ndr_flags & NDR_BUFFERS) {
5698 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5699 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5700 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5702 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5703 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5707 return NDR_ERR_SUCCESS;
5710 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5712 uint32_t _ptr_names;
5713 uint32_t cntr_names_1;
5714 TALLOC_CTX *_mem_save_names_0;
5715 TALLOC_CTX *_mem_save_names_1;
5716 if (ndr_flags & NDR_SCALARS) {
5717 NDR_CHECK(ndr_pull_align(ndr, 5));
5718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5720 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5721 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5722 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5724 if (r->count < 1 || r->count > 10000) {
5725 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5729 NDR_PULL_ALLOC(ndr, r->names);
5733 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5735 if (ndr_flags & NDR_BUFFERS) {
5737 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5738 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5739 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5740 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5741 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5742 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5743 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5744 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5746 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5747 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5749 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5753 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5756 return NDR_ERR_SUCCESS;
5759 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5761 uint32_t cntr_names_1;
5762 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5764 ndr_print_uint32(ndr, "codepage", r->codepage);
5765 ndr_print_uint32(ndr, "language", r->language);
5766 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5767 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5768 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5769 ndr_print_uint32(ndr, "count", r->count);
5770 ndr_print_ptr(ndr, "names", r->names);
5773 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5775 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5777 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5778 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5788 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5790 if (ndr_flags & NDR_SCALARS) {
5791 int level = ndr_push_get_switch_value(ndr, r);
5792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5793 NDR_CHECK(ndr_push_union_align(ndr, 5));
5796 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5800 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5803 if (ndr_flags & NDR_BUFFERS) {
5804 int level = ndr_push_get_switch_value(ndr, r);
5807 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5811 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5814 return NDR_ERR_SUCCESS;
5817 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5821 level = ndr_pull_get_switch_value(ndr, r);
5822 if (ndr_flags & NDR_SCALARS) {
5823 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5824 if (_level != level) {
5825 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5827 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5830 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5834 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5837 if (ndr_flags & NDR_BUFFERS) {
5840 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5844 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5847 return NDR_ERR_SUCCESS;
5850 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5853 level = ndr_print_get_switch_value(ndr, r);
5854 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5857 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5861 ndr_print_bad_level(ndr, name, level);
5865 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5867 if (ndr_flags & NDR_SCALARS) {
5868 NDR_CHECK(ndr_push_align(ndr, 5));
5869 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5870 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5871 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5872 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5874 if (ndr_flags & NDR_BUFFERS) {
5875 if (r->dns_domain_name) {
5876 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5877 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5878 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5879 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));
5881 if (r->result_name) {
5882 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5883 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5884 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5885 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5888 return NDR_ERR_SUCCESS;
5891 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5893 uint32_t _ptr_dns_domain_name;
5894 TALLOC_CTX *_mem_save_dns_domain_name_0;
5895 uint32_t _ptr_result_name;
5896 TALLOC_CTX *_mem_save_result_name_0;
5897 if (ndr_flags & NDR_SCALARS) {
5898 NDR_CHECK(ndr_pull_align(ndr, 5));
5899 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5900 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5901 if (_ptr_dns_domain_name) {
5902 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5904 r->dns_domain_name = NULL;
5906 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5907 if (_ptr_result_name) {
5908 NDR_PULL_ALLOC(ndr, r->result_name);
5910 r->result_name = NULL;
5912 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5914 if (ndr_flags & NDR_BUFFERS) {
5915 if (r->dns_domain_name) {
5916 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5917 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5918 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5919 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5920 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5921 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));
5923 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5924 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));
5925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5927 if (r->result_name) {
5928 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5929 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5930 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5931 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5932 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5933 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));
5935 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5936 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5940 return NDR_ERR_SUCCESS;
5943 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5945 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5947 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5948 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5950 if (r->dns_domain_name) {
5951 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5954 ndr_print_ptr(ndr, "result_name", r->result_name);
5956 if (r->result_name) {
5957 ndr_print_string(ndr, "result_name", r->result_name);
5963 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5965 uint32_t cntr_array_1;
5966 if (ndr_flags & NDR_SCALARS) {
5967 NDR_CHECK(ndr_push_align(ndr, 5));
5968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5969 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5970 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5972 if (ndr_flags & NDR_BUFFERS) {
5974 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5975 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5976 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5978 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5979 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5983 return NDR_ERR_SUCCESS;
5986 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5988 uint32_t _ptr_array;
5989 uint32_t cntr_array_1;
5990 TALLOC_CTX *_mem_save_array_0;
5991 TALLOC_CTX *_mem_save_array_1;
5992 if (ndr_flags & NDR_SCALARS) {
5993 NDR_CHECK(ndr_pull_align(ndr, 5));
5994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
5997 NDR_PULL_ALLOC(ndr, r->array);
6001 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6003 if (ndr_flags & NDR_BUFFERS) {
6005 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6006 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6007 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6008 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6009 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6010 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6011 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6012 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6014 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6015 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6021 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6024 return NDR_ERR_SUCCESS;
6027 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6029 uint32_t cntr_array_1;
6030 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6032 ndr_print_uint32(ndr, "count", r->count);
6033 ndr_print_ptr(ndr, "array", r->array);
6036 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6038 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6040 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6041 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6051 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6053 if (ndr_flags & NDR_SCALARS) {
6054 int level = ndr_push_get_switch_value(ndr, r);
6055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6056 NDR_CHECK(ndr_push_union_align(ndr, 5));
6059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6063 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6066 if (ndr_flags & NDR_BUFFERS) {
6067 int level = ndr_push_get_switch_value(ndr, r);
6071 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6076 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6079 return NDR_ERR_SUCCESS;
6082 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6086 TALLOC_CTX *_mem_save_ctr1_0;
6087 level = ndr_pull_get_switch_value(ndr, r);
6088 if (ndr_flags & NDR_SCALARS) {
6089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6090 if (_level != level) {
6091 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6093 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6099 NDR_PULL_ALLOC(ndr, r->ctr1);
6106 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6109 if (ndr_flags & NDR_BUFFERS) {
6113 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6114 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6115 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6121 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6124 return NDR_ERR_SUCCESS;
6127 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6130 level = ndr_print_get_switch_value(ndr, r);
6131 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6134 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6137 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6143 ndr_print_bad_level(ndr, name, level);
6147 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6149 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6150 return NDR_ERR_SUCCESS;
6153 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6156 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6158 return NDR_ERR_SUCCESS;
6161 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6163 const char *val = NULL;
6166 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6167 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6168 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6170 ndr_print_enum(ndr, name, "ENUM", val, r);
6173 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6175 uint32_t cntr_spn_names_1;
6176 if (ndr_flags & NDR_SCALARS) {
6177 NDR_CHECK(ndr_push_align(ndr, 5));
6178 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6180 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6182 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6183 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6185 if (ndr_flags & NDR_BUFFERS) {
6187 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6188 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6189 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6190 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6193 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6194 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6195 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6197 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6198 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6202 return NDR_ERR_SUCCESS;
6205 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6207 uint32_t _ptr_object_dn;
6208 TALLOC_CTX *_mem_save_object_dn_0;
6209 uint32_t _ptr_spn_names;
6210 uint32_t cntr_spn_names_1;
6211 TALLOC_CTX *_mem_save_spn_names_0;
6212 TALLOC_CTX *_mem_save_spn_names_1;
6213 if (ndr_flags & NDR_SCALARS) {
6214 NDR_CHECK(ndr_pull_align(ndr, 5));
6215 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6217 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6218 if (_ptr_object_dn) {
6219 NDR_PULL_ALLOC(ndr, r->object_dn);
6221 r->object_dn = NULL;
6223 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6224 if (r->count > 10000) {
6225 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6227 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6228 if (_ptr_spn_names) {
6229 NDR_PULL_ALLOC(ndr, r->spn_names);
6231 r->spn_names = NULL;
6233 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6235 if (ndr_flags & NDR_BUFFERS) {
6237 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6238 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6239 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6240 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6241 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6242 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));
6244 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6245 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6249 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6250 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6251 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6252 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6253 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6254 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6255 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6256 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6258 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6259 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6265 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6268 return NDR_ERR_SUCCESS;
6271 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6273 uint32_t cntr_spn_names_1;
6274 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6276 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6277 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6278 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6281 ndr_print_string(ndr, "object_dn", r->object_dn);
6284 ndr_print_uint32(ndr, "count", r->count);
6285 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6288 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6290 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6292 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6293 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6303 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6305 if (ndr_flags & NDR_SCALARS) {
6306 int level = ndr_push_get_switch_value(ndr, r);
6307 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6308 NDR_CHECK(ndr_push_union_align(ndr, 5));
6311 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6315 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6318 if (ndr_flags & NDR_BUFFERS) {
6319 int level = ndr_push_get_switch_value(ndr, r);
6322 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6326 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6329 return NDR_ERR_SUCCESS;
6332 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6336 level = ndr_pull_get_switch_value(ndr, r);
6337 if (ndr_flags & NDR_SCALARS) {
6338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6339 if (_level != level) {
6340 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6342 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6345 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6349 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6352 if (ndr_flags & NDR_BUFFERS) {
6355 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6359 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6362 return NDR_ERR_SUCCESS;
6365 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6368 level = ndr_print_get_switch_value(ndr, r);
6369 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6372 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6376 ndr_print_bad_level(ndr, name, level);
6380 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6382 if (ndr_flags & NDR_SCALARS) {
6383 NDR_CHECK(ndr_push_align(ndr, 4));
6384 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6385 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6387 if (ndr_flags & NDR_BUFFERS) {
6389 return NDR_ERR_SUCCESS;
6392 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6394 if (ndr_flags & NDR_SCALARS) {
6395 NDR_CHECK(ndr_pull_align(ndr, 4));
6396 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6397 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6399 if (ndr_flags & NDR_BUFFERS) {
6401 return NDR_ERR_SUCCESS;
6404 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6406 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6408 ndr_print_WERROR(ndr, "status", r->status);
6412 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6414 if (ndr_flags & NDR_SCALARS) {
6415 int level = ndr_push_get_switch_value(ndr, r);
6416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6417 NDR_CHECK(ndr_push_union_align(ndr, 4));
6420 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6424 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6427 if (ndr_flags & NDR_BUFFERS) {
6428 int level = ndr_push_get_switch_value(ndr, r);
6434 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6437 return NDR_ERR_SUCCESS;
6440 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6444 level = ndr_pull_get_switch_value(ndr, r);
6445 if (ndr_flags & NDR_SCALARS) {
6446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6447 if (_level != level) {
6448 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6450 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6453 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6457 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6460 if (ndr_flags & NDR_BUFFERS) {
6466 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6469 return NDR_ERR_SUCCESS;
6472 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6475 level = ndr_print_get_switch_value(ndr, r);
6476 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6479 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6483 ndr_print_bad_level(ndr, name, level);
6487 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6489 if (ndr_flags & NDR_SCALARS) {
6490 NDR_CHECK(ndr_push_align(ndr, 5));
6491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6492 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6494 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6496 if (ndr_flags & NDR_BUFFERS) {
6498 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6499 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6500 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6501 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6504 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6505 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6506 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6507 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6510 return NDR_ERR_SUCCESS;
6513 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6515 uint32_t _ptr_server_dn;
6516 TALLOC_CTX *_mem_save_server_dn_0;
6517 uint32_t _ptr_domain_dn;
6518 TALLOC_CTX *_mem_save_domain_dn_0;
6519 if (ndr_flags & NDR_SCALARS) {
6520 NDR_CHECK(ndr_pull_align(ndr, 5));
6521 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6522 if (_ptr_server_dn) {
6523 NDR_PULL_ALLOC(ndr, r->server_dn);
6525 r->server_dn = NULL;
6527 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6528 if (_ptr_domain_dn) {
6529 NDR_PULL_ALLOC(ndr, r->domain_dn);
6531 r->domain_dn = NULL;
6533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6534 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6536 if (ndr_flags & NDR_BUFFERS) {
6538 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6539 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6540 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6541 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6542 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6543 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));
6545 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6546 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6547 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6550 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6551 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6552 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6553 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6554 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6555 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));
6557 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6558 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6562 return NDR_ERR_SUCCESS;
6565 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6567 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6569 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6572 ndr_print_string(ndr, "server_dn", r->server_dn);
6575 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6578 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6581 ndr_print_uint32(ndr, "commit", r->commit);
6585 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6587 if (ndr_flags & NDR_SCALARS) {
6588 int level = ndr_push_get_switch_value(ndr, r);
6589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6590 NDR_CHECK(ndr_push_union_align(ndr, 5));
6593 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6597 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6600 if (ndr_flags & NDR_BUFFERS) {
6601 int level = ndr_push_get_switch_value(ndr, r);
6604 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6608 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6611 return NDR_ERR_SUCCESS;
6614 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6618 level = ndr_pull_get_switch_value(ndr, r);
6619 if (ndr_flags & NDR_SCALARS) {
6620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6621 if (_level != level) {
6622 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6624 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6627 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6631 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6634 if (ndr_flags & NDR_BUFFERS) {
6637 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6641 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6644 return NDR_ERR_SUCCESS;
6647 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6650 level = ndr_print_get_switch_value(ndr, r);
6651 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6654 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6658 ndr_print_bad_level(ndr, name, level);
6662 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6664 if (ndr_flags & NDR_SCALARS) {
6665 NDR_CHECK(ndr_push_align(ndr, 4));
6666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6667 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6669 if (ndr_flags & NDR_BUFFERS) {
6671 return NDR_ERR_SUCCESS;
6674 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6676 if (ndr_flags & NDR_SCALARS) {
6677 NDR_CHECK(ndr_pull_align(ndr, 4));
6678 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6679 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6681 if (ndr_flags & NDR_BUFFERS) {
6683 return NDR_ERR_SUCCESS;
6686 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6688 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6690 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6694 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6696 if (ndr_flags & NDR_SCALARS) {
6697 int level = ndr_push_get_switch_value(ndr, r);
6698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6699 NDR_CHECK(ndr_push_union_align(ndr, 4));
6702 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6706 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6709 if (ndr_flags & NDR_BUFFERS) {
6710 int level = ndr_push_get_switch_value(ndr, r);
6716 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6719 return NDR_ERR_SUCCESS;
6722 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6726 level = ndr_pull_get_switch_value(ndr, r);
6727 if (ndr_flags & NDR_SCALARS) {
6728 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6729 if (_level != level) {
6730 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6732 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6735 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6739 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6742 if (ndr_flags & NDR_BUFFERS) {
6748 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6751 return NDR_ERR_SUCCESS;
6754 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6757 level = ndr_print_get_switch_value(ndr, r);
6758 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6761 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6765 ndr_print_bad_level(ndr, name, level);
6769 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6771 if (ndr_flags & NDR_SCALARS) {
6772 NDR_CHECK(ndr_push_align(ndr, 5));
6773 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6774 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6775 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6777 if (ndr_flags & NDR_BUFFERS) {
6778 if (r->domain_name) {
6779 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6780 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6782 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6785 return NDR_ERR_SUCCESS;
6788 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6790 uint32_t _ptr_domain_name;
6791 TALLOC_CTX *_mem_save_domain_name_0;
6792 if (ndr_flags & NDR_SCALARS) {
6793 NDR_CHECK(ndr_pull_align(ndr, 5));
6794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6795 if (_ptr_domain_name) {
6796 NDR_PULL_ALLOC(ndr, r->domain_name);
6798 r->domain_name = NULL;
6800 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6801 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6803 if (ndr_flags & NDR_BUFFERS) {
6804 if (r->domain_name) {
6805 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6806 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6807 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6808 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6809 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6810 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));
6812 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6813 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6817 return NDR_ERR_SUCCESS;
6820 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6822 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6824 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6826 if (r->domain_name) {
6827 ndr_print_string(ndr, "domain_name", r->domain_name);
6830 ndr_print_int32(ndr, "level", r->level);
6834 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6836 if (ndr_flags & NDR_SCALARS) {
6837 int level = ndr_push_get_switch_value(ndr, r);
6838 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6839 NDR_CHECK(ndr_push_union_align(ndr, 5));
6842 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6846 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6849 if (ndr_flags & NDR_BUFFERS) {
6850 int level = ndr_push_get_switch_value(ndr, r);
6853 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6857 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6860 return NDR_ERR_SUCCESS;
6863 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6867 level = ndr_pull_get_switch_value(ndr, r);
6868 if (ndr_flags & NDR_SCALARS) {
6869 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6870 if (_level != level) {
6871 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6873 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6876 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6880 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6883 if (ndr_flags & NDR_BUFFERS) {
6886 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6890 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6893 return NDR_ERR_SUCCESS;
6896 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6899 level = ndr_print_get_switch_value(ndr, r);
6900 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6903 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6907 ndr_print_bad_level(ndr, name, level);
6911 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6913 if (ndr_flags & NDR_SCALARS) {
6914 NDR_CHECK(ndr_push_align(ndr, 5));
6915 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6916 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6922 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6924 if (ndr_flags & NDR_BUFFERS) {
6925 if (r->netbios_name) {
6926 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6927 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6929 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6932 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6933 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6934 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6935 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6938 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6940 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6941 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6943 if (r->computer_dn) {
6944 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6945 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6946 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6947 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6951 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6952 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6953 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6956 return NDR_ERR_SUCCESS;
6959 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6961 uint32_t _ptr_netbios_name;
6962 TALLOC_CTX *_mem_save_netbios_name_0;
6963 uint32_t _ptr_dns_name;
6964 TALLOC_CTX *_mem_save_dns_name_0;
6965 uint32_t _ptr_site_name;
6966 TALLOC_CTX *_mem_save_site_name_0;
6967 uint32_t _ptr_computer_dn;
6968 TALLOC_CTX *_mem_save_computer_dn_0;
6969 uint32_t _ptr_server_dn;
6970 TALLOC_CTX *_mem_save_server_dn_0;
6971 if (ndr_flags & NDR_SCALARS) {
6972 NDR_CHECK(ndr_pull_align(ndr, 5));
6973 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6974 if (_ptr_netbios_name) {
6975 NDR_PULL_ALLOC(ndr, r->netbios_name);
6977 r->netbios_name = NULL;
6979 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6980 if (_ptr_dns_name) {
6981 NDR_PULL_ALLOC(ndr, r->dns_name);
6985 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6986 if (_ptr_site_name) {
6987 NDR_PULL_ALLOC(ndr, r->site_name);
6989 r->site_name = NULL;
6991 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6992 if (_ptr_computer_dn) {
6993 NDR_PULL_ALLOC(ndr, r->computer_dn);
6995 r->computer_dn = NULL;
6997 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6998 if (_ptr_server_dn) {
6999 NDR_PULL_ALLOC(ndr, r->server_dn);
7001 r->server_dn = NULL;
7003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7005 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7007 if (ndr_flags & NDR_BUFFERS) {
7008 if (r->netbios_name) {
7009 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7010 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7011 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7012 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7013 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7014 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));
7016 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7017 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7021 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7022 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7023 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7024 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7025 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7026 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));
7028 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7029 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7033 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7034 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7035 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7036 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7037 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7038 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));
7040 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7041 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7044 if (r->computer_dn) {
7045 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7046 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7047 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7048 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7049 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7050 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));
7052 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7053 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7057 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7058 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7059 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7060 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7061 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7062 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));
7064 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7065 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7069 return NDR_ERR_SUCCESS;
7072 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7074 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7076 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7078 if (r->netbios_name) {
7079 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7082 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7085 ndr_print_string(ndr, "dns_name", r->dns_name);
7088 ndr_print_ptr(ndr, "site_name", r->site_name);
7091 ndr_print_string(ndr, "site_name", r->site_name);
7094 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7096 if (r->computer_dn) {
7097 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7100 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7103 ndr_print_string(ndr, "server_dn", r->server_dn);
7106 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7107 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7111 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7113 uint32_t cntr_array_1;
7114 if (ndr_flags & NDR_SCALARS) {
7115 NDR_CHECK(ndr_push_align(ndr, 5));
7116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7118 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7120 if (ndr_flags & NDR_BUFFERS) {
7122 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7123 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7124 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7126 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7127 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7131 return NDR_ERR_SUCCESS;
7134 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7136 uint32_t _ptr_array;
7137 uint32_t cntr_array_1;
7138 TALLOC_CTX *_mem_save_array_0;
7139 TALLOC_CTX *_mem_save_array_1;
7140 if (ndr_flags & NDR_SCALARS) {
7141 NDR_CHECK(ndr_pull_align(ndr, 5));
7142 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7143 if (r->count > 10000) {
7144 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7148 NDR_PULL_ALLOC(ndr, r->array);
7152 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7154 if (ndr_flags & NDR_BUFFERS) {
7156 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7157 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7158 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7159 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7160 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7161 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7162 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7163 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7165 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7166 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7172 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7175 return NDR_ERR_SUCCESS;
7178 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7180 uint32_t cntr_array_1;
7181 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7183 ndr_print_uint32(ndr, "count", r->count);
7184 ndr_print_ptr(ndr, "array", r->array);
7187 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7189 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7191 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7192 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7202 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7204 if (ndr_flags & NDR_SCALARS) {
7205 NDR_CHECK(ndr_push_align(ndr, 5));
7206 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7207 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7209 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7216 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7217 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7218 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7219 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7220 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7222 if (ndr_flags & NDR_BUFFERS) {
7223 if (r->netbios_name) {
7224 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7225 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7226 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7227 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7230 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7231 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7232 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7233 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7236 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7237 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7238 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7239 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7242 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7243 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7244 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7245 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7247 if (r->computer_dn) {
7248 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7249 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7250 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7251 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7254 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7255 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7256 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7257 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7260 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7261 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7262 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7263 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7266 return NDR_ERR_SUCCESS;
7269 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7271 uint32_t _ptr_netbios_name;
7272 TALLOC_CTX *_mem_save_netbios_name_0;
7273 uint32_t _ptr_dns_name;
7274 TALLOC_CTX *_mem_save_dns_name_0;
7275 uint32_t _ptr_site_name;
7276 TALLOC_CTX *_mem_save_site_name_0;
7277 uint32_t _ptr_site_dn;
7278 TALLOC_CTX *_mem_save_site_dn_0;
7279 uint32_t _ptr_computer_dn;
7280 TALLOC_CTX *_mem_save_computer_dn_0;
7281 uint32_t _ptr_server_dn;
7282 TALLOC_CTX *_mem_save_server_dn_0;
7283 uint32_t _ptr_ntds_dn;
7284 TALLOC_CTX *_mem_save_ntds_dn_0;
7285 if (ndr_flags & NDR_SCALARS) {
7286 NDR_CHECK(ndr_pull_align(ndr, 5));
7287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7288 if (_ptr_netbios_name) {
7289 NDR_PULL_ALLOC(ndr, r->netbios_name);
7291 r->netbios_name = NULL;
7293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7294 if (_ptr_dns_name) {
7295 NDR_PULL_ALLOC(ndr, r->dns_name);
7299 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7300 if (_ptr_site_name) {
7301 NDR_PULL_ALLOC(ndr, r->site_name);
7303 r->site_name = NULL;
7305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7307 NDR_PULL_ALLOC(ndr, r->site_dn);
7311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7312 if (_ptr_computer_dn) {
7313 NDR_PULL_ALLOC(ndr, r->computer_dn);
7315 r->computer_dn = NULL;
7317 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7318 if (_ptr_server_dn) {
7319 NDR_PULL_ALLOC(ndr, r->server_dn);
7321 r->server_dn = NULL;
7323 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7325 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7331 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7332 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7333 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7334 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7335 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7336 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7338 if (ndr_flags & NDR_BUFFERS) {
7339 if (r->netbios_name) {
7340 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7341 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7342 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7343 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7344 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7345 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));
7347 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7348 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7352 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7353 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7354 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7355 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7356 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7357 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));
7359 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7360 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7364 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7365 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7366 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7367 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7368 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7369 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));
7371 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7372 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7376 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7377 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7378 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7379 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7380 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7381 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));
7383 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7384 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7387 if (r->computer_dn) {
7388 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7389 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7390 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7391 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7392 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7393 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));
7395 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7396 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7400 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7401 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7402 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7403 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7404 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7405 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));
7407 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7408 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7412 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7413 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7414 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7415 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7416 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7417 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));
7419 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7420 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7424 return NDR_ERR_SUCCESS;
7427 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7429 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7431 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7433 if (r->netbios_name) {
7434 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7437 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7440 ndr_print_string(ndr, "dns_name", r->dns_name);
7443 ndr_print_ptr(ndr, "site_name", r->site_name);
7446 ndr_print_string(ndr, "site_name", r->site_name);
7449 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7452 ndr_print_string(ndr, "site_dn", r->site_dn);
7455 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7457 if (r->computer_dn) {
7458 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7461 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7464 ndr_print_string(ndr, "server_dn", r->server_dn);
7467 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7470 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7473 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7474 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7475 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7476 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7477 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7478 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7479 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7483 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7485 uint32_t cntr_array_1;
7486 if (ndr_flags & NDR_SCALARS) {
7487 NDR_CHECK(ndr_push_align(ndr, 5));
7488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7489 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7490 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7492 if (ndr_flags & NDR_BUFFERS) {
7494 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7495 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7496 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7498 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7499 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7503 return NDR_ERR_SUCCESS;
7506 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7508 uint32_t _ptr_array;
7509 uint32_t cntr_array_1;
7510 TALLOC_CTX *_mem_save_array_0;
7511 TALLOC_CTX *_mem_save_array_1;
7512 if (ndr_flags & NDR_SCALARS) {
7513 NDR_CHECK(ndr_pull_align(ndr, 5));
7514 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7515 if (r->count > 10000) {
7516 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7518 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7520 NDR_PULL_ALLOC(ndr, r->array);
7524 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7526 if (ndr_flags & NDR_BUFFERS) {
7528 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7529 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7530 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7531 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7532 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7533 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7534 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7535 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7537 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7538 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7540 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7544 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7547 return NDR_ERR_SUCCESS;
7550 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7552 uint32_t cntr_array_1;
7553 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7555 ndr_print_uint32(ndr, "count", r->count);
7556 ndr_print_ptr(ndr, "array", r->array);
7559 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7561 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7563 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7564 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7574 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7576 if (ndr_flags & NDR_SCALARS) {
7577 NDR_CHECK(ndr_push_align(ndr, 5));
7578 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7581 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7589 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7590 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7591 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7592 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7593 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7595 if (ndr_flags & NDR_BUFFERS) {
7596 if (r->netbios_name) {
7597 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7598 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7599 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7600 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7603 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7604 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7605 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7606 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7611 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7612 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7615 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7616 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7617 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7618 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7620 if (r->computer_dn) {
7621 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7622 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7623 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7624 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7627 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7628 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7629 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7630 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7635 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7636 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7639 return NDR_ERR_SUCCESS;
7642 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7644 uint32_t _ptr_netbios_name;
7645 TALLOC_CTX *_mem_save_netbios_name_0;
7646 uint32_t _ptr_dns_name;
7647 TALLOC_CTX *_mem_save_dns_name_0;
7648 uint32_t _ptr_site_name;
7649 TALLOC_CTX *_mem_save_site_name_0;
7650 uint32_t _ptr_site_dn;
7651 TALLOC_CTX *_mem_save_site_dn_0;
7652 uint32_t _ptr_computer_dn;
7653 TALLOC_CTX *_mem_save_computer_dn_0;
7654 uint32_t _ptr_server_dn;
7655 TALLOC_CTX *_mem_save_server_dn_0;
7656 uint32_t _ptr_ntds_dn;
7657 TALLOC_CTX *_mem_save_ntds_dn_0;
7658 if (ndr_flags & NDR_SCALARS) {
7659 NDR_CHECK(ndr_pull_align(ndr, 5));
7660 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7661 if (_ptr_netbios_name) {
7662 NDR_PULL_ALLOC(ndr, r->netbios_name);
7664 r->netbios_name = NULL;
7666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7667 if (_ptr_dns_name) {
7668 NDR_PULL_ALLOC(ndr, r->dns_name);
7672 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7673 if (_ptr_site_name) {
7674 NDR_PULL_ALLOC(ndr, r->site_name);
7676 r->site_name = NULL;
7678 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7680 NDR_PULL_ALLOC(ndr, r->site_dn);
7684 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7685 if (_ptr_computer_dn) {
7686 NDR_PULL_ALLOC(ndr, r->computer_dn);
7688 r->computer_dn = NULL;
7690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7691 if (_ptr_server_dn) {
7692 NDR_PULL_ALLOC(ndr, r->server_dn);
7694 r->server_dn = NULL;
7696 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7698 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7703 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7704 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7706 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7707 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7708 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7709 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7710 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7712 if (ndr_flags & NDR_BUFFERS) {
7713 if (r->netbios_name) {
7714 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7715 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7716 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7717 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7718 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7719 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));
7721 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7722 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7726 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7727 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7728 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7729 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7730 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7731 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));
7733 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7734 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7738 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7739 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7740 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7741 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7742 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7743 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));
7745 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7746 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7750 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7751 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7752 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7753 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7754 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7755 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));
7757 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7758 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7761 if (r->computer_dn) {
7762 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7763 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7764 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7765 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7766 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7767 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));
7769 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7770 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7774 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7775 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7776 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7777 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7778 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7779 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));
7781 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7782 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7786 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7787 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7788 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7789 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7790 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7791 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));
7793 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7794 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7798 return NDR_ERR_SUCCESS;
7801 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7803 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7805 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7807 if (r->netbios_name) {
7808 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7811 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7814 ndr_print_string(ndr, "dns_name", r->dns_name);
7817 ndr_print_ptr(ndr, "site_name", r->site_name);
7820 ndr_print_string(ndr, "site_name", r->site_name);
7823 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7826 ndr_print_string(ndr, "site_dn", r->site_dn);
7829 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7831 if (r->computer_dn) {
7832 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7835 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7838 ndr_print_string(ndr, "server_dn", r->server_dn);
7841 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7844 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7847 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7848 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7849 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7850 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7851 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7852 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7853 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7854 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7858 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7860 uint32_t cntr_array_1;
7861 if (ndr_flags & NDR_SCALARS) {
7862 NDR_CHECK(ndr_push_align(ndr, 5));
7863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7864 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7865 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7867 if (ndr_flags & NDR_BUFFERS) {
7869 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7870 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7871 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7873 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7874 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7878 return NDR_ERR_SUCCESS;
7881 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7883 uint32_t _ptr_array;
7884 uint32_t cntr_array_1;
7885 TALLOC_CTX *_mem_save_array_0;
7886 TALLOC_CTX *_mem_save_array_1;
7887 if (ndr_flags & NDR_SCALARS) {
7888 NDR_CHECK(ndr_pull_align(ndr, 5));
7889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7890 if (r->count > 10000) {
7891 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7893 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7895 NDR_PULL_ALLOC(ndr, r->array);
7899 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7901 if (ndr_flags & NDR_BUFFERS) {
7903 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7904 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7905 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7906 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7907 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7908 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7909 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7910 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7912 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7913 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7919 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7922 return NDR_ERR_SUCCESS;
7925 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7927 uint32_t cntr_array_1;
7928 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7930 ndr_print_uint32(ndr, "count", r->count);
7931 ndr_print_ptr(ndr, "array", r->array);
7934 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7936 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7938 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7939 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7949 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7951 if (ndr_flags & NDR_SCALARS) {
7952 NDR_CHECK(ndr_push_align(ndr, 5));
7954 uint32_t _flags_save_ipv4address = ndr->flags;
7955 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7956 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7957 ndr->flags = _flags_save_ipv4address;
7959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7964 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7965 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7967 if (ndr_flags & NDR_BUFFERS) {
7968 if (r->client_account) {
7969 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7970 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7971 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7972 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7975 return NDR_ERR_SUCCESS;
7978 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7980 uint32_t _ptr_client_account;
7981 TALLOC_CTX *_mem_save_client_account_0;
7982 if (ndr_flags & NDR_SCALARS) {
7983 NDR_CHECK(ndr_pull_align(ndr, 5));
7985 uint32_t _flags_save_ipv4address = ndr->flags;
7986 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7987 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7988 ndr->flags = _flags_save_ipv4address;
7990 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7992 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
7996 if (_ptr_client_account) {
7997 NDR_PULL_ALLOC(ndr, r->client_account);
7999 r->client_account = NULL;
8001 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8003 if (ndr_flags & NDR_BUFFERS) {
8004 if (r->client_account) {
8005 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8006 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8007 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8008 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8009 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8010 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));
8012 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8013 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8017 return NDR_ERR_SUCCESS;
8020 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8022 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8024 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8025 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8026 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8027 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8028 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8029 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8030 ndr_print_ptr(ndr, "client_account", r->client_account);
8032 if (r->client_account) {
8033 ndr_print_string(ndr, "client_account", r->client_account);
8039 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8041 uint32_t cntr_array_1;
8042 if (ndr_flags & NDR_SCALARS) {
8043 NDR_CHECK(ndr_push_align(ndr, 5));
8044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8045 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8046 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8048 if (ndr_flags & NDR_BUFFERS) {
8050 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8051 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8052 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8054 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8055 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8059 return NDR_ERR_SUCCESS;
8062 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8064 uint32_t _ptr_array;
8065 uint32_t cntr_array_1;
8066 TALLOC_CTX *_mem_save_array_0;
8067 TALLOC_CTX *_mem_save_array_1;
8068 if (ndr_flags & NDR_SCALARS) {
8069 NDR_CHECK(ndr_pull_align(ndr, 5));
8070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8071 if (r->count > 10000) {
8072 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8074 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8076 NDR_PULL_ALLOC(ndr, r->array);
8080 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8082 if (ndr_flags & NDR_BUFFERS) {
8084 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8085 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8086 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8087 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8088 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8089 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8090 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8091 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8093 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8094 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8100 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8103 return NDR_ERR_SUCCESS;
8106 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8108 uint32_t cntr_array_1;
8109 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8111 ndr_print_uint32(ndr, "count", r->count);
8112 ndr_print_ptr(ndr, "array", r->array);
8115 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8117 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8119 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8120 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8130 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8132 if (ndr_flags & NDR_SCALARS) {
8133 int level = ndr_push_get_switch_value(ndr, r);
8134 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8135 NDR_CHECK(ndr_push_union_align(ndr, 5));
8137 case DRSUAPI_DC_INFO_CTR_1: {
8138 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8141 case DRSUAPI_DC_INFO_CTR_2: {
8142 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8145 case DRSUAPI_DC_INFO_CTR_3: {
8146 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8149 case DRSUAPI_DC_CONNECTION_CTR_01: {
8150 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8154 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8157 if (ndr_flags & NDR_BUFFERS) {
8158 int level = ndr_push_get_switch_value(ndr, r);
8160 case DRSUAPI_DC_INFO_CTR_1:
8161 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8164 case DRSUAPI_DC_INFO_CTR_2:
8165 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8168 case DRSUAPI_DC_INFO_CTR_3:
8169 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8172 case DRSUAPI_DC_CONNECTION_CTR_01:
8173 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8177 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8180 return NDR_ERR_SUCCESS;
8183 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8187 level = ndr_pull_get_switch_value(ndr, r);
8188 if (ndr_flags & NDR_SCALARS) {
8189 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8190 if (_level != level) {
8191 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8193 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8195 case DRSUAPI_DC_INFO_CTR_1: {
8196 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8199 case DRSUAPI_DC_INFO_CTR_2: {
8200 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8203 case DRSUAPI_DC_INFO_CTR_3: {
8204 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8207 case DRSUAPI_DC_CONNECTION_CTR_01: {
8208 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8212 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8215 if (ndr_flags & NDR_BUFFERS) {
8217 case DRSUAPI_DC_INFO_CTR_1:
8218 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8221 case DRSUAPI_DC_INFO_CTR_2:
8222 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8225 case DRSUAPI_DC_INFO_CTR_3:
8226 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8229 case DRSUAPI_DC_CONNECTION_CTR_01:
8230 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8234 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8237 return NDR_ERR_SUCCESS;
8240 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8243 level = ndr_print_get_switch_value(ndr, r);
8244 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8246 case DRSUAPI_DC_INFO_CTR_1:
8247 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8250 case DRSUAPI_DC_INFO_CTR_2:
8251 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8254 case DRSUAPI_DC_INFO_CTR_3:
8255 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8258 case DRSUAPI_DC_CONNECTION_CTR_01:
8259 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8263 ndr_print_bad_level(ndr, name, level);
8267 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8269 if (ndr_flags & NDR_SCALARS) {
8270 NDR_CHECK(ndr_push_align(ndr, 5));
8271 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8272 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8273 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8275 if (ndr_flags & NDR_BUFFERS) {
8276 if (r->next_object) {
8277 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8279 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8281 return NDR_ERR_SUCCESS;
8284 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8286 uint32_t _ptr_next_object;
8287 TALLOC_CTX *_mem_save_next_object_0;
8288 if (ndr_flags & NDR_SCALARS) {
8289 NDR_CHECK(ndr_pull_align(ndr, 5));
8290 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8291 if (_ptr_next_object) {
8292 NDR_PULL_ALLOC(ndr, r->next_object);
8294 r->next_object = NULL;
8296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8297 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8299 if (ndr_flags & NDR_BUFFERS) {
8300 if (r->next_object) {
8301 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8302 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8303 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8306 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8308 return NDR_ERR_SUCCESS;
8311 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8313 if (ndr_flags & NDR_SCALARS) {
8314 NDR_CHECK(ndr_push_align(ndr, 5));
8315 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8316 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8318 if (ndr_flags & NDR_BUFFERS) {
8319 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8321 return NDR_ERR_SUCCESS;
8324 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8326 if (ndr_flags & NDR_SCALARS) {
8327 NDR_CHECK(ndr_pull_align(ndr, 5));
8328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8329 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8331 if (ndr_flags & NDR_BUFFERS) {
8332 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8334 return NDR_ERR_SUCCESS;
8337 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8339 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8341 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8345 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8347 if (ndr_flags & NDR_SCALARS) {
8348 int level = ndr_push_get_switch_value(ndr, r);
8349 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8350 NDR_CHECK(ndr_push_union_align(ndr, 5));
8353 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8357 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8360 if (ndr_flags & NDR_BUFFERS) {
8361 int level = ndr_push_get_switch_value(ndr, r);
8364 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8368 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8371 return NDR_ERR_SUCCESS;
8374 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8378 level = ndr_pull_get_switch_value(ndr, r);
8379 if (ndr_flags & NDR_SCALARS) {
8380 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8381 if (_level != level) {
8382 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8384 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8387 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8391 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8394 if (ndr_flags & NDR_BUFFERS) {
8397 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8401 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8404 return NDR_ERR_SUCCESS;
8407 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8410 level = ndr_print_get_switch_value(ndr, r);
8411 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8414 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8418 ndr_print_bad_level(ndr, name, level);
8422 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8424 if (ndr_flags & NDR_SCALARS) {
8425 NDR_CHECK(ndr_push_align(ndr, 4));
8426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8427 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8429 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8430 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8432 if (ndr_flags & NDR_BUFFERS) {
8434 return NDR_ERR_SUCCESS;
8437 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8439 if (ndr_flags & NDR_SCALARS) {
8440 NDR_CHECK(ndr_pull_align(ndr, 4));
8441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8442 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8444 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8445 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8447 if (ndr_flags & NDR_BUFFERS) {
8449 return NDR_ERR_SUCCESS;
8452 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8454 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8456 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8457 ndr_print_WERROR(ndr, "status", r->status);
8458 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8459 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8463 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8465 if (ndr_flags & NDR_SCALARS) {
8466 NDR_CHECK(ndr_push_align(ndr, 5));
8467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8469 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8471 if (ndr_flags & NDR_BUFFERS) {
8473 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8474 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8477 return NDR_ERR_SUCCESS;
8480 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8483 TALLOC_CTX *_mem_save_data_0;
8484 if (ndr_flags & NDR_SCALARS) {
8485 NDR_CHECK(ndr_pull_align(ndr, 5));
8486 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8487 if (r->size > 10485760) {
8488 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8490 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8492 NDR_PULL_ALLOC(ndr, r->data);
8496 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8498 if (ndr_flags & NDR_BUFFERS) {
8500 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8501 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8502 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8503 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8504 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8508 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8511 return NDR_ERR_SUCCESS;
8514 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8516 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8518 ndr_print_uint32(ndr, "size", r->size);
8519 ndr_print_ptr(ndr, "data", r->data);
8522 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8528 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8530 if (ndr_flags & NDR_SCALARS) {
8531 NDR_CHECK(ndr_push_align(ndr, 5));
8532 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8533 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8535 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8536 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8538 if (ndr_flags & NDR_BUFFERS) {
8539 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8541 return NDR_ERR_SUCCESS;
8544 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8546 if (ndr_flags & NDR_SCALARS) {
8547 NDR_CHECK(ndr_pull_align(ndr, 5));
8548 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8549 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8550 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8551 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8552 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8554 if (ndr_flags & NDR_BUFFERS) {
8555 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8557 return NDR_ERR_SUCCESS;
8560 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8562 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8564 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8565 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8566 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8567 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8571 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8573 if (ndr_flags & NDR_SCALARS) {
8574 NDR_CHECK(ndr_push_align(ndr, 5));
8575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8576 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8577 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8579 if (ndr_flags & NDR_BUFFERS) {
8581 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8583 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8585 return NDR_ERR_SUCCESS;
8588 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8591 TALLOC_CTX *_mem_save_next_0;
8592 if (ndr_flags & NDR_SCALARS) {
8593 NDR_CHECK(ndr_pull_align(ndr, 5));
8594 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8596 NDR_PULL_ALLOC(ndr, r->next);
8600 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8601 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8603 if (ndr_flags & NDR_BUFFERS) {
8605 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8606 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8607 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8608 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8610 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8612 return NDR_ERR_SUCCESS;
8615 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8617 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8619 ndr_print_ptr(ndr, "next", r->next);
8622 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8625 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8629 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8631 if (ndr_flags & NDR_SCALARS) {
8632 NDR_CHECK(ndr_push_align(ndr, 5));
8633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8634 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8635 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8636 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8638 if (ndr_flags & NDR_BUFFERS) {
8640 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8642 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8644 return NDR_ERR_SUCCESS;
8647 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8650 TALLOC_CTX *_mem_save_id_0;
8651 if (ndr_flags & NDR_SCALARS) {
8652 NDR_CHECK(ndr_pull_align(ndr, 5));
8653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8655 NDR_PULL_ALLOC(ndr, r->id);
8659 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8660 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8661 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8663 if (ndr_flags & NDR_BUFFERS) {
8665 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8666 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8667 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8670 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8672 return NDR_ERR_SUCCESS;
8675 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8677 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8679 ndr_print_ptr(ndr, "id", r->id);
8682 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8685 ndr_print_WERROR(ndr, "status", r->status);
8686 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8690 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8692 if (ndr_flags & NDR_SCALARS) {
8693 int level = ndr_push_get_switch_value(ndr, r);
8694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8695 NDR_CHECK(ndr_push_union_align(ndr, 5));
8698 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8702 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8706 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8710 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8714 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8718 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8721 if (ndr_flags & NDR_BUFFERS) {
8722 int level = ndr_push_get_switch_value(ndr, r);
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8741 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8744 return NDR_ERR_SUCCESS;
8747 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8751 level = ndr_pull_get_switch_value(ndr, r);
8752 if (ndr_flags & NDR_SCALARS) {
8753 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8754 if (_level != level) {
8755 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8757 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8760 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8764 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8768 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8772 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8776 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8780 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8783 if (ndr_flags & NDR_BUFFERS) {
8786 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8802 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8805 return NDR_ERR_SUCCESS;
8808 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8811 level = ndr_print_get_switch_value(ndr, r);
8812 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8815 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8819 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8823 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8827 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8831 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8835 ndr_print_bad_level(ndr, name, level);
8839 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8841 if (ndr_flags & NDR_SCALARS) {
8842 NDR_CHECK(ndr_push_align(ndr, 5));
8843 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8845 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8846 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8848 if (ndr_flags & NDR_BUFFERS) {
8850 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8851 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8854 return NDR_ERR_SUCCESS;
8857 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8860 TALLOC_CTX *_mem_save_info_0;
8861 if (ndr_flags & NDR_SCALARS) {
8862 NDR_CHECK(ndr_pull_align(ndr, 5));
8863 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8864 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8865 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8867 NDR_PULL_ALLOC(ndr, r->info);
8871 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8873 if (ndr_flags & NDR_BUFFERS) {
8875 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8876 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8877 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8878 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8882 return NDR_ERR_SUCCESS;
8885 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8887 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8889 ndr_print_WERROR(ndr, "status", r->status);
8890 ndr_print_uint32(ndr, "level", r->level);
8891 ndr_print_ptr(ndr, "info", r->info);
8894 ndr_print_set_switch_value(ndr, r->info, r->level);
8895 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8901 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8903 if (ndr_flags & NDR_SCALARS) {
8904 int level = ndr_push_get_switch_value(ndr, r);
8905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8906 NDR_CHECK(ndr_push_union_align(ndr, 5));
8909 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8913 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8916 if (ndr_flags & NDR_BUFFERS) {
8917 int level = ndr_push_get_switch_value(ndr, r);
8920 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8924 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8927 return NDR_ERR_SUCCESS;
8930 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8934 level = ndr_pull_get_switch_value(ndr, r);
8935 if (ndr_flags & NDR_SCALARS) {
8936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8937 if (_level != level) {
8938 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8940 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8943 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8947 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8950 if (ndr_flags & NDR_BUFFERS) {
8953 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8957 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8960 return NDR_ERR_SUCCESS;
8963 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8966 level = ndr_print_get_switch_value(ndr, r);
8967 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8970 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8974 ndr_print_bad_level(ndr, name, level);
8978 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8980 if (ndr_flags & NDR_SCALARS) {
8981 NDR_CHECK(ndr_push_align(ndr, 4));
8982 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8983 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8984 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8986 if (ndr_flags & NDR_BUFFERS) {
8987 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8989 return NDR_ERR_SUCCESS;
8992 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
8994 if (ndr_flags & NDR_SCALARS) {
8995 NDR_CHECK(ndr_pull_align(ndr, 4));
8996 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8997 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8998 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9000 if (ndr_flags & NDR_BUFFERS) {
9001 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9003 return NDR_ERR_SUCCESS;
9006 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9008 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9010 ndr_print_GUID(ndr, "guid", &r->guid);
9011 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9015 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9017 uint32_t cntr_objects_1;
9018 if (ndr_flags & NDR_SCALARS) {
9019 NDR_CHECK(ndr_push_align(ndr, 5));
9020 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9022 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9025 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9027 if (ndr_flags & NDR_BUFFERS) {
9029 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9032 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9033 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9034 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9036 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9037 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9041 return NDR_ERR_SUCCESS;
9044 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9047 TALLOC_CTX *_mem_save_id_0;
9048 uint32_t _ptr_objects;
9049 uint32_t cntr_objects_1;
9050 TALLOC_CTX *_mem_save_objects_0;
9051 TALLOC_CTX *_mem_save_objects_1;
9052 if (ndr_flags & NDR_SCALARS) {
9053 NDR_CHECK(ndr_pull_align(ndr, 5));
9054 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9056 NDR_PULL_ALLOC(ndr, r->id);
9060 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9061 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9062 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9063 if (r->count > 10000) {
9064 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9068 NDR_PULL_ALLOC(ndr, r->objects);
9072 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9074 if (ndr_flags & NDR_BUFFERS) {
9076 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9077 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9078 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9082 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9083 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9084 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9085 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9086 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9087 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9088 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9089 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9091 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9098 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9101 return NDR_ERR_SUCCESS;
9104 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9106 uint32_t cntr_objects_1;
9107 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9109 ndr_print_ptr(ndr, "id", r->id);
9112 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9115 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9116 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9117 ndr_print_uint32(ndr, "count", r->count);
9118 ndr_print_ptr(ndr, "objects", r->objects);
9121 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9123 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9125 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9126 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9136 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9138 uint32_t cntr_objects_1;
9139 if (ndr_flags & NDR_SCALARS) {
9140 NDR_CHECK(ndr_push_align(ndr, 5));
9141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9143 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9145 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9146 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9148 if (ndr_flags & NDR_BUFFERS) {
9150 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9153 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9154 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9157 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9158 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9159 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9161 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9166 return NDR_ERR_SUCCESS;
9169 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9172 TALLOC_CTX *_mem_save_id_0;
9173 uint32_t _ptr_error;
9174 TALLOC_CTX *_mem_save_error_0;
9175 uint32_t _ptr_objects;
9176 uint32_t cntr_objects_1;
9177 TALLOC_CTX *_mem_save_objects_0;
9178 TALLOC_CTX *_mem_save_objects_1;
9179 if (ndr_flags & NDR_SCALARS) {
9180 NDR_CHECK(ndr_pull_align(ndr, 5));
9181 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9183 NDR_PULL_ALLOC(ndr, r->id);
9187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9190 NDR_PULL_ALLOC(ndr, r->error);
9194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9195 if (r->count > 10000) {
9196 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9200 NDR_PULL_ALLOC(ndr, r->objects);
9204 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9206 if (ndr_flags & NDR_BUFFERS) {
9208 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9209 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9210 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9214 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9215 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9216 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9217 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9218 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9221 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9222 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9223 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9224 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9225 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9226 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9227 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9228 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9230 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9231 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9237 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9240 return NDR_ERR_SUCCESS;
9243 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9245 uint32_t cntr_objects_1;
9246 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9248 ndr_print_ptr(ndr, "id", r->id);
9251 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9254 ndr_print_uint32(ndr, "level", r->level);
9255 ndr_print_ptr(ndr, "error", r->error);
9258 ndr_print_set_switch_value(ndr, r->error, r->level);
9259 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9262 ndr_print_uint32(ndr, "count", r->count);
9263 ndr_print_ptr(ndr, "objects", r->objects);
9266 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9268 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9270 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9271 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9281 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9283 if (ndr_flags & NDR_SCALARS) {
9284 int level = ndr_push_get_switch_value(ndr, r);
9285 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9286 NDR_CHECK(ndr_push_union_align(ndr, 5));
9289 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9293 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9297 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9300 if (ndr_flags & NDR_BUFFERS) {
9301 int level = ndr_push_get_switch_value(ndr, r);
9304 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9308 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9312 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9315 return NDR_ERR_SUCCESS;
9318 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9322 level = ndr_pull_get_switch_value(ndr, r);
9323 if (ndr_flags & NDR_SCALARS) {
9324 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9325 if (_level != level) {
9326 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9328 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9331 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9335 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9339 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9342 if (ndr_flags & NDR_BUFFERS) {
9345 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9349 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9353 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9356 return NDR_ERR_SUCCESS;
9359 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9362 level = ndr_print_get_switch_value(ndr, r);
9363 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9366 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9370 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9374 ndr_print_bad_level(ndr, name, level);
9378 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9381 return NDR_ERR_SUCCESS;
9384 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9387 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9389 return NDR_ERR_SUCCESS;
9392 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9394 ndr_print_uint32(ndr, name, r);
9396 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9397 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9401 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9403 if (ndr_flags & NDR_SCALARS) {
9404 NDR_CHECK(ndr_push_align(ndr, 4));
9405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9406 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9407 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9409 if (ndr_flags & NDR_BUFFERS) {
9411 return NDR_ERR_SUCCESS;
9414 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9416 if (ndr_flags & NDR_SCALARS) {
9417 NDR_CHECK(ndr_pull_align(ndr, 4));
9418 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9419 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9420 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9422 if (ndr_flags & NDR_BUFFERS) {
9424 return NDR_ERR_SUCCESS;
9427 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9429 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9431 ndr_print_uint32(ndr, "taskID", r->taskID);
9432 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9436 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9438 if (ndr_flags & NDR_SCALARS) {
9439 int level = ndr_push_get_switch_value(ndr, r);
9440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9441 NDR_CHECK(ndr_push_union_align(ndr, 4));
9444 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9448 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9451 if (ndr_flags & NDR_BUFFERS) {
9452 int level = ndr_push_get_switch_value(ndr, r);
9458 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9461 return NDR_ERR_SUCCESS;
9464 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9468 level = ndr_pull_get_switch_value(ndr, r);
9469 if (ndr_flags & NDR_SCALARS) {
9470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9471 if (_level != level) {
9472 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9474 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9477 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9481 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9484 if (ndr_flags & NDR_BUFFERS) {
9490 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9493 return NDR_ERR_SUCCESS;
9496 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9499 level = ndr_print_get_switch_value(ndr, r);
9500 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9503 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9507 ndr_print_bad_level(ndr, name, level);
9511 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9513 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9514 return NDR_ERR_SUCCESS;
9517 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9520 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9522 return NDR_ERR_SUCCESS;
9525 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9527 const char *val = NULL;
9530 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9531 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9533 ndr_print_enum(ndr, name, "ENUM", val, r);
9536 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9538 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9539 return NDR_ERR_SUCCESS;
9542 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9545 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9547 return NDR_ERR_SUCCESS;
9550 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9552 const char *val = NULL;
9555 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9556 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9557 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9558 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9559 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9560 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9561 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9562 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9563 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9564 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9565 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9566 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
9567 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
9568 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
9569 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
9571 ndr_print_enum(ndr, name, "ENUM", val, r);
9574 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9576 if (ndr_flags & NDR_SCALARS) {
9577 NDR_CHECK(ndr_push_align(ndr, 5));
9578 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9580 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9581 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9583 if (ndr_flags & NDR_BUFFERS) {
9585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9586 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9587 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9588 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9591 return NDR_ERR_SUCCESS;
9594 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9596 uint32_t _ptr_object_dn;
9597 TALLOC_CTX *_mem_save_object_dn_0;
9598 if (ndr_flags & NDR_SCALARS) {
9599 NDR_CHECK(ndr_pull_align(ndr, 5));
9600 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9601 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9602 if (_ptr_object_dn) {
9603 NDR_PULL_ALLOC(ndr, r->object_dn);
9605 r->object_dn = NULL;
9607 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9608 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9610 if (ndr_flags & NDR_BUFFERS) {
9612 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9613 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9614 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9615 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9616 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9617 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));
9619 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9620 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9624 return NDR_ERR_SUCCESS;
9627 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9629 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9631 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9632 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9635 ndr_print_string(ndr, "object_dn", r->object_dn);
9638 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9642 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9644 if (ndr_flags & NDR_SCALARS) {
9645 NDR_CHECK(ndr_push_align(ndr, 5));
9646 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9647 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9648 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
9650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9651 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
9652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
9653 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9655 if (ndr_flags & NDR_BUFFERS) {
9657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9658 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9659 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9660 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9662 if (r->attribute_name) {
9663 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9664 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9665 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9666 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9668 if (r->value_dn_str) {
9669 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9670 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9671 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9672 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));
9675 return NDR_ERR_SUCCESS;
9678 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9680 uint32_t _ptr_object_dn;
9681 TALLOC_CTX *_mem_save_object_dn_0;
9682 uint32_t _ptr_attribute_name;
9683 TALLOC_CTX *_mem_save_attribute_name_0;
9684 uint32_t _ptr_value_dn_str;
9685 TALLOC_CTX *_mem_save_value_dn_str_0;
9686 if (ndr_flags & NDR_SCALARS) {
9687 NDR_CHECK(ndr_pull_align(ndr, 5));
9688 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9689 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9690 if (_ptr_object_dn) {
9691 NDR_PULL_ALLOC(ndr, r->object_dn);
9693 r->object_dn = NULL;
9695 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9696 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
9697 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9698 if (_ptr_attribute_name) {
9699 NDR_PULL_ALLOC(ndr, r->attribute_name);
9701 r->attribute_name = NULL;
9703 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
9704 if (_ptr_value_dn_str) {
9705 NDR_PULL_ALLOC(ndr, r->value_dn_str);
9707 r->value_dn_str = NULL;
9709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
9710 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9712 if (ndr_flags & NDR_BUFFERS) {
9714 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9715 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9716 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9717 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9718 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9719 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));
9721 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9722 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9725 if (r->attribute_name) {
9726 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9727 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9728 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9729 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9730 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9731 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));
9733 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9734 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9737 if (r->value_dn_str) {
9738 _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
9739 NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
9740 NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
9741 NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
9742 if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) {
9743 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));
9745 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t)));
9746 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));
9747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
9750 return NDR_ERR_SUCCESS;
9753 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9755 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9757 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9758 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9761 ndr_print_string(ndr, "object_dn", r->object_dn);
9764 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9765 ndr_print_uint32(ndr, "flags", r->flags);
9766 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9768 if (r->attribute_name) {
9769 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9772 ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
9774 if (r->value_dn_str) {
9775 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
9778 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
9782 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9784 if (ndr_flags & NDR_SCALARS) {
9785 int level = ndr_push_get_switch_value(ndr, r);
9786 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9787 NDR_CHECK(ndr_push_union_align(ndr, 5));
9789 case DRSUAPI_DS_REPLICA_GET_INFO: {
9790 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9793 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9794 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9798 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9801 if (ndr_flags & NDR_BUFFERS) {
9802 int level = ndr_push_get_switch_value(ndr, r);
9804 case DRSUAPI_DS_REPLICA_GET_INFO:
9805 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9808 case DRSUAPI_DS_REPLICA_GET_INFO2:
9809 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9813 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9816 return NDR_ERR_SUCCESS;
9819 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9823 level = ndr_pull_get_switch_value(ndr, r);
9824 if (ndr_flags & NDR_SCALARS) {
9825 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9826 if (_level != level) {
9827 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9829 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9831 case DRSUAPI_DS_REPLICA_GET_INFO: {
9832 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9835 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9836 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9840 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9843 if (ndr_flags & NDR_BUFFERS) {
9845 case DRSUAPI_DS_REPLICA_GET_INFO:
9846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9849 case DRSUAPI_DS_REPLICA_GET_INFO2:
9850 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9854 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9857 return NDR_ERR_SUCCESS;
9860 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9863 level = ndr_print_get_switch_value(ndr, r);
9864 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9866 case DRSUAPI_DS_REPLICA_GET_INFO:
9867 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9870 case DRSUAPI_DS_REPLICA_GET_INFO2:
9871 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9875 ndr_print_bad_level(ndr, name, level);
9879 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9881 if (ndr_flags & NDR_SCALARS) {
9882 NDR_CHECK(ndr_push_align(ndr, 8));
9883 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9885 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9886 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9887 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
9888 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9889 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9890 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9891 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9892 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9893 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9894 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9895 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9896 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9897 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9899 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9901 if (ndr_flags & NDR_BUFFERS) {
9902 if (r->naming_context_dn) {
9903 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9904 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9905 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9906 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));
9908 if (r->source_dsa_obj_dn) {
9909 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9910 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9911 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9912 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));
9914 if (r->source_dsa_address) {
9915 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9916 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9917 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9918 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));
9920 if (r->transport_obj_dn) {
9921 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9922 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9923 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9924 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));
9927 return NDR_ERR_SUCCESS;
9930 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9932 uint32_t _ptr_naming_context_dn;
9933 TALLOC_CTX *_mem_save_naming_context_dn_0;
9934 uint32_t _ptr_source_dsa_obj_dn;
9935 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9936 uint32_t _ptr_source_dsa_address;
9937 TALLOC_CTX *_mem_save_source_dsa_address_0;
9938 uint32_t _ptr_transport_obj_dn;
9939 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9940 if (ndr_flags & NDR_SCALARS) {
9941 NDR_CHECK(ndr_pull_align(ndr, 8));
9942 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9943 if (_ptr_naming_context_dn) {
9944 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9946 r->naming_context_dn = NULL;
9948 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9949 if (_ptr_source_dsa_obj_dn) {
9950 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9952 r->source_dsa_obj_dn = NULL;
9954 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9955 if (_ptr_source_dsa_address) {
9956 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9958 r->source_dsa_address = NULL;
9960 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9961 if (_ptr_transport_obj_dn) {
9962 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9964 r->transport_obj_dn = NULL;
9966 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
9967 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9968 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9969 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9970 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9971 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9972 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9973 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9974 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9975 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9976 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
9977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
9978 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9980 if (ndr_flags & NDR_BUFFERS) {
9981 if (r->naming_context_dn) {
9982 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9983 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
9984 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
9985 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
9986 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
9987 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));
9989 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
9990 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));
9991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
9993 if (r->source_dsa_obj_dn) {
9994 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9995 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
9996 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
9997 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
9998 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
9999 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));
10001 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10002 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));
10003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10005 if (r->source_dsa_address) {
10006 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10007 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10008 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10009 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10010 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10011 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));
10013 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10014 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));
10015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10017 if (r->transport_obj_dn) {
10018 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10019 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10020 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10021 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10022 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10023 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));
10025 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10026 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));
10027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10030 return NDR_ERR_SUCCESS;
10033 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10035 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10037 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10039 if (r->naming_context_dn) {
10040 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10043 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10045 if (r->source_dsa_obj_dn) {
10046 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10049 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10051 if (r->source_dsa_address) {
10052 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10055 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10057 if (r->transport_obj_dn) {
10058 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10061 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
10062 ndr_print_uint32(ndr, "reserved", r->reserved);
10063 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10064 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10065 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10066 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10067 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10068 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10069 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10070 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10071 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10072 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10076 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10078 uint32_t cntr_array_0;
10079 if (ndr_flags & NDR_SCALARS) {
10080 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10081 NDR_CHECK(ndr_push_align(ndr, 8));
10082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10084 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10085 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10087 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10089 if (ndr_flags & NDR_BUFFERS) {
10090 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10091 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10094 return NDR_ERR_SUCCESS;
10097 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10099 uint32_t cntr_array_0;
10100 TALLOC_CTX *_mem_save_array_0;
10101 if (ndr_flags & NDR_SCALARS) {
10102 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10103 NDR_CHECK(ndr_pull_align(ndr, 8));
10104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10105 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10106 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10107 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10108 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10109 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10110 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10114 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10116 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10118 if (ndr_flags & NDR_BUFFERS) {
10119 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10120 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10121 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10122 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10126 return NDR_ERR_SUCCESS;
10129 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10131 uint32_t cntr_array_0;
10132 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10134 ndr_print_uint32(ndr, "count", r->count);
10135 ndr_print_uint32(ndr, "reserved", r->reserved);
10136 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10138 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10140 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10141 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10149 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10151 uint32_t cntr_array_0;
10152 if (ndr_flags & NDR_SCALARS) {
10153 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10154 NDR_CHECK(ndr_push_align(ndr, 8));
10155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10157 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10158 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10160 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10162 if (ndr_flags & NDR_BUFFERS) {
10164 return NDR_ERR_SUCCESS;
10167 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10169 uint32_t cntr_array_0;
10170 TALLOC_CTX *_mem_save_array_0;
10171 if (ndr_flags & NDR_SCALARS) {
10172 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10173 NDR_CHECK(ndr_pull_align(ndr, 8));
10174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10176 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10177 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10178 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10179 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10180 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10184 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10186 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10188 if (ndr_flags & NDR_BUFFERS) {
10190 return NDR_ERR_SUCCESS;
10193 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10195 uint32_t cntr_array_0;
10196 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10198 ndr_print_uint32(ndr, "count", r->count);
10199 ndr_print_uint32(ndr, "reserved", r->reserved);
10200 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10202 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10204 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10205 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10213 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10215 if (ndr_flags & NDR_SCALARS) {
10216 NDR_CHECK(ndr_push_align(ndr, 8));
10217 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10219 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10220 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10221 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10222 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10223 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10225 if (ndr_flags & NDR_BUFFERS) {
10226 if (r->attribute_name) {
10227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10228 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10230 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10233 return NDR_ERR_SUCCESS;
10236 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10238 uint32_t _ptr_attribute_name;
10239 TALLOC_CTX *_mem_save_attribute_name_0;
10240 if (ndr_flags & NDR_SCALARS) {
10241 NDR_CHECK(ndr_pull_align(ndr, 8));
10242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10243 if (_ptr_attribute_name) {
10244 NDR_PULL_ALLOC(ndr, r->attribute_name);
10246 r->attribute_name = NULL;
10248 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10249 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10250 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10251 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10252 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10253 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10255 if (ndr_flags & NDR_BUFFERS) {
10256 if (r->attribute_name) {
10257 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10258 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10259 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10260 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10261 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10262 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));
10264 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10265 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10269 return NDR_ERR_SUCCESS;
10272 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10274 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10276 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10278 if (r->attribute_name) {
10279 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10282 ndr_print_uint32(ndr, "version", r->version);
10283 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10284 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10285 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10286 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10290 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10292 uint32_t cntr_array_0;
10293 if (ndr_flags & NDR_SCALARS) {
10294 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10295 NDR_CHECK(ndr_push_align(ndr, 8));
10296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10298 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10301 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10303 if (ndr_flags & NDR_BUFFERS) {
10304 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10305 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10308 return NDR_ERR_SUCCESS;
10311 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10313 uint32_t cntr_array_0;
10314 TALLOC_CTX *_mem_save_array_0;
10315 if (ndr_flags & NDR_SCALARS) {
10316 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10317 NDR_CHECK(ndr_pull_align(ndr, 8));
10318 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10320 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10321 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10322 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10323 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10324 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10328 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10330 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10332 if (ndr_flags & NDR_BUFFERS) {
10333 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10334 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10335 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10336 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10340 return NDR_ERR_SUCCESS;
10343 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10345 uint32_t cntr_array_0;
10346 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10348 ndr_print_uint32(ndr, "count", r->count);
10349 ndr_print_uint32(ndr, "reserved", r->reserved);
10350 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10352 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10354 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10355 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10363 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10365 if (ndr_flags & NDR_SCALARS) {
10366 NDR_CHECK(ndr_push_align(ndr, 5));
10367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10368 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10369 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10371 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10372 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10374 if (ndr_flags & NDR_BUFFERS) {
10375 if (r->dsa_obj_dn) {
10376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10377 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10378 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10379 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));
10382 return NDR_ERR_SUCCESS;
10385 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10387 uint32_t _ptr_dsa_obj_dn;
10388 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10389 if (ndr_flags & NDR_SCALARS) {
10390 NDR_CHECK(ndr_pull_align(ndr, 5));
10391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10392 if (_ptr_dsa_obj_dn) {
10393 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10395 r->dsa_obj_dn = NULL;
10397 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10398 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10399 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10400 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10401 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10403 if (ndr_flags & NDR_BUFFERS) {
10404 if (r->dsa_obj_dn) {
10405 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10406 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10407 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10408 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10409 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10410 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));
10412 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10413 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));
10414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10417 return NDR_ERR_SUCCESS;
10420 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10422 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10424 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10426 if (r->dsa_obj_dn) {
10427 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10430 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10431 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10432 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10433 ndr_print_WERROR(ndr, "last_result", r->last_result);
10437 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10439 uint32_t cntr_array_0;
10440 if (ndr_flags & NDR_SCALARS) {
10441 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10442 NDR_CHECK(ndr_push_align(ndr, 5));
10443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10445 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10446 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10448 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10450 if (ndr_flags & NDR_BUFFERS) {
10451 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10452 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10455 return NDR_ERR_SUCCESS;
10458 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10460 uint32_t cntr_array_0;
10461 TALLOC_CTX *_mem_save_array_0;
10462 if (ndr_flags & NDR_SCALARS) {
10463 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10464 NDR_CHECK(ndr_pull_align(ndr, 5));
10465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10467 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10468 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10469 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10470 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10471 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10475 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10477 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10479 if (ndr_flags & NDR_BUFFERS) {
10480 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10481 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10482 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10483 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10487 return NDR_ERR_SUCCESS;
10490 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10492 uint32_t cntr_array_0;
10493 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10495 ndr_print_uint32(ndr, "count", r->count);
10496 ndr_print_uint32(ndr, "reserved", r->reserved);
10497 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10499 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10501 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10502 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10510 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10512 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10513 return NDR_ERR_SUCCESS;
10516 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10519 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10521 return NDR_ERR_SUCCESS;
10524 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10526 const char *val = NULL;
10529 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10530 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10531 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10532 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10533 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10535 ndr_print_enum(ndr, name, "ENUM", val, r);
10538 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10540 if (ndr_flags & NDR_SCALARS) {
10541 NDR_CHECK(ndr_push_align(ndr, 5));
10542 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10545 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10546 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
10547 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10548 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10550 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10551 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10552 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10554 if (ndr_flags & NDR_BUFFERS) {
10556 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10557 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10558 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10559 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10561 if (r->remote_dsa_obj_dn) {
10562 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10563 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10564 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10565 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));
10567 if (r->remote_dsa_address) {
10568 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10569 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10570 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10571 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));
10574 return NDR_ERR_SUCCESS;
10577 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10579 uint32_t _ptr_nc_dn;
10580 TALLOC_CTX *_mem_save_nc_dn_0;
10581 uint32_t _ptr_remote_dsa_obj_dn;
10582 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10583 uint32_t _ptr_remote_dsa_address;
10584 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10585 if (ndr_flags & NDR_SCALARS) {
10586 NDR_CHECK(ndr_pull_align(ndr, 5));
10587 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10588 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10590 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10591 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
10592 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10594 NDR_PULL_ALLOC(ndr, r->nc_dn);
10598 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10599 if (_ptr_remote_dsa_obj_dn) {
10600 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10602 r->remote_dsa_obj_dn = NULL;
10604 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10605 if (_ptr_remote_dsa_address) {
10606 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10608 r->remote_dsa_address = NULL;
10610 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10611 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10612 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10614 if (ndr_flags & NDR_BUFFERS) {
10616 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10617 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10618 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10619 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10620 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10621 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));
10623 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10624 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10625 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10627 if (r->remote_dsa_obj_dn) {
10628 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10629 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10630 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10631 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10632 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10633 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));
10635 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10636 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));
10637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10639 if (r->remote_dsa_address) {
10640 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10641 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10642 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10643 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10644 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10645 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));
10647 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10648 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));
10649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10652 return NDR_ERR_SUCCESS;
10655 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10657 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10659 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10660 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10661 ndr_print_uint32(ndr, "priority", r->priority);
10662 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10663 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
10664 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10667 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10670 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10672 if (r->remote_dsa_obj_dn) {
10673 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10676 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10678 if (r->remote_dsa_address) {
10679 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10682 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10683 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10687 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10689 uint32_t cntr_array_0;
10690 if (ndr_flags & NDR_SCALARS) {
10691 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10692 NDR_CHECK(ndr_push_align(ndr, 5));
10693 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10695 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10696 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10698 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10700 if (ndr_flags & NDR_BUFFERS) {
10701 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10702 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10705 return NDR_ERR_SUCCESS;
10708 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10710 uint32_t cntr_array_0;
10711 TALLOC_CTX *_mem_save_array_0;
10712 if (ndr_flags & NDR_SCALARS) {
10713 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10714 NDR_CHECK(ndr_pull_align(ndr, 5));
10715 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10716 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10717 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10718 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10719 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10720 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10721 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10725 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10727 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10729 if (ndr_flags & NDR_BUFFERS) {
10730 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10731 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10732 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10737 return NDR_ERR_SUCCESS;
10740 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10742 uint32_t cntr_array_0;
10743 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10745 ndr_print_NTTIME(ndr, "time", r->time);
10746 ndr_print_uint32(ndr, "count", r->count);
10747 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10749 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10751 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10752 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10760 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10762 if (ndr_flags & NDR_SCALARS) {
10763 NDR_CHECK(ndr_push_align(ndr, 8));
10764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10765 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10768 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10769 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10771 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10772 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10773 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10774 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10775 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10777 if (ndr_flags & NDR_BUFFERS) {
10778 if (r->attribute_name) {
10779 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10780 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10782 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10784 if (r->object_dn) {
10785 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10786 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10787 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10788 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10791 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10794 return NDR_ERR_SUCCESS;
10797 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10799 uint32_t _ptr_attribute_name;
10800 TALLOC_CTX *_mem_save_attribute_name_0;
10801 uint32_t _ptr_object_dn;
10802 TALLOC_CTX *_mem_save_object_dn_0;
10803 uint32_t _ptr_binary;
10804 TALLOC_CTX *_mem_save_binary_0;
10805 if (ndr_flags & NDR_SCALARS) {
10806 NDR_CHECK(ndr_pull_align(ndr, 8));
10807 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10808 if (_ptr_attribute_name) {
10809 NDR_PULL_ALLOC(ndr, r->attribute_name);
10811 r->attribute_name = NULL;
10813 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10814 if (_ptr_object_dn) {
10815 NDR_PULL_ALLOC(ndr, r->object_dn);
10817 r->object_dn = NULL;
10819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10820 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10822 NDR_PULL_ALLOC(ndr, r->binary);
10826 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10827 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10829 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10830 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10831 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10832 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10833 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10835 if (ndr_flags & NDR_BUFFERS) {
10836 if (r->attribute_name) {
10837 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10838 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10839 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10840 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10841 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10842 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));
10844 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10845 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10848 if (r->object_dn) {
10849 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10850 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10851 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10852 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10853 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10854 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));
10856 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10857 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10861 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10862 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10863 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10867 return NDR_ERR_SUCCESS;
10870 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10872 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10874 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10876 if (r->attribute_name) {
10877 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10880 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10882 if (r->object_dn) {
10883 ndr_print_string(ndr, "object_dn", r->object_dn);
10886 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);
10887 ndr_print_ptr(ndr, "binary", r->binary);
10890 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10893 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10894 ndr_print_NTTIME(ndr, "created", r->created);
10895 ndr_print_uint32(ndr, "version", r->version);
10896 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10897 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10898 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10899 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10903 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10905 uint32_t cntr_array_0;
10906 if (ndr_flags & NDR_SCALARS) {
10907 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10908 NDR_CHECK(ndr_push_align(ndr, 8));
10909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10911 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10912 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10914 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10916 if (ndr_flags & NDR_BUFFERS) {
10917 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10918 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10921 return NDR_ERR_SUCCESS;
10924 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10926 uint32_t cntr_array_0;
10927 TALLOC_CTX *_mem_save_array_0;
10928 if (ndr_flags & NDR_SCALARS) {
10929 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10930 NDR_CHECK(ndr_pull_align(ndr, 8));
10931 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10932 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10933 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10934 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10935 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10936 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10937 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10941 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10943 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10945 if (ndr_flags & NDR_BUFFERS) {
10946 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10947 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10948 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10949 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10953 return NDR_ERR_SUCCESS;
10956 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10958 uint32_t cntr_array_0;
10959 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10961 ndr_print_uint32(ndr, "count", r->count);
10962 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10963 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10965 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10967 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10968 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10976 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
10978 uint32_t cntr_array_0;
10979 if (ndr_flags & NDR_SCALARS) {
10980 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10981 NDR_CHECK(ndr_push_align(ndr, 8));
10982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10984 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10985 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10987 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10989 if (ndr_flags & NDR_BUFFERS) {
10991 return NDR_ERR_SUCCESS;
10994 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
10996 uint32_t cntr_array_0;
10997 TALLOC_CTX *_mem_save_array_0;
10998 if (ndr_flags & NDR_SCALARS) {
10999 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11000 NDR_CHECK(ndr_pull_align(ndr, 8));
11001 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11002 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11003 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11004 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11005 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11006 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11011 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11013 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11015 if (ndr_flags & NDR_BUFFERS) {
11017 return NDR_ERR_SUCCESS;
11020 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11022 uint32_t cntr_array_0;
11023 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11025 ndr_print_uint32(ndr, "count", r->count);
11026 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11027 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11029 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11031 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11032 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11040 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11042 if (ndr_flags & NDR_SCALARS) {
11043 NDR_CHECK(ndr_push_align(ndr, 8));
11044 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11045 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11046 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11047 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11048 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11050 if (ndr_flags & NDR_BUFFERS) {
11051 if (r->source_dsa_obj_dn) {
11052 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11053 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11055 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));
11058 return NDR_ERR_SUCCESS;
11061 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11063 uint32_t _ptr_source_dsa_obj_dn;
11064 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11065 if (ndr_flags & NDR_SCALARS) {
11066 NDR_CHECK(ndr_pull_align(ndr, 8));
11067 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11068 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11069 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11070 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11071 if (_ptr_source_dsa_obj_dn) {
11072 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11074 r->source_dsa_obj_dn = NULL;
11076 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11078 if (ndr_flags & NDR_BUFFERS) {
11079 if (r->source_dsa_obj_dn) {
11080 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11081 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11082 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11083 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11084 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11085 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));
11087 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11088 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));
11089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11092 return NDR_ERR_SUCCESS;
11095 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11097 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11099 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11100 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11101 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11102 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11104 if (r->source_dsa_obj_dn) {
11105 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11111 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11113 uint32_t cntr_array_0;
11114 if (ndr_flags & NDR_SCALARS) {
11115 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11116 NDR_CHECK(ndr_push_align(ndr, 8));
11117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11119 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11120 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11122 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11124 if (ndr_flags & NDR_BUFFERS) {
11125 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11126 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11129 return NDR_ERR_SUCCESS;
11132 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11134 uint32_t cntr_array_0;
11135 TALLOC_CTX *_mem_save_array_0;
11136 if (ndr_flags & NDR_SCALARS) {
11137 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11138 NDR_CHECK(ndr_pull_align(ndr, 8));
11139 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11141 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11142 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11143 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11144 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11145 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11149 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11151 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11153 if (ndr_flags & NDR_BUFFERS) {
11154 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11156 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11157 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11161 return NDR_ERR_SUCCESS;
11164 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11166 uint32_t cntr_array_0;
11167 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11169 ndr_print_uint32(ndr, "count", r->count);
11170 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11171 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11173 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11175 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11176 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11184 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11186 if (ndr_flags & NDR_SCALARS) {
11187 NDR_CHECK(ndr_push_align(ndr, 8));
11188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11190 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11191 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11192 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11193 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11194 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11195 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11197 if (ndr_flags & NDR_BUFFERS) {
11198 if (r->attribute_name) {
11199 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11200 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11201 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11202 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11204 if (r->originating_dsa_dn) {
11205 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11206 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11207 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11208 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));
11211 return NDR_ERR_SUCCESS;
11214 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11216 uint32_t _ptr_attribute_name;
11217 TALLOC_CTX *_mem_save_attribute_name_0;
11218 uint32_t _ptr_originating_dsa_dn;
11219 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11220 if (ndr_flags & NDR_SCALARS) {
11221 NDR_CHECK(ndr_pull_align(ndr, 8));
11222 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11223 if (_ptr_attribute_name) {
11224 NDR_PULL_ALLOC(ndr, r->attribute_name);
11226 r->attribute_name = NULL;
11228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11229 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11230 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11231 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11232 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11234 if (_ptr_originating_dsa_dn) {
11235 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11237 r->originating_dsa_dn = NULL;
11239 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11241 if (ndr_flags & NDR_BUFFERS) {
11242 if (r->attribute_name) {
11243 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11244 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11245 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11246 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11247 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11248 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));
11250 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11251 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11254 if (r->originating_dsa_dn) {
11255 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11256 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11257 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11258 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11259 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11260 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));
11262 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11263 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));
11264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11267 return NDR_ERR_SUCCESS;
11270 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11272 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11274 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11276 if (r->attribute_name) {
11277 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11280 ndr_print_uint32(ndr, "version", r->version);
11281 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11282 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11283 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11284 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11285 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11287 if (r->originating_dsa_dn) {
11288 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11294 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11296 uint32_t cntr_array_0;
11297 if (ndr_flags & NDR_SCALARS) {
11298 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11299 NDR_CHECK(ndr_push_align(ndr, 8));
11300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11301 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11302 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11303 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11305 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11307 if (ndr_flags & NDR_BUFFERS) {
11308 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11309 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11312 return NDR_ERR_SUCCESS;
11315 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11317 uint32_t cntr_array_0;
11318 TALLOC_CTX *_mem_save_array_0;
11319 if (ndr_flags & NDR_SCALARS) {
11320 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11321 NDR_CHECK(ndr_pull_align(ndr, 8));
11322 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11323 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11324 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11325 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11326 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11327 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11332 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11334 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11336 if (ndr_flags & NDR_BUFFERS) {
11337 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11338 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11339 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11340 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11344 return NDR_ERR_SUCCESS;
11347 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11349 uint32_t cntr_array_0;
11350 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11352 ndr_print_uint32(ndr, "count", r->count);
11353 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11354 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11356 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11358 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11359 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11367 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11369 if (ndr_flags & NDR_SCALARS) {
11370 NDR_CHECK(ndr_push_align(ndr, 8));
11371 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11372 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11375 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11376 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11378 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11379 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11380 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11381 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11382 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11383 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11385 if (ndr_flags & NDR_BUFFERS) {
11386 if (r->attribute_name) {
11387 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11388 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11389 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11390 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11392 if (r->object_dn) {
11393 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11394 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11395 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11396 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11399 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11401 if (r->originating_dsa_dn) {
11402 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11403 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11404 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11405 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));
11408 return NDR_ERR_SUCCESS;
11411 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11413 uint32_t _ptr_attribute_name;
11414 TALLOC_CTX *_mem_save_attribute_name_0;
11415 uint32_t _ptr_object_dn;
11416 TALLOC_CTX *_mem_save_object_dn_0;
11417 uint32_t _ptr_binary;
11418 TALLOC_CTX *_mem_save_binary_0;
11419 uint32_t _ptr_originating_dsa_dn;
11420 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11421 if (ndr_flags & NDR_SCALARS) {
11422 NDR_CHECK(ndr_pull_align(ndr, 8));
11423 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11424 if (_ptr_attribute_name) {
11425 NDR_PULL_ALLOC(ndr, r->attribute_name);
11427 r->attribute_name = NULL;
11429 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11430 if (_ptr_object_dn) {
11431 NDR_PULL_ALLOC(ndr, r->object_dn);
11433 r->object_dn = NULL;
11435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11436 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11438 NDR_PULL_ALLOC(ndr, r->binary);
11442 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11443 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11445 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11446 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11447 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11448 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11449 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11450 if (_ptr_originating_dsa_dn) {
11451 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11453 r->originating_dsa_dn = NULL;
11455 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11457 if (ndr_flags & NDR_BUFFERS) {
11458 if (r->attribute_name) {
11459 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11460 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11461 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11462 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11463 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11464 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));
11466 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11467 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11470 if (r->object_dn) {
11471 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11472 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11473 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11474 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11475 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11476 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));
11478 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11479 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11483 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11484 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11485 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11488 if (r->originating_dsa_dn) {
11489 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11490 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11491 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11492 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11493 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11494 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));
11496 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11497 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));
11498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11501 return NDR_ERR_SUCCESS;
11504 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11506 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11508 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11510 if (r->attribute_name) {
11511 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11514 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11516 if (r->object_dn) {
11517 ndr_print_string(ndr, "object_dn", r->object_dn);
11520 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);
11521 ndr_print_ptr(ndr, "binary", r->binary);
11524 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11527 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11528 ndr_print_NTTIME(ndr, "created", r->created);
11529 ndr_print_uint32(ndr, "version", r->version);
11530 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11531 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11532 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11533 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11534 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11536 if (r->originating_dsa_dn) {
11537 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11543 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11545 uint32_t cntr_array_0;
11546 if (ndr_flags & NDR_SCALARS) {
11547 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11548 NDR_CHECK(ndr_push_align(ndr, 8));
11549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11551 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11552 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11554 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11556 if (ndr_flags & NDR_BUFFERS) {
11557 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11558 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11561 return NDR_ERR_SUCCESS;
11564 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11566 uint32_t cntr_array_0;
11567 TALLOC_CTX *_mem_save_array_0;
11568 if (ndr_flags & NDR_SCALARS) {
11569 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11570 NDR_CHECK(ndr_pull_align(ndr, 8));
11571 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11573 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11574 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11575 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11576 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11577 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11581 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11583 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11585 if (ndr_flags & NDR_BUFFERS) {
11586 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11587 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11588 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11589 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11593 return NDR_ERR_SUCCESS;
11596 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11598 uint32_t cntr_array_0;
11599 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11601 ndr_print_uint32(ndr, "count", r->count);
11602 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11603 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11605 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11607 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11608 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11616 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11618 if (ndr_flags & NDR_SCALARS) {
11619 NDR_CHECK(ndr_push_align(ndr, 8));
11620 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11621 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11623 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11624 NDR_CHECK(ndr_push_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_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11629 ndr->flags = _flags_save_ipv4address;
11631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11632 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11634 if (ndr_flags & NDR_BUFFERS) {
11636 return NDR_ERR_SUCCESS;
11639 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11641 if (ndr_flags & NDR_SCALARS) {
11642 NDR_CHECK(ndr_pull_align(ndr, 8));
11643 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11644 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11645 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11646 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11647 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11649 uint32_t _flags_save_ipv4address = ndr->flags;
11650 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11651 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11652 ndr->flags = _flags_save_ipv4address;
11654 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11655 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11657 if (ndr_flags & NDR_BUFFERS) {
11659 return NDR_ERR_SUCCESS;
11662 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11664 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11666 ndr_print_hyper(ndr, "u1", r->u1);
11667 ndr_print_uint32(ndr, "u2", r->u2);
11668 ndr_print_uint32(ndr, "u3", r->u3);
11669 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11670 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11671 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11672 ndr_print_uint32(ndr, "u5", r->u5);
11676 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11678 uint32_t cntr_array_0;
11679 if (ndr_flags & NDR_SCALARS) {
11680 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11681 NDR_CHECK(ndr_push_align(ndr, 8));
11682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11684 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11685 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11687 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11689 if (ndr_flags & NDR_BUFFERS) {
11691 return NDR_ERR_SUCCESS;
11694 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11696 uint32_t cntr_array_0;
11697 TALLOC_CTX *_mem_save_array_0;
11698 if (ndr_flags & NDR_SCALARS) {
11699 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11700 NDR_CHECK(ndr_pull_align(ndr, 8));
11701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11702 if (r->count > 10000) {
11703 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11706 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11707 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11708 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11709 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11714 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11716 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11718 if (ndr_flags & NDR_BUFFERS) {
11720 return NDR_ERR_SUCCESS;
11723 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11725 uint32_t cntr_array_0;
11726 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11728 ndr_print_uint32(ndr, "count", r->count);
11729 ndr_print_uint32(ndr, "reserved", r->reserved);
11730 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11732 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11734 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11735 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11743 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11745 if (ndr_flags & NDR_SCALARS) {
11746 NDR_CHECK(ndr_push_align(ndr, 8));
11747 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11753 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11755 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11757 if (ndr_flags & NDR_BUFFERS) {
11759 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11760 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11761 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11762 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11765 return NDR_ERR_SUCCESS;
11768 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11770 uint32_t _ptr_str1;
11771 TALLOC_CTX *_mem_save_str1_0;
11772 if (ndr_flags & NDR_SCALARS) {
11773 NDR_CHECK(ndr_pull_align(ndr, 8));
11774 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11776 NDR_PULL_ALLOC(ndr, r->str1);
11780 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11781 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11782 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11785 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11786 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11787 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11789 if (ndr_flags & NDR_BUFFERS) {
11791 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11792 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11793 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11794 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11795 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
11796 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));
11798 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
11799 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
11800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11803 return NDR_ERR_SUCCESS;
11806 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11808 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11810 ndr_print_ptr(ndr, "str1", r->str1);
11813 ndr_print_string(ndr, "str1", r->str1);
11816 ndr_print_uint32(ndr, "u1", r->u1);
11817 ndr_print_uint32(ndr, "u2", r->u2);
11818 ndr_print_uint32(ndr, "u3", r->u3);
11819 ndr_print_uint32(ndr, "u4", r->u4);
11820 ndr_print_uint32(ndr, "u5", r->u5);
11821 ndr_print_hyper(ndr, "u6", r->u6);
11822 ndr_print_uint32(ndr, "u7", r->u7);
11826 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11828 uint32_t cntr_array_0;
11829 if (ndr_flags & NDR_SCALARS) {
11830 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11831 NDR_CHECK(ndr_push_align(ndr, 8));
11832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11834 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11835 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11837 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11839 if (ndr_flags & NDR_BUFFERS) {
11840 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11841 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11844 return NDR_ERR_SUCCESS;
11847 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11849 uint32_t cntr_array_0;
11850 TALLOC_CTX *_mem_save_array_0;
11851 if (ndr_flags & NDR_SCALARS) {
11852 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11853 NDR_CHECK(ndr_pull_align(ndr, 8));
11854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11855 if (r->count > 256) {
11856 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11859 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11860 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11861 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11862 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11863 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11867 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11869 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11871 if (ndr_flags & NDR_BUFFERS) {
11872 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11873 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11874 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11875 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11879 return NDR_ERR_SUCCESS;
11882 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11884 uint32_t cntr_array_0;
11885 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11887 ndr_print_uint32(ndr, "count", r->count);
11888 ndr_print_uint32(ndr, "reserved", r->reserved);
11889 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11891 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11893 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11894 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11902 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11904 if (ndr_flags & NDR_SCALARS) {
11905 int level = ndr_push_get_switch_value(ndr, r);
11906 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11907 NDR_CHECK(ndr_push_union_align(ndr, 5));
11909 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11910 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11913 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11914 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11917 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11921 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11925 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11926 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11929 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11930 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11933 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11934 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11937 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11941 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11942 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11945 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11949 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11950 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11953 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
11954 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
11957 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
11958 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
11961 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
11962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
11965 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
11966 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
11970 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11973 if (ndr_flags & NDR_BUFFERS) {
11974 int level = ndr_push_get_switch_value(ndr, r);
11976 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11977 if (r->neighbours) {
11978 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11982 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11984 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11988 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11989 if (r->objmetadata) {
11990 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11994 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11995 if (r->connectfailures) {
11996 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12000 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12001 if (r->linkfailures) {
12002 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12006 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12007 if (r->pendingops) {
12008 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12012 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12013 if (r->attrvalmetadata) {
12014 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12018 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12020 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12024 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12026 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12030 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12031 if (r->objmetadata2) {
12032 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12036 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12037 if (r->attrvalmetadata2) {
12038 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12042 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12044 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12048 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12049 if (r->clientctx) {
12050 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12054 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12056 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12060 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12061 if (r->srvoutgoingcalls) {
12062 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12067 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12070 return NDR_ERR_SUCCESS;
12073 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12077 TALLOC_CTX *_mem_save_neighbours_0;
12078 TALLOC_CTX *_mem_save_cursors_0;
12079 TALLOC_CTX *_mem_save_objmetadata_0;
12080 TALLOC_CTX *_mem_save_connectfailures_0;
12081 TALLOC_CTX *_mem_save_linkfailures_0;
12082 TALLOC_CTX *_mem_save_pendingops_0;
12083 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12084 TALLOC_CTX *_mem_save_cursors2_0;
12085 TALLOC_CTX *_mem_save_cursors3_0;
12086 TALLOC_CTX *_mem_save_objmetadata2_0;
12087 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12088 TALLOC_CTX *_mem_save_repsto_0;
12089 TALLOC_CTX *_mem_save_clientctx_0;
12090 TALLOC_CTX *_mem_save_udv1_0;
12091 TALLOC_CTX *_mem_save_srvoutgoingcalls_0;
12092 level = ndr_pull_get_switch_value(ndr, r);
12093 if (ndr_flags & NDR_SCALARS) {
12094 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12095 if (_level != level) {
12096 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12098 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12100 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12101 uint32_t _ptr_neighbours;
12102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12103 if (_ptr_neighbours) {
12104 NDR_PULL_ALLOC(ndr, r->neighbours);
12106 r->neighbours = NULL;
12110 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12111 uint32_t _ptr_cursors;
12112 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12113 if (_ptr_cursors) {
12114 NDR_PULL_ALLOC(ndr, r->cursors);
12120 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12121 uint32_t _ptr_objmetadata;
12122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12123 if (_ptr_objmetadata) {
12124 NDR_PULL_ALLOC(ndr, r->objmetadata);
12126 r->objmetadata = NULL;
12130 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12131 uint32_t _ptr_connectfailures;
12132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12133 if (_ptr_connectfailures) {
12134 NDR_PULL_ALLOC(ndr, r->connectfailures);
12136 r->connectfailures = NULL;
12140 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12141 uint32_t _ptr_linkfailures;
12142 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12143 if (_ptr_linkfailures) {
12144 NDR_PULL_ALLOC(ndr, r->linkfailures);
12146 r->linkfailures = NULL;
12150 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12151 uint32_t _ptr_pendingops;
12152 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12153 if (_ptr_pendingops) {
12154 NDR_PULL_ALLOC(ndr, r->pendingops);
12156 r->pendingops = NULL;
12160 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12161 uint32_t _ptr_attrvalmetadata;
12162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12163 if (_ptr_attrvalmetadata) {
12164 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12166 r->attrvalmetadata = NULL;
12170 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12171 uint32_t _ptr_cursors2;
12172 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12173 if (_ptr_cursors2) {
12174 NDR_PULL_ALLOC(ndr, r->cursors2);
12176 r->cursors2 = NULL;
12180 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12181 uint32_t _ptr_cursors3;
12182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12183 if (_ptr_cursors3) {
12184 NDR_PULL_ALLOC(ndr, r->cursors3);
12186 r->cursors3 = NULL;
12190 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12191 uint32_t _ptr_objmetadata2;
12192 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12193 if (_ptr_objmetadata2) {
12194 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12196 r->objmetadata2 = NULL;
12200 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12201 uint32_t _ptr_attrvalmetadata2;
12202 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12203 if (_ptr_attrvalmetadata2) {
12204 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12206 r->attrvalmetadata2 = NULL;
12210 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
12211 uint32_t _ptr_repsto;
12212 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
12214 NDR_PULL_ALLOC(ndr, r->repsto);
12220 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
12221 uint32_t _ptr_clientctx;
12222 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
12223 if (_ptr_clientctx) {
12224 NDR_PULL_ALLOC(ndr, r->clientctx);
12226 r->clientctx = NULL;
12230 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
12231 uint32_t _ptr_udv1;
12232 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
12234 NDR_PULL_ALLOC(ndr, r->udv1);
12240 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
12241 uint32_t _ptr_srvoutgoingcalls;
12242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
12243 if (_ptr_srvoutgoingcalls) {
12244 NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
12246 r->srvoutgoingcalls = NULL;
12251 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12254 if (ndr_flags & NDR_BUFFERS) {
12256 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12257 if (r->neighbours) {
12258 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12259 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12260 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12265 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12267 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12268 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12269 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12274 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12275 if (r->objmetadata) {
12276 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12277 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12278 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12283 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12284 if (r->connectfailures) {
12285 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12286 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12287 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12292 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12293 if (r->linkfailures) {
12294 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12295 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12301 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12302 if (r->pendingops) {
12303 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12304 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12305 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12310 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12311 if (r->attrvalmetadata) {
12312 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12313 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12319 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12321 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12322 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12323 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12328 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12330 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12331 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12332 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12337 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12338 if (r->objmetadata2) {
12339 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12340 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12341 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12346 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12347 if (r->attrvalmetadata2) {
12348 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12349 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12355 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12357 _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
12358 NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
12359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
12364 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12365 if (r->clientctx) {
12366 _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
12367 NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
12368 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
12373 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12375 _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12376 NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
12377 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
12382 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12383 if (r->srvoutgoingcalls) {
12384 _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
12385 NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
12386 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
12392 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12395 return NDR_ERR_SUCCESS;
12398 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12401 level = ndr_print_get_switch_value(ndr, r);
12402 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12404 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12405 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12407 if (r->neighbours) {
12408 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12413 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12414 ndr_print_ptr(ndr, "cursors", r->cursors);
12417 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12422 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12423 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12425 if (r->objmetadata) {
12426 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12431 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12432 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12434 if (r->connectfailures) {
12435 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12440 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12441 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12443 if (r->linkfailures) {
12444 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12449 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12450 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12452 if (r->pendingops) {
12453 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12458 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12459 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12461 if (r->attrvalmetadata) {
12462 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12467 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12468 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12471 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12476 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12477 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12480 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12485 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12486 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12488 if (r->objmetadata2) {
12489 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12494 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12495 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12497 if (r->attrvalmetadata2) {
12498 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12503 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12504 ndr_print_ptr(ndr, "repsto", r->repsto);
12507 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
12512 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12513 ndr_print_ptr(ndr, "clientctx", r->clientctx);
12515 if (r->clientctx) {
12516 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
12521 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12522 ndr_print_ptr(ndr, "udv1", r->udv1);
12525 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
12530 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12531 ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12533 if (r->srvoutgoingcalls) {
12534 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12540 ndr_print_bad_level(ndr, name, level);
12544 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12546 if (ndr_flags & NDR_SCALARS) {
12547 int level = ndr_push_get_switch_value(ndr, r);
12548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12549 NDR_CHECK(ndr_push_union_align(ndr, 5));
12552 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12556 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12559 if (ndr_flags & NDR_BUFFERS) {
12560 int level = ndr_push_get_switch_value(ndr, r);
12563 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12567 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12570 return NDR_ERR_SUCCESS;
12573 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12577 level = ndr_pull_get_switch_value(ndr, r);
12578 if (ndr_flags & NDR_SCALARS) {
12579 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12580 if (_level != level) {
12581 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12583 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12586 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12590 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12593 if (ndr_flags & NDR_BUFFERS) {
12596 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12600 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12603 return NDR_ERR_SUCCESS;
12606 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12609 level = ndr_print_get_switch_value(ndr, r);
12610 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12613 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12617 ndr_print_bad_level(ndr, name, level);
12621 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12623 uint32_t cntr_req_array_1;
12624 if (ndr_flags & NDR_SCALARS) {
12625 NDR_CHECK(ndr_push_align(ndr, 5));
12626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12628 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12630 if (ndr_flags & NDR_BUFFERS) {
12631 if (r->req_array) {
12632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12633 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12634 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12636 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12637 if (r->req_array[cntr_req_array_1]) {
12638 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12643 return NDR_ERR_SUCCESS;
12646 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12648 uint32_t _ptr_req_array;
12649 uint32_t cntr_req_array_1;
12650 TALLOC_CTX *_mem_save_req_array_0;
12651 TALLOC_CTX *_mem_save_req_array_1;
12652 TALLOC_CTX *_mem_save_req_array_2;
12653 if (ndr_flags & NDR_SCALARS) {
12654 NDR_CHECK(ndr_pull_align(ndr, 5));
12655 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12656 if (r->num_req < 1 || r->num_req > 10000) {
12657 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12659 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12660 if (_ptr_req_array) {
12661 NDR_PULL_ALLOC(ndr, r->req_array);
12663 r->req_array = NULL;
12665 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12667 if (ndr_flags & NDR_BUFFERS) {
12668 if (r->req_array) {
12669 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12670 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12671 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12672 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12673 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12674 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12675 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12677 if (_ptr_req_array) {
12678 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12680 r->req_array[cntr_req_array_1] = NULL;
12683 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12684 if (r->req_array[cntr_req_array_1]) {
12685 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12686 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12687 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12694 if (r->req_array) {
12695 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12698 return NDR_ERR_SUCCESS;
12701 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12703 uint32_t cntr_req_array_1;
12704 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12706 ndr_print_uint32(ndr, "num_req", r->num_req);
12707 ndr_print_ptr(ndr, "req_array", r->req_array);
12709 if (r->req_array) {
12710 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12712 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12714 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12715 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12717 if (r->req_array[cntr_req_array_1]) {
12718 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12730 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12732 if (ndr_flags & NDR_SCALARS) {
12733 int level = ndr_push_get_switch_value(ndr, r);
12734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12735 NDR_CHECK(ndr_push_union_align(ndr, 5));
12738 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12742 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12745 if (ndr_flags & NDR_BUFFERS) {
12746 int level = ndr_push_get_switch_value(ndr, r);
12749 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12753 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12756 return NDR_ERR_SUCCESS;
12759 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12763 level = ndr_pull_get_switch_value(ndr, r);
12764 if (ndr_flags & NDR_SCALARS) {
12765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12766 if (_level != level) {
12767 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12769 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12772 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12776 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12779 if (ndr_flags & NDR_BUFFERS) {
12782 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12786 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12789 return NDR_ERR_SUCCESS;
12792 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12795 level = ndr_print_get_switch_value(ndr, r);
12796 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12799 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12803 ndr_print_bad_level(ndr, name, level);
12807 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12809 if (ndr_flags & NDR_SCALARS) {
12810 NDR_CHECK(ndr_push_align(ndr, 4));
12811 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12813 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
12815 if (ndr_flags & NDR_BUFFERS) {
12817 return NDR_ERR_SUCCESS;
12820 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12822 if (ndr_flags & NDR_SCALARS) {
12823 NDR_CHECK(ndr_pull_align(ndr, 4));
12824 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12825 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12826 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
12828 if (ndr_flags & NDR_BUFFERS) {
12830 return NDR_ERR_SUCCESS;
12833 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12835 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12837 ndr_print_WERROR(ndr, "error_code", r->error_code);
12838 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12842 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12844 uint32_t cntr_info_1;
12845 if (ndr_flags & NDR_SCALARS) {
12846 NDR_CHECK(ndr_push_align(ndr, 5));
12847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12848 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12850 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12852 if (ndr_flags & NDR_BUFFERS) {
12854 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
12855 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12856 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12860 return NDR_ERR_SUCCESS;
12863 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12865 uint32_t _ptr_info;
12866 uint32_t cntr_info_1;
12867 TALLOC_CTX *_mem_save_info_0;
12868 TALLOC_CTX *_mem_save_info_1;
12869 if (ndr_flags & NDR_SCALARS) {
12870 NDR_CHECK(ndr_pull_align(ndr, 5));
12871 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12872 if (r->num_info > 10000) {
12873 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12875 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12877 NDR_PULL_ALLOC(ndr, r->info);
12881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
12882 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12884 if (ndr_flags & NDR_BUFFERS) {
12886 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12887 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12888 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12889 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
12890 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12891 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12892 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12893 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12899 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12902 return NDR_ERR_SUCCESS;
12905 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12907 uint32_t cntr_info_1;
12908 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12910 ndr_print_uint32(ndr, "num_info", r->num_info);
12911 ndr_print_ptr(ndr, "info", r->info);
12914 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12916 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12918 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12919 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12926 ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
12930 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12932 if (ndr_flags & NDR_SCALARS) {
12933 int level = ndr_push_get_switch_value(ndr, r);
12934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12935 NDR_CHECK(ndr_push_union_align(ndr, 5));
12938 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12942 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12945 if (ndr_flags & NDR_BUFFERS) {
12946 int level = ndr_push_get_switch_value(ndr, r);
12949 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12953 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12956 return NDR_ERR_SUCCESS;
12959 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12963 level = ndr_pull_get_switch_value(ndr, r);
12964 if (ndr_flags & NDR_SCALARS) {
12965 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12966 if (_level != level) {
12967 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12969 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12972 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12976 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12979 if (ndr_flags & NDR_BUFFERS) {
12982 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12986 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12989 return NDR_ERR_SUCCESS;
12992 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
12995 level = ndr_print_get_switch_value(ndr, r);
12996 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
12999 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13003 ndr_print_bad_level(ndr, name, level);
13007 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13009 uint32_t cntr_site_to_1;
13010 if (ndr_flags & NDR_SCALARS) {
13011 NDR_CHECK(ndr_push_align(ndr, 5));
13012 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13013 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13014 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13015 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13016 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13018 if (ndr_flags & NDR_BUFFERS) {
13019 if (r->site_from) {
13020 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13021 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13022 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13023 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13026 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13027 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13030 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13031 if (r->site_to[cntr_site_to_1]) {
13032 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13033 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13034 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13035 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));
13040 return NDR_ERR_SUCCESS;
13043 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13045 uint32_t _ptr_site_from;
13046 TALLOC_CTX *_mem_save_site_from_0;
13047 uint32_t _ptr_site_to;
13048 uint32_t cntr_site_to_1;
13049 TALLOC_CTX *_mem_save_site_to_0;
13050 TALLOC_CTX *_mem_save_site_to_1;
13051 TALLOC_CTX *_mem_save_site_to_2;
13052 if (ndr_flags & NDR_SCALARS) {
13053 NDR_CHECK(ndr_pull_align(ndr, 5));
13054 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13055 if (_ptr_site_from) {
13056 NDR_PULL_ALLOC(ndr, r->site_from);
13058 r->site_from = NULL;
13060 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13061 if (r->num_req < 1 || r->num_req > 10000) {
13062 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13064 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13065 if (_ptr_site_to) {
13066 NDR_PULL_ALLOC(ndr, r->site_to);
13070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13071 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13073 if (ndr_flags & NDR_BUFFERS) {
13074 if (r->site_from) {
13075 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13076 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13077 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13078 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13079 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13080 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));
13082 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13083 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13087 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13088 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13089 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13090 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13091 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13092 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13093 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13094 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13095 if (_ptr_site_to) {
13096 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13098 r->site_to[cntr_site_to_1] = NULL;
13101 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13102 if (r->site_to[cntr_site_to_1]) {
13103 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13104 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13105 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13106 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13107 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])) {
13108 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]));
13110 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13111 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));
13112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13119 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13122 return NDR_ERR_SUCCESS;
13125 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13127 uint32_t cntr_site_to_1;
13128 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13130 ndr_print_ptr(ndr, "site_from", r->site_from);
13132 if (r->site_from) {
13133 ndr_print_string(ndr, "site_from", r->site_from);
13136 ndr_print_uint32(ndr, "num_req", r->num_req);
13137 ndr_print_ptr(ndr, "site_to", r->site_to);
13140 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13142 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13144 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13145 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13147 if (r->site_to[cntr_site_to_1]) {
13148 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13157 ndr_print_uint32(ndr, "flags", r->flags);
13161 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13163 if (ndr_flags & NDR_SCALARS) {
13164 int level = ndr_push_get_switch_value(ndr, r);
13165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13166 NDR_CHECK(ndr_push_union_align(ndr, 5));
13169 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13173 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13176 if (ndr_flags & NDR_BUFFERS) {
13177 int level = ndr_push_get_switch_value(ndr, r);
13180 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13184 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13187 return NDR_ERR_SUCCESS;
13190 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13194 level = ndr_pull_get_switch_value(ndr, r);
13195 if (ndr_flags & NDR_SCALARS) {
13196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13197 if (_level != level) {
13198 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13200 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13203 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13207 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13210 if (ndr_flags & NDR_BUFFERS) {
13213 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13217 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13220 return NDR_ERR_SUCCESS;
13223 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13226 level = ndr_print_get_switch_value(ndr, r);
13227 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13230 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13234 ndr_print_bad_level(ndr, name, level);
13238 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13240 if (flags & NDR_IN) {
13241 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13242 if (r->in.bind_guid) {
13243 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13246 if (r->in.bind_info) {
13247 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13250 if (flags & NDR_OUT) {
13251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13252 if (r->out.bind_info) {
13253 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13255 if (r->out.bind_handle == NULL) {
13256 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13258 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13259 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13261 return NDR_ERR_SUCCESS;
13264 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13266 uint32_t _ptr_bind_guid;
13267 uint32_t _ptr_bind_info;
13268 TALLOC_CTX *_mem_save_bind_guid_0;
13269 TALLOC_CTX *_mem_save_bind_info_0;
13270 TALLOC_CTX *_mem_save_bind_handle_0;
13271 if (flags & NDR_IN) {
13272 ZERO_STRUCT(r->out);
13274 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13275 if (_ptr_bind_guid) {
13276 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13278 r->in.bind_guid = NULL;
13280 if (r->in.bind_guid) {
13281 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13282 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13283 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13287 if (_ptr_bind_info) {
13288 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13290 r->in.bind_info = NULL;
13292 if (r->in.bind_info) {
13293 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13294 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13295 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13298 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13299 ZERO_STRUCTP(r->out.bind_handle);
13301 if (flags & NDR_OUT) {
13302 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13303 if (_ptr_bind_info) {
13304 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13306 r->out.bind_info = NULL;
13308 if (r->out.bind_info) {
13309 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13310 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13311 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13314 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13315 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13317 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13318 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13319 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13321 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13323 return NDR_ERR_SUCCESS;
13326 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13328 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13330 if (flags & NDR_SET_VALUES) {
13331 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13333 if (flags & NDR_IN) {
13334 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13336 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13338 if (r->in.bind_guid) {
13339 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13342 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13344 if (r->in.bind_info) {
13345 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13350 if (flags & NDR_OUT) {
13351 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13353 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13355 if (r->out.bind_info) {
13356 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13359 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13361 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13363 ndr_print_WERROR(ndr, "result", r->out.result);
13369 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13371 if (flags & NDR_IN) {
13372 if (r->in.bind_handle == NULL) {
13373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13375 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13377 if (flags & NDR_OUT) {
13378 if (r->out.bind_handle == NULL) {
13379 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13381 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13382 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13384 return NDR_ERR_SUCCESS;
13387 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13389 TALLOC_CTX *_mem_save_bind_handle_0;
13390 if (flags & NDR_IN) {
13391 ZERO_STRUCT(r->out);
13393 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13394 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13396 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13397 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13398 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13400 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13401 *r->out.bind_handle = *r->in.bind_handle;
13403 if (flags & NDR_OUT) {
13404 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13405 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13407 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13408 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13409 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13411 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13413 return NDR_ERR_SUCCESS;
13416 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13418 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13420 if (flags & NDR_SET_VALUES) {
13421 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13423 if (flags & NDR_IN) {
13424 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13426 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13428 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13432 if (flags & NDR_OUT) {
13433 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13435 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13437 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13439 ndr_print_WERROR(ndr, "result", r->out.result);
13445 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13447 if (flags & NDR_IN) {
13448 if (r->in.bind_handle == NULL) {
13449 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13451 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13453 if (r->in.req == NULL) {
13454 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13456 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13457 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13459 if (flags & NDR_OUT) {
13460 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13462 return NDR_ERR_SUCCESS;
13465 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13467 TALLOC_CTX *_mem_save_bind_handle_0;
13468 TALLOC_CTX *_mem_save_req_0;
13469 if (flags & NDR_IN) {
13470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13471 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13473 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13474 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13475 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13478 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13479 NDR_PULL_ALLOC(ndr, r->in.req);
13481 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13482 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13483 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13484 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13487 if (flags & NDR_OUT) {
13488 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13490 return NDR_ERR_SUCCESS;
13493 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13495 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13497 if (flags & NDR_SET_VALUES) {
13498 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13500 if (flags & NDR_IN) {
13501 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13503 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13505 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13507 ndr_print_uint32(ndr, "level", r->in.level);
13508 ndr_print_ptr(ndr, "req", r->in.req);
13510 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13511 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
13515 if (flags & NDR_OUT) {
13516 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13518 ndr_print_WERROR(ndr, "result", r->out.result);
13524 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13526 if (flags & NDR_IN) {
13527 if (r->in.bind_handle == NULL) {
13528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13530 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13532 if (r->in.req == NULL) {
13533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13535 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13536 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13538 if (flags & NDR_OUT) {
13539 if (r->out.level_out == NULL) {
13540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13543 if (r->out.ctr == NULL) {
13544 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13546 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13547 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13548 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13550 return NDR_ERR_SUCCESS;
13553 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13555 TALLOC_CTX *_mem_save_bind_handle_0;
13556 TALLOC_CTX *_mem_save_req_0;
13557 TALLOC_CTX *_mem_save_level_out_0;
13558 TALLOC_CTX *_mem_save_ctr_0;
13559 if (flags & NDR_IN) {
13560 ZERO_STRUCT(r->out);
13562 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13563 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13565 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13566 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13567 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13570 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13571 NDR_PULL_ALLOC(ndr, r->in.req);
13573 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13574 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13575 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13576 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13578 NDR_PULL_ALLOC(ndr, r->out.level_out);
13579 ZERO_STRUCTP(r->out.level_out);
13580 NDR_PULL_ALLOC(ndr, r->out.ctr);
13581 ZERO_STRUCTP(r->out.ctr);
13583 if (flags & NDR_OUT) {
13584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13585 NDR_PULL_ALLOC(ndr, r->out.level_out);
13587 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13588 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13591 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13592 NDR_PULL_ALLOC(ndr, r->out.ctr);
13594 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13595 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13596 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13597 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13599 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13601 return NDR_ERR_SUCCESS;
13604 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13606 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13608 if (flags & NDR_SET_VALUES) {
13609 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13611 if (flags & NDR_IN) {
13612 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13614 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13616 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13618 ndr_print_uint32(ndr, "level", r->in.level);
13619 ndr_print_ptr(ndr, "req", r->in.req);
13621 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13622 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13626 if (flags & NDR_OUT) {
13627 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13629 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13631 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13633 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13635 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13636 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13638 ndr_print_WERROR(ndr, "result", r->out.result);
13644 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13646 if (flags & NDR_IN) {
13647 if (r->in.bind_handle == NULL) {
13648 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13650 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13652 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13653 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13655 if (flags & NDR_OUT) {
13656 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13658 return NDR_ERR_SUCCESS;
13661 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13663 TALLOC_CTX *_mem_save_bind_handle_0;
13664 if (flags & NDR_IN) {
13665 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13666 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13668 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13669 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13670 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13672 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13673 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13674 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13676 if (flags & NDR_OUT) {
13677 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13679 return NDR_ERR_SUCCESS;
13682 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13684 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13686 if (flags & NDR_SET_VALUES) {
13687 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13689 if (flags & NDR_IN) {
13690 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13692 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13694 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13696 ndr_print_uint32(ndr, "level", r->in.level);
13697 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13698 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13701 if (flags & NDR_OUT) {
13702 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13704 ndr_print_WERROR(ndr, "result", r->out.result);
13710 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13712 if (flags & NDR_IN) {
13713 if (r->in.bind_handle == NULL) {
13714 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13716 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13718 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13719 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13721 if (flags & NDR_OUT) {
13722 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13724 return NDR_ERR_SUCCESS;
13727 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13729 TALLOC_CTX *_mem_save_bind_handle_0;
13730 if (flags & NDR_IN) {
13731 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13732 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13734 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13735 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13736 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13739 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13740 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13742 if (flags & NDR_OUT) {
13743 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13745 return NDR_ERR_SUCCESS;
13748 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13750 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13752 if (flags & NDR_SET_VALUES) {
13753 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13755 if (flags & NDR_IN) {
13756 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13758 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13760 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13762 ndr_print_uint32(ndr, "level", r->in.level);
13763 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13764 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13767 if (flags & NDR_OUT) {
13768 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13770 ndr_print_WERROR(ndr, "result", r->out.result);
13776 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13778 if (flags & NDR_IN) {
13779 if (r->in.bind_handle == NULL) {
13780 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13782 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13784 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13785 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13787 if (flags & NDR_OUT) {
13788 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13790 return NDR_ERR_SUCCESS;
13793 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
13795 TALLOC_CTX *_mem_save_bind_handle_0;
13796 if (flags & NDR_IN) {
13797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13798 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13800 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13801 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13802 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13804 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13805 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13806 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13808 if (flags & NDR_OUT) {
13809 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13811 return NDR_ERR_SUCCESS;
13814 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
13816 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
13818 if (flags & NDR_SET_VALUES) {
13819 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13821 if (flags & NDR_IN) {
13822 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
13824 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13826 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13828 ndr_print_uint32(ndr, "level", r->in.level);
13829 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13830 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
13833 if (flags & NDR_OUT) {
13834 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
13836 ndr_print_WERROR(ndr, "result", r->out.result);
13842 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
13844 if (flags & NDR_IN) {
13845 if (r->in.bind_handle == NULL) {
13846 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13848 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13850 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13851 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13853 if (flags & NDR_OUT) {
13854 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13856 return NDR_ERR_SUCCESS;
13859 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
13861 TALLOC_CTX *_mem_save_bind_handle_0;
13862 if (flags & NDR_IN) {
13863 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13864 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13866 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13867 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13868 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13870 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13871 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13872 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13874 if (flags & NDR_OUT) {
13875 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13877 return NDR_ERR_SUCCESS;
13880 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
13882 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
13884 if (flags & NDR_SET_VALUES) {
13885 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13887 if (flags & NDR_IN) {
13888 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
13890 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13892 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13894 ndr_print_uint32(ndr, "level", r->in.level);
13895 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13896 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
13899 if (flags & NDR_OUT) {
13900 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
13902 ndr_print_WERROR(ndr, "result", r->out.result);
13908 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13910 if (flags & NDR_IN) {
13912 if (flags & NDR_OUT) {
13913 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13915 return NDR_ERR_SUCCESS;
13918 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13920 if (flags & NDR_IN) {
13922 if (flags & NDR_OUT) {
13923 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13925 return NDR_ERR_SUCCESS;
13928 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13930 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13932 if (flags & NDR_SET_VALUES) {
13933 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13935 if (flags & NDR_IN) {
13936 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13940 if (flags & NDR_OUT) {
13941 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13943 ndr_print_WERROR(ndr, "result", r->out.result);
13949 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13951 if (flags & NDR_IN) {
13952 if (r->in.bind_handle == NULL) {
13953 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13955 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13957 if (r->in.req == NULL) {
13958 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13960 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13961 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13963 if (flags & NDR_OUT) {
13964 if (r->out.level_out == NULL) {
13965 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13968 if (r->out.ctr == NULL) {
13969 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13971 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13972 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13973 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13975 return NDR_ERR_SUCCESS;
13978 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
13980 TALLOC_CTX *_mem_save_bind_handle_0;
13981 TALLOC_CTX *_mem_save_req_0;
13982 TALLOC_CTX *_mem_save_level_out_0;
13983 TALLOC_CTX *_mem_save_ctr_0;
13984 if (flags & NDR_IN) {
13985 ZERO_STRUCT(r->out);
13987 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13988 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13990 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13991 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13992 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13995 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13996 NDR_PULL_ALLOC(ndr, r->in.req);
13998 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13999 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14000 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14001 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14002 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14003 NDR_PULL_ALLOC(ndr, r->out.level_out);
14004 ZERO_STRUCTP(r->out.level_out);
14005 NDR_PULL_ALLOC(ndr, r->out.ctr);
14006 ZERO_STRUCTP(r->out.ctr);
14008 if (flags & NDR_OUT) {
14009 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14010 NDR_PULL_ALLOC(ndr, r->out.level_out);
14012 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14013 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14016 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14017 NDR_PULL_ALLOC(ndr, r->out.ctr);
14019 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14020 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14021 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14022 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14024 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14026 return NDR_ERR_SUCCESS;
14029 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14031 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14033 if (flags & NDR_SET_VALUES) {
14034 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14036 if (flags & NDR_IN) {
14037 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14039 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14041 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14043 ndr_print_uint32(ndr, "level", r->in.level);
14044 ndr_print_ptr(ndr, "req", r->in.req);
14046 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14047 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14051 if (flags & NDR_OUT) {
14052 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14054 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14056 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14058 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14060 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14061 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14063 ndr_print_WERROR(ndr, "result", r->out.result);
14069 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14071 if (flags & NDR_IN) {
14073 if (flags & NDR_OUT) {
14074 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14076 return NDR_ERR_SUCCESS;
14079 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14081 if (flags & NDR_IN) {
14083 if (flags & NDR_OUT) {
14084 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14086 return NDR_ERR_SUCCESS;
14089 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14091 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14093 if (flags & NDR_SET_VALUES) {
14094 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14096 if (flags & NDR_IN) {
14097 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14101 if (flags & NDR_OUT) {
14102 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14104 ndr_print_WERROR(ndr, "result", r->out.result);
14110 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14112 if (flags & NDR_IN) {
14113 if (r->in.bind_handle == NULL) {
14114 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14116 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14118 if (r->in.req == NULL) {
14119 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14121 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14122 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14124 if (flags & NDR_OUT) {
14125 if (r->out.level_out == NULL) {
14126 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14129 if (r->out.info == NULL) {
14130 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14132 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14133 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14134 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14136 return NDR_ERR_SUCCESS;
14139 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14141 TALLOC_CTX *_mem_save_bind_handle_0;
14142 TALLOC_CTX *_mem_save_req_0;
14143 TALLOC_CTX *_mem_save_level_out_0;
14144 TALLOC_CTX *_mem_save_info_0;
14145 if (flags & NDR_IN) {
14146 ZERO_STRUCT(r->out);
14148 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14149 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14151 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14152 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14153 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14156 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14157 NDR_PULL_ALLOC(ndr, r->in.req);
14159 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14160 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14161 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14162 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14164 NDR_PULL_ALLOC(ndr, r->out.level_out);
14165 ZERO_STRUCTP(r->out.level_out);
14166 NDR_PULL_ALLOC(ndr, r->out.info);
14167 ZERO_STRUCTP(r->out.info);
14169 if (flags & NDR_OUT) {
14170 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14171 NDR_PULL_ALLOC(ndr, r->out.level_out);
14173 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14174 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14177 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14178 NDR_PULL_ALLOC(ndr, r->out.info);
14180 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14181 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14182 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14183 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14185 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14187 return NDR_ERR_SUCCESS;
14190 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14192 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14194 if (flags & NDR_SET_VALUES) {
14195 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14197 if (flags & NDR_IN) {
14198 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14200 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14202 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14204 ndr_print_uint32(ndr, "level", r->in.level);
14205 ndr_print_ptr(ndr, "req", r->in.req);
14207 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14208 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14212 if (flags & NDR_OUT) {
14213 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14215 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14217 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14219 ndr_print_ptr(ndr, "info", r->out.info);
14221 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14222 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14224 ndr_print_WERROR(ndr, "result", r->out.result);
14230 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14232 if (flags & NDR_IN) {
14233 if (r->in.bind_handle == NULL) {
14234 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14236 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14238 if (r->in.req == NULL) {
14239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14241 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14242 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14244 if (flags & NDR_OUT) {
14245 if (r->out.level_out == NULL) {
14246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14249 if (r->out.ctr == NULL) {
14250 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14252 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14253 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14254 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14256 return NDR_ERR_SUCCESS;
14259 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14261 TALLOC_CTX *_mem_save_bind_handle_0;
14262 TALLOC_CTX *_mem_save_req_0;
14263 TALLOC_CTX *_mem_save_level_out_0;
14264 TALLOC_CTX *_mem_save_ctr_0;
14265 if (flags & NDR_IN) {
14266 ZERO_STRUCT(r->out);
14268 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14269 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14271 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14272 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14273 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14276 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14277 NDR_PULL_ALLOC(ndr, r->in.req);
14279 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14280 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14281 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14282 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14284 NDR_PULL_ALLOC(ndr, r->out.level_out);
14285 ZERO_STRUCTP(r->out.level_out);
14286 NDR_PULL_ALLOC(ndr, r->out.ctr);
14287 ZERO_STRUCTP(r->out.ctr);
14289 if (flags & NDR_OUT) {
14290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14291 NDR_PULL_ALLOC(ndr, r->out.level_out);
14293 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14294 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14295 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14297 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14298 NDR_PULL_ALLOC(ndr, r->out.ctr);
14300 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14301 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14302 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14303 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14305 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14307 return NDR_ERR_SUCCESS;
14310 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14312 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14314 if (flags & NDR_SET_VALUES) {
14315 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14317 if (flags & NDR_IN) {
14318 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14320 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14322 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14324 ndr_print_uint32(ndr, "level", r->in.level);
14325 ndr_print_ptr(ndr, "req", r->in.req);
14327 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14328 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14332 if (flags & NDR_OUT) {
14333 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14335 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14337 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14339 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14341 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14342 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14344 ndr_print_WERROR(ndr, "result", r->out.result);
14350 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14352 if (flags & NDR_IN) {
14353 if (r->in.bind_handle == NULL) {
14354 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14356 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14358 if (r->in.req == NULL) {
14359 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14361 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14362 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14364 if (flags & NDR_OUT) {
14365 if (r->out.level_out == NULL) {
14366 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14369 if (r->out.res == NULL) {
14370 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14372 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14373 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14374 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14376 return NDR_ERR_SUCCESS;
14379 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14381 TALLOC_CTX *_mem_save_bind_handle_0;
14382 TALLOC_CTX *_mem_save_req_0;
14383 TALLOC_CTX *_mem_save_level_out_0;
14384 TALLOC_CTX *_mem_save_res_0;
14385 if (flags & NDR_IN) {
14386 ZERO_STRUCT(r->out);
14388 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14389 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14391 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14392 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14393 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14394 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14395 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14396 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14397 NDR_PULL_ALLOC(ndr, r->in.req);
14399 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14400 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14401 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14402 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14403 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14404 NDR_PULL_ALLOC(ndr, r->out.level_out);
14405 ZERO_STRUCTP(r->out.level_out);
14406 NDR_PULL_ALLOC(ndr, r->out.res);
14407 ZERO_STRUCTP(r->out.res);
14409 if (flags & NDR_OUT) {
14410 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14411 NDR_PULL_ALLOC(ndr, r->out.level_out);
14413 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14414 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14417 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14418 NDR_PULL_ALLOC(ndr, r->out.res);
14420 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14421 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14422 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14423 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14424 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14425 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14427 return NDR_ERR_SUCCESS;
14430 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14432 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14434 if (flags & NDR_SET_VALUES) {
14435 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14437 if (flags & NDR_IN) {
14438 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14440 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14442 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14444 ndr_print_uint32(ndr, "level", r->in.level);
14445 ndr_print_ptr(ndr, "req", r->in.req);
14447 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14448 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14452 if (flags & NDR_OUT) {
14453 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14455 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14457 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14459 ndr_print_ptr(ndr, "res", r->out.res);
14461 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14462 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14464 ndr_print_WERROR(ndr, "result", r->out.result);
14470 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14472 if (flags & NDR_IN) {
14473 if (r->in.bind_handle == NULL) {
14474 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14476 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14478 if (r->in.req == NULL) {
14479 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14481 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14482 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14484 if (flags & NDR_OUT) {
14485 if (r->out.level_out == NULL) {
14486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14489 if (r->out.res == NULL) {
14490 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14492 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14493 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14494 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14496 return NDR_ERR_SUCCESS;
14499 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14501 TALLOC_CTX *_mem_save_bind_handle_0;
14502 TALLOC_CTX *_mem_save_req_0;
14503 TALLOC_CTX *_mem_save_level_out_0;
14504 TALLOC_CTX *_mem_save_res_0;
14505 if (flags & NDR_IN) {
14506 ZERO_STRUCT(r->out);
14508 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14509 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14511 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14512 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14513 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14516 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14517 NDR_PULL_ALLOC(ndr, r->in.req);
14519 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14520 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14521 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14522 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14524 NDR_PULL_ALLOC(ndr, r->out.level_out);
14525 ZERO_STRUCTP(r->out.level_out);
14526 NDR_PULL_ALLOC(ndr, r->out.res);
14527 ZERO_STRUCTP(r->out.res);
14529 if (flags & NDR_OUT) {
14530 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14531 NDR_PULL_ALLOC(ndr, r->out.level_out);
14533 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14534 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14537 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14538 NDR_PULL_ALLOC(ndr, r->out.res);
14540 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14541 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14542 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14543 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14545 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14547 return NDR_ERR_SUCCESS;
14550 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14552 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14554 if (flags & NDR_SET_VALUES) {
14555 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14557 if (flags & NDR_IN) {
14558 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14560 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14562 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14564 ndr_print_uint32(ndr, "level", r->in.level);
14565 ndr_print_ptr(ndr, "req", r->in.req);
14567 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14568 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14572 if (flags & NDR_OUT) {
14573 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14575 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14577 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14579 ndr_print_ptr(ndr, "res", r->out.res);
14581 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14582 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14584 ndr_print_WERROR(ndr, "result", r->out.result);
14590 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14592 if (flags & NDR_IN) {
14594 if (flags & NDR_OUT) {
14595 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14597 return NDR_ERR_SUCCESS;
14600 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14602 if (flags & NDR_IN) {
14604 if (flags & NDR_OUT) {
14605 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14607 return NDR_ERR_SUCCESS;
14610 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14612 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14614 if (flags & NDR_SET_VALUES) {
14615 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14617 if (flags & NDR_IN) {
14618 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14622 if (flags & NDR_OUT) {
14623 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14625 ndr_print_WERROR(ndr, "result", r->out.result);
14631 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14633 if (flags & NDR_IN) {
14634 if (r->in.bind_handle == NULL) {
14635 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14637 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14638 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14639 if (r->in.req == NULL) {
14640 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14642 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14643 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14645 if (flags & NDR_OUT) {
14646 if (r->out.level_out == NULL) {
14647 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14649 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14650 if (r->out.ctr == NULL) {
14651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14653 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14654 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14655 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14657 return NDR_ERR_SUCCESS;
14660 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14662 TALLOC_CTX *_mem_save_bind_handle_0;
14663 TALLOC_CTX *_mem_save_req_0;
14664 TALLOC_CTX *_mem_save_level_out_0;
14665 TALLOC_CTX *_mem_save_ctr_0;
14666 if (flags & NDR_IN) {
14667 ZERO_STRUCT(r->out);
14669 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14670 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14672 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14673 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14674 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14675 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14676 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14677 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14678 NDR_PULL_ALLOC(ndr, r->in.req);
14680 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14681 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14682 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14683 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14685 NDR_PULL_ALLOC(ndr, r->out.level_out);
14686 ZERO_STRUCTP(r->out.level_out);
14687 NDR_PULL_ALLOC(ndr, r->out.ctr);
14688 ZERO_STRUCTP(r->out.ctr);
14690 if (flags & NDR_OUT) {
14691 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14692 NDR_PULL_ALLOC(ndr, r->out.level_out);
14694 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14695 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14696 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14698 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14699 NDR_PULL_ALLOC(ndr, r->out.ctr);
14701 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14702 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14703 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14704 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14706 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14708 return NDR_ERR_SUCCESS;
14711 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14713 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14715 if (flags & NDR_SET_VALUES) {
14716 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14718 if (flags & NDR_IN) {
14719 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14721 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14723 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14725 ndr_print_int32(ndr, "level", r->in.level);
14726 ndr_print_ptr(ndr, "req", r->in.req);
14728 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14729 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14733 if (flags & NDR_OUT) {
14734 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14736 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14738 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14740 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14742 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14743 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14745 ndr_print_WERROR(ndr, "result", r->out.result);
14751 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14753 if (flags & NDR_IN) {
14754 if (r->in.bind_handle == NULL) {
14755 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14757 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14758 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14759 if (r->in.req == NULL) {
14760 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14762 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14763 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14765 if (flags & NDR_OUT) {
14766 if (r->out.level_out == NULL) {
14767 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14769 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14770 if (r->out.ctr == NULL) {
14771 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14773 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14774 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14775 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14777 return NDR_ERR_SUCCESS;
14780 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14782 TALLOC_CTX *_mem_save_bind_handle_0;
14783 TALLOC_CTX *_mem_save_req_0;
14784 TALLOC_CTX *_mem_save_level_out_0;
14785 TALLOC_CTX *_mem_save_ctr_0;
14786 if (flags & NDR_IN) {
14787 ZERO_STRUCT(r->out);
14789 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14790 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14792 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14793 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14794 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14796 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14798 NDR_PULL_ALLOC(ndr, r->in.req);
14800 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14801 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14802 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14803 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14805 NDR_PULL_ALLOC(ndr, r->out.level_out);
14806 ZERO_STRUCTP(r->out.level_out);
14807 NDR_PULL_ALLOC(ndr, r->out.ctr);
14808 ZERO_STRUCTP(r->out.ctr);
14810 if (flags & NDR_OUT) {
14811 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14812 NDR_PULL_ALLOC(ndr, r->out.level_out);
14814 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14815 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14816 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14818 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14819 NDR_PULL_ALLOC(ndr, r->out.ctr);
14821 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14822 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14823 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14824 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14826 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14828 return NDR_ERR_SUCCESS;
14831 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14833 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14835 if (flags & NDR_SET_VALUES) {
14836 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14838 if (flags & NDR_IN) {
14839 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14841 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14843 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14845 ndr_print_int32(ndr, "level", r->in.level);
14846 ndr_print_ptr(ndr, "req", r->in.req);
14848 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14849 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14853 if (flags & NDR_OUT) {
14854 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14856 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14858 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14860 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14862 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14863 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14865 ndr_print_WERROR(ndr, "result", r->out.result);
14871 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
14873 if (flags & NDR_IN) {
14874 if (r->in.bind_handle == NULL) {
14875 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14877 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14879 if (r->in.req == NULL) {
14880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14882 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14883 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14885 if (flags & NDR_OUT) {
14886 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14888 return NDR_ERR_SUCCESS;
14891 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
14893 TALLOC_CTX *_mem_save_bind_handle_0;
14894 TALLOC_CTX *_mem_save_req_0;
14895 if (flags & NDR_IN) {
14896 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14897 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14899 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14900 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14901 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14903 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14905 NDR_PULL_ALLOC(ndr, r->in.req);
14907 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14908 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14909 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14910 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14913 if (flags & NDR_OUT) {
14914 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14916 return NDR_ERR_SUCCESS;
14919 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
14921 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
14923 if (flags & NDR_SET_VALUES) {
14924 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14926 if (flags & NDR_IN) {
14927 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
14929 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14931 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14933 ndr_print_uint32(ndr, "level", r->in.level);
14934 ndr_print_ptr(ndr, "req", r->in.req);
14936 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14937 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
14941 if (flags & NDR_OUT) {
14942 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
14944 ndr_print_WERROR(ndr, "result", r->out.result);
14950 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14952 if (flags & NDR_IN) {
14953 if (r->in.bind_handle == NULL) {
14954 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14956 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14957 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14958 if (r->in.req == NULL) {
14959 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14961 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14962 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14964 if (flags & NDR_OUT) {
14965 if (r->out.info_type == NULL) {
14966 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14968 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14969 if (r->out.info == NULL) {
14970 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14972 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14973 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14974 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14976 return NDR_ERR_SUCCESS;
14979 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
14981 TALLOC_CTX *_mem_save_bind_handle_0;
14982 TALLOC_CTX *_mem_save_req_0;
14983 TALLOC_CTX *_mem_save_info_type_0;
14984 TALLOC_CTX *_mem_save_info_0;
14985 if (flags & NDR_IN) {
14986 ZERO_STRUCT(r->out);
14988 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14989 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14991 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14992 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14993 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14995 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
14996 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14997 NDR_PULL_ALLOC(ndr, r->in.req);
14999 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15000 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15001 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15002 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15004 NDR_PULL_ALLOC(ndr, r->out.info_type);
15005 ZERO_STRUCTP(r->out.info_type);
15006 NDR_PULL_ALLOC(ndr, r->out.info);
15007 ZERO_STRUCTP(r->out.info);
15009 if (flags & NDR_OUT) {
15010 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15011 NDR_PULL_ALLOC(ndr, r->out.info_type);
15013 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15014 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15017 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15018 NDR_PULL_ALLOC(ndr, r->out.info);
15020 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15021 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15022 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15023 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15024 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15025 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15027 return NDR_ERR_SUCCESS;
15030 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15032 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15034 if (flags & NDR_SET_VALUES) {
15035 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15037 if (flags & NDR_IN) {
15038 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15040 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15042 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15044 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15045 ndr_print_ptr(ndr, "req", r->in.req);
15047 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15048 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15052 if (flags & NDR_OUT) {
15053 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15055 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15057 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15059 ndr_print_ptr(ndr, "info", r->out.info);
15061 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15062 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15064 ndr_print_WERROR(ndr, "result", r->out.result);
15070 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15072 if (flags & NDR_IN) {
15074 if (flags & NDR_OUT) {
15075 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15077 return NDR_ERR_SUCCESS;
15080 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15082 if (flags & NDR_IN) {
15084 if (flags & NDR_OUT) {
15085 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15087 return NDR_ERR_SUCCESS;
15090 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15092 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15094 if (flags & NDR_SET_VALUES) {
15095 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15097 if (flags & NDR_IN) {
15098 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15102 if (flags & NDR_OUT) {
15103 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15105 ndr_print_WERROR(ndr, "result", r->out.result);
15111 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15113 if (flags & NDR_IN) {
15114 if (r->in.bind_handle == NULL) {
15115 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15117 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15119 if (r->in.req == NULL) {
15120 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15122 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15123 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15125 if (flags & NDR_OUT) {
15126 if (r->out.level_out == NULL) {
15127 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15130 if (r->out.ctr == NULL) {
15131 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15133 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15134 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15135 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15137 return NDR_ERR_SUCCESS;
15140 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15142 TALLOC_CTX *_mem_save_bind_handle_0;
15143 TALLOC_CTX *_mem_save_req_0;
15144 TALLOC_CTX *_mem_save_level_out_0;
15145 TALLOC_CTX *_mem_save_ctr_0;
15146 if (flags & NDR_IN) {
15147 ZERO_STRUCT(r->out);
15149 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15150 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15152 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15153 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15154 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15156 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15157 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15158 NDR_PULL_ALLOC(ndr, r->in.req);
15160 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15161 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15162 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15163 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15165 NDR_PULL_ALLOC(ndr, r->out.level_out);
15166 ZERO_STRUCTP(r->out.level_out);
15167 NDR_PULL_ALLOC(ndr, r->out.ctr);
15168 ZERO_STRUCTP(r->out.ctr);
15170 if (flags & NDR_OUT) {
15171 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15172 NDR_PULL_ALLOC(ndr, r->out.level_out);
15174 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15175 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15176 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15178 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15179 NDR_PULL_ALLOC(ndr, r->out.ctr);
15181 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15182 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15183 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15184 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15186 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15188 return NDR_ERR_SUCCESS;
15191 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15193 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15195 if (flags & NDR_SET_VALUES) {
15196 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15198 if (flags & NDR_IN) {
15199 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15201 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15203 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15205 ndr_print_uint32(ndr, "level", r->in.level);
15206 ndr_print_ptr(ndr, "req", r->in.req);
15208 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15209 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15213 if (flags & NDR_OUT) {
15214 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15216 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15218 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15220 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15222 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15223 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15225 ndr_print_WERROR(ndr, "result", r->out.result);
15231 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15233 if (flags & NDR_IN) {
15235 if (flags & NDR_OUT) {
15236 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15238 return NDR_ERR_SUCCESS;
15241 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15243 if (flags & NDR_IN) {
15245 if (flags & NDR_OUT) {
15246 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15248 return NDR_ERR_SUCCESS;
15251 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15253 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15255 if (flags & NDR_SET_VALUES) {
15256 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15258 if (flags & NDR_IN) {
15259 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15263 if (flags & NDR_OUT) {
15264 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15266 ndr_print_WERROR(ndr, "result", r->out.result);
15272 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15274 if (flags & NDR_IN) {
15276 if (flags & NDR_OUT) {
15277 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15279 return NDR_ERR_SUCCESS;
15282 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15284 if (flags & NDR_IN) {
15286 if (flags & NDR_OUT) {
15287 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15289 return NDR_ERR_SUCCESS;
15292 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15294 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15296 if (flags & NDR_SET_VALUES) {
15297 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15299 if (flags & NDR_IN) {
15300 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15304 if (flags & NDR_OUT) {
15305 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15307 ndr_print_WERROR(ndr, "result", r->out.result);
15313 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15315 if (flags & NDR_IN) {
15316 if (r->in.bind_handle == NULL) {
15317 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15319 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15321 if (r->in.req == NULL) {
15322 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15324 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15325 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15327 if (flags & NDR_OUT) {
15328 if (r->out.level_out == NULL) {
15329 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15332 if (r->out.ctr == NULL) {
15333 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15335 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15336 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15337 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15339 return NDR_ERR_SUCCESS;
15342 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15344 TALLOC_CTX *_mem_save_bind_handle_0;
15345 TALLOC_CTX *_mem_save_req_0;
15346 TALLOC_CTX *_mem_save_level_out_0;
15347 TALLOC_CTX *_mem_save_ctr_0;
15348 if (flags & NDR_IN) {
15349 ZERO_STRUCT(r->out);
15351 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15352 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15354 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15355 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15356 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15359 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15360 NDR_PULL_ALLOC(ndr, r->in.req);
15362 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15363 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15364 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15365 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15367 NDR_PULL_ALLOC(ndr, r->out.level_out);
15368 ZERO_STRUCTP(r->out.level_out);
15369 NDR_PULL_ALLOC(ndr, r->out.ctr);
15370 ZERO_STRUCTP(r->out.ctr);
15372 if (flags & NDR_OUT) {
15373 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15374 NDR_PULL_ALLOC(ndr, r->out.level_out);
15376 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15377 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15378 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15380 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15381 NDR_PULL_ALLOC(ndr, r->out.ctr);
15383 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15384 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15385 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15386 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15388 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15390 return NDR_ERR_SUCCESS;
15393 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15395 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15397 if (flags & NDR_SET_VALUES) {
15398 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15400 if (flags & NDR_IN) {
15401 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15403 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15405 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15407 ndr_print_uint32(ndr, "level", r->in.level);
15408 ndr_print_ptr(ndr, "req", r->in.req);
15410 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15411 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15415 if (flags & NDR_OUT) {
15416 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15418 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15420 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15422 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15424 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15425 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15427 ndr_print_WERROR(ndr, "result", r->out.result);
15433 static const struct ndr_interface_call drsuapi_calls[] = {
15436 sizeof(struct drsuapi_DsBind),
15437 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15438 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15439 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15443 "drsuapi_DsUnbind",
15444 sizeof(struct drsuapi_DsUnbind),
15445 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15446 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15447 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15451 "drsuapi_DsReplicaSync",
15452 sizeof(struct drsuapi_DsReplicaSync),
15453 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15454 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15455 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15459 "drsuapi_DsGetNCChanges",
15460 sizeof(struct drsuapi_DsGetNCChanges),
15461 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15462 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15463 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15467 "drsuapi_DsReplicaUpdateRefs",
15468 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15469 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15470 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15471 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15475 "drsuapi_DsReplicaAdd",
15476 sizeof(struct drsuapi_DsReplicaAdd),
15477 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15478 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15479 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15483 "drsuapi_DsReplicaDel",
15484 sizeof(struct drsuapi_DsReplicaDel),
15485 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15486 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15487 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15491 "drsuapi_DsReplicaMod",
15492 sizeof(struct drsuapi_DsReplicaMod),
15493 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15494 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15495 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15499 "DRSUAPI_VERIFY_NAMES",
15500 sizeof(struct DRSUAPI_VERIFY_NAMES),
15501 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15502 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15503 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15507 "drsuapi_DsGetMemberships",
15508 sizeof(struct drsuapi_DsGetMemberships),
15509 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15510 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15511 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15515 "DRSUAPI_INTER_DOMAIN_MOVE",
15516 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15517 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15518 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15519 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15523 "drsuapi_DsGetNT4ChangeLog",
15524 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15525 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15526 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15527 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15531 "drsuapi_DsCrackNames",
15532 sizeof(struct drsuapi_DsCrackNames),
15533 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15534 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15535 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15539 "drsuapi_DsWriteAccountSpn",
15540 sizeof(struct drsuapi_DsWriteAccountSpn),
15541 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15542 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15543 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15547 "drsuapi_DsRemoveDSServer",
15548 sizeof(struct drsuapi_DsRemoveDSServer),
15549 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15550 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15551 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15555 "DRSUAPI_REMOVE_DS_DOMAIN",
15556 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15557 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15558 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15559 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15563 "drsuapi_DsGetDomainControllerInfo",
15564 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15565 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15566 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15567 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15571 "drsuapi_DsAddEntry",
15572 sizeof(struct drsuapi_DsAddEntry),
15573 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15574 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15575 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15579 "drsuapi_DsExecuteKCC",
15580 sizeof(struct drsuapi_DsExecuteKCC),
15581 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15582 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15583 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15587 "drsuapi_DsReplicaGetInfo",
15588 sizeof(struct drsuapi_DsReplicaGetInfo),
15589 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15590 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15591 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15595 "DRSUAPI_ADD_SID_HISTORY",
15596 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15597 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15598 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15599 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15603 "drsuapi_DsGetMemberships2",
15604 sizeof(struct drsuapi_DsGetMemberships2),
15605 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15606 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15607 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15611 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15612 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15613 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15614 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15615 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15619 "DRSUAPI_GET_OBJECT_EXISTENCE",
15620 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15621 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15622 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15623 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15627 "drsuapi_QuerySitesByCost",
15628 sizeof(struct drsuapi_QuerySitesByCost),
15629 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15630 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15631 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15634 { NULL, 0, NULL, NULL, NULL, false }
15637 static const char * const drsuapi_endpoint_strings[] = {
15638 "ncacn_np:[\\pipe\\lsass]",
15639 "ncacn_np:[\\pipe\\protected_storage]",
15644 static const struct ndr_interface_string_array drsuapi_endpoints = {
15646 .names = drsuapi_endpoint_strings
15649 static const char * const drsuapi_authservice_strings[] = {
15653 static const struct ndr_interface_string_array drsuapi_authservices = {
15655 .names = drsuapi_authservice_strings
15659 const struct ndr_interface_table ndr_table_drsuapi = {
15662 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15663 NDR_DRSUAPI_VERSION
15665 .helpstring = NDR_DRSUAPI_HELPSTRING,
15667 .calls = drsuapi_calls,
15668 .endpoints = &drsuapi_endpoints,
15669 .authservices = &drsuapi_authservices