s3-passdb: Fix typo in debug message.
[Samba/gebeck_regimport.git] / librpc / gen_ndr / ndr_drsuapi.c
blob6d45e2d9773f0f2318f3f5085e6165fbe0bb2b47
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
12 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
13 return NDR_ERR_SUCCESS;
16 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18 uint32_t v;
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20 *r = v;
21 return NDR_ERR_SUCCESS;
24 _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
26 ndr_print_uint32(ndr, name, r);
27 ndr->depth++;
28 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_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);
67 ndr->depth--;
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)
78 uint32_t v;
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
80 *r = 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);
87 ndr->depth++;
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);
122 ndr->depth--;
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)
133 uint32_t v;
134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
135 *r = 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);
142 ndr->depth++;
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);
146 ndr->depth--;
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");
180 ndr->depth++;
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);
184 ndr->depth--;
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");
220 ndr->depth++;
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);
225 ndr->depth--;
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");
265 ndr->depth++;
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);
272 ndr->depth--;
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");
312 ndr->depth++;
313 ndr_print_DATA_BLOB(ndr, "info", r->info);
314 ndr->depth--;
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));
322 switch (level) {
323 case 24: {
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));
330 break; }
332 case 28: {
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));
339 break; }
341 case 48: {
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));
348 break; }
350 default: {
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));
357 break; }
361 if (ndr_flags & NDR_BUFFERS) {
362 int level = ndr_push_get_switch_value(ndr, r);
363 switch (level) {
364 case 24:
365 break;
367 case 28:
368 break;
370 case 48:
371 break;
373 default:
374 break;
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)
383 int level;
384 level = ndr_pull_get_switch_value(ndr, r);
385 if (ndr_flags & NDR_SCALARS) {
386 NDR_CHECK(ndr_pull_union_align(ndr, 1));
387 switch (level) {
388 case 24: {
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));
395 break; }
397 case 28: {
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));
404 break; }
406 case 48: {
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));
413 break; }
415 default: {
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));
422 break; }
426 if (ndr_flags & NDR_BUFFERS) {
427 switch (level) {
428 case 24:
429 break;
431 case 28:
432 break;
434 case 48:
435 break;
437 default:
438 break;
442 return NDR_ERR_SUCCESS;
445 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
447 int level;
448 level = ndr_print_get_switch_value(ndr, r);
449 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
450 switch (level) {
451 case 24:
452 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
453 break;
455 case 28:
456 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
457 break;
459 case 48:
460 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
461 break;
463 default:
464 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
465 break;
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");
504 ndr->depth++;
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);
508 ndr->depth--;
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));
541 if (r->dn) {
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");
555 ndr->depth++;
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);
562 ndr->depth--;
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 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
573 return NDR_ERR_SUCCESS;
576 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
578 uint32_t v;
579 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
580 *r = v;
581 return NDR_ERR_SUCCESS;
584 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
586 ndr_print_uint32(ndr, name, r);
587 ndr->depth++;
588 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
589 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
590 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
591 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
592 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
593 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
594 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
595 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
596 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
597 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
598 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
599 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
600 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
601 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
602 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
603 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
604 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
605 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
606 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
607 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
608 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
609 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
610 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
611 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
612 ndr->depth--;
615 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
617 if (ndr_flags & NDR_SCALARS) {
618 NDR_CHECK(ndr_push_align(ndr, 5));
619 if (r->naming_context == NULL) {
620 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
622 NDR_CHECK(ndr_push_ref_ptr(ndr));
623 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
625 uint32_t _flags_save_string = ndr->flags;
626 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
628 ndr->flags = _flags_save_string;
630 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
631 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
633 if (ndr_flags & NDR_BUFFERS) {
634 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
636 uint32_t _flags_save_string = ndr->flags;
637 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
638 if (r->source_dsa_dns) {
639 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_dsa_dns));
641 ndr->flags = _flags_save_string;
644 return NDR_ERR_SUCCESS;
647 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
649 uint32_t _ptr_naming_context;
650 TALLOC_CTX *_mem_save_naming_context_0;
651 uint32_t _ptr_source_dsa_dns;
652 TALLOC_CTX *_mem_save_source_dsa_dns_0;
653 if (ndr_flags & NDR_SCALARS) {
654 NDR_CHECK(ndr_pull_align(ndr, 5));
655 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
656 if (_ptr_naming_context) {
657 NDR_PULL_ALLOC(ndr, r->naming_context);
658 } else {
659 r->naming_context = NULL;
661 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
663 uint32_t _flags_save_string = ndr->flags;
664 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
666 if (_ptr_source_dsa_dns) {
667 NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
668 } else {
669 r->source_dsa_dns = NULL;
671 ndr->flags = _flags_save_string;
673 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
674 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
676 if (ndr_flags & NDR_BUFFERS) {
677 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
678 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
682 uint32_t _flags_save_string = ndr->flags;
683 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
684 if (r->source_dsa_dns) {
685 _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
686 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
687 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_dsa_dns));
688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
690 ndr->flags = _flags_save_string;
693 return NDR_ERR_SUCCESS;
696 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
698 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
699 ndr->depth++;
700 ndr_print_ptr(ndr, "naming_context", r->naming_context);
701 ndr->depth++;
702 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
703 ndr->depth--;
704 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
705 ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
706 ndr->depth++;
707 if (r->source_dsa_dns) {
708 ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
710 ndr->depth--;
711 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
712 ndr->depth--;
715 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
717 if (ndr_flags & NDR_SCALARS) {
718 int level = ndr_push_get_switch_value(ndr, r);
719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
720 NDR_CHECK(ndr_push_union_align(ndr, 5));
721 switch (level) {
722 case 1: {
723 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
724 break; }
726 default:
727 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
730 if (ndr_flags & NDR_BUFFERS) {
731 int level = ndr_push_get_switch_value(ndr, r);
732 switch (level) {
733 case 1:
734 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
735 break;
737 default:
738 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
741 return NDR_ERR_SUCCESS;
744 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
746 int level;
747 uint32_t _level;
748 level = ndr_pull_get_switch_value(ndr, r);
749 if (ndr_flags & NDR_SCALARS) {
750 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
751 if (_level != level) {
752 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
754 NDR_CHECK(ndr_pull_union_align(ndr, 5));
755 switch (level) {
756 case 1: {
757 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
758 break; }
760 default:
761 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
764 if (ndr_flags & NDR_BUFFERS) {
765 switch (level) {
766 case 1:
767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
768 break;
770 default:
771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
774 return NDR_ERR_SUCCESS;
777 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
779 int level;
780 level = ndr_print_get_switch_value(ndr, r);
781 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
782 switch (level) {
783 case 1:
784 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
785 break;
787 default:
788 ndr_print_bad_level(ndr, name, level);
792 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
794 if (ndr_flags & NDR_SCALARS) {
795 NDR_CHECK(ndr_push_align(ndr, 8));
796 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
797 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
798 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
799 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
801 if (ndr_flags & NDR_BUFFERS) {
803 return NDR_ERR_SUCCESS;
806 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
808 if (ndr_flags & NDR_SCALARS) {
809 NDR_CHECK(ndr_pull_align(ndr, 8));
810 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
811 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
812 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
813 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
815 if (ndr_flags & NDR_BUFFERS) {
817 return NDR_ERR_SUCCESS;
820 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
822 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
823 ndr->depth++;
824 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
825 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
826 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
827 ndr->depth--;
830 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
832 if (ndr_flags & NDR_SCALARS) {
833 NDR_CHECK(ndr_push_align(ndr, 8));
834 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
835 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
836 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
838 if (ndr_flags & NDR_BUFFERS) {
840 return NDR_ERR_SUCCESS;
843 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
845 if (ndr_flags & NDR_SCALARS) {
846 NDR_CHECK(ndr_pull_align(ndr, 8));
847 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
848 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
849 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
851 if (ndr_flags & NDR_BUFFERS) {
853 return NDR_ERR_SUCCESS;
856 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
858 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
859 ndr->depth++;
860 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
861 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
862 ndr->depth--;
865 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
867 uint32_t cntr_cursors_0;
868 if (ndr_flags & NDR_SCALARS) {
869 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
870 NDR_CHECK(ndr_push_align(ndr, 8));
871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
875 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
876 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
878 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
880 if (ndr_flags & NDR_BUFFERS) {
882 return NDR_ERR_SUCCESS;
885 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
887 uint32_t cntr_cursors_0;
888 TALLOC_CTX *_mem_save_cursors_0;
889 if (ndr_flags & NDR_SCALARS) {
890 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
891 NDR_CHECK(ndr_pull_align(ndr, 8));
892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
895 if (r->count > 0x100000) {
896 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
898 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
899 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
900 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
901 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
902 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
903 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
906 if (r->cursors) {
907 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
909 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
911 if (ndr_flags & NDR_BUFFERS) {
913 return NDR_ERR_SUCCESS;
916 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
918 uint32_t cntr_cursors_0;
919 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
920 ndr->depth++;
921 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
922 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
923 ndr_print_uint32(ndr, "count", r->count);
924 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
925 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
926 ndr->depth++;
927 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
928 char *idx_0=NULL;
929 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
930 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
931 free(idx_0);
934 ndr->depth--;
935 ndr->depth--;
938 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
941 uint32_t _flags_save_ENUM = ndr->flags;
942 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
943 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
944 ndr->flags = _flags_save_ENUM;
946 return NDR_ERR_SUCCESS;
949 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
951 uint32_t v;
953 uint32_t _flags_save_ENUM = ndr->flags;
954 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
955 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
956 *r = v;
957 ndr->flags = _flags_save_ENUM;
959 return NDR_ERR_SUCCESS;
962 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
964 const char *val = NULL;
967 uint32_t _flags_save_ENUM = ndr->flags;
968 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
969 switch (r) {
970 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
971 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
972 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
973 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
974 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
975 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
976 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
977 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
979 ndr_print_enum(ndr, name, "ENUM", val, r);
980 ndr->flags = _flags_save_ENUM;
984 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
987 uint32_t _flags_save_ENUM = ndr->flags;
988 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
989 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
990 ndr->flags = _flags_save_ENUM;
992 return NDR_ERR_SUCCESS;
995 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
997 uint32_t v;
999 uint32_t _flags_save_ENUM = ndr->flags;
1000 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1001 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1002 *r = v;
1003 ndr->flags = _flags_save_ENUM;
1005 return NDR_ERR_SUCCESS;
1008 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
1010 const char *val = NULL;
1013 uint32_t _flags_save_ENUM = ndr->flags;
1014 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1015 switch (r) {
1016 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
1017 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1018 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1019 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1020 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1021 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1022 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1023 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1024 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1025 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1026 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1027 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1028 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1029 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1030 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1031 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1032 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1034 ndr_print_enum(ndr, name, "ENUM", val, r);
1035 ndr->flags = _flags_save_ENUM;
1039 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1041 if (ndr_flags & NDR_SCALARS) {
1042 NDR_CHECK(ndr_push_align(ndr, 8));
1043 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1044 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1045 if (r->naming_context == NULL) {
1046 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1048 NDR_CHECK(ndr_push_ref_ptr(ndr));
1049 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1050 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1051 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1053 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1054 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1055 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1056 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1058 if (ndr_flags & NDR_BUFFERS) {
1059 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1060 if (r->uptodateness_vector) {
1061 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1064 return NDR_ERR_SUCCESS;
1067 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1069 uint32_t _ptr_naming_context;
1070 TALLOC_CTX *_mem_save_naming_context_0;
1071 uint32_t _ptr_uptodateness_vector;
1072 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1073 if (ndr_flags & NDR_SCALARS) {
1074 NDR_CHECK(ndr_pull_align(ndr, 8));
1075 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1076 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1077 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1078 if (_ptr_naming_context) {
1079 NDR_PULL_ALLOC(ndr, r->naming_context);
1080 } else {
1081 r->naming_context = NULL;
1083 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1084 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1085 if (_ptr_uptodateness_vector) {
1086 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1087 } else {
1088 r->uptodateness_vector = NULL;
1090 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1093 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1094 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1095 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1097 if (ndr_flags & NDR_BUFFERS) {
1098 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1099 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1102 if (r->uptodateness_vector) {
1103 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1104 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1105 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1109 return NDR_ERR_SUCCESS;
1112 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1114 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1115 ndr->depth++;
1116 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1117 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1118 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1119 ndr->depth++;
1120 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1121 ndr->depth--;
1122 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1123 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1124 ndr->depth++;
1125 if (r->uptodateness_vector) {
1126 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1128 ndr->depth--;
1129 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1130 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1131 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1132 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1133 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1134 ndr->depth--;
1137 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1139 if (ndr_flags & NDR_SCALARS) {
1140 NDR_CHECK(ndr_push_align(ndr, 5));
1141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1142 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1143 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1145 if (ndr_flags & NDR_BUFFERS) {
1146 if (r->binary_oid) {
1147 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1148 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1151 return NDR_ERR_SUCCESS;
1154 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1156 uint32_t _ptr_binary_oid;
1157 TALLOC_CTX *_mem_save_binary_oid_0;
1158 if (ndr_flags & NDR_SCALARS) {
1159 NDR_CHECK(ndr_pull_align(ndr, 5));
1160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1161 if (r->length > 10000) {
1162 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1164 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1165 if (_ptr_binary_oid) {
1166 NDR_PULL_ALLOC(ndr, r->binary_oid);
1167 } else {
1168 r->binary_oid = NULL;
1170 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1172 if (ndr_flags & NDR_BUFFERS) {
1173 if (r->binary_oid) {
1174 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1175 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1176 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1177 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1178 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1181 if (r->binary_oid) {
1182 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1185 return NDR_ERR_SUCCESS;
1188 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1190 if (ndr_flags & NDR_SCALARS) {
1191 NDR_CHECK(ndr_push_align(ndr, 5));
1192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1193 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1194 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1196 if (ndr_flags & NDR_BUFFERS) {
1197 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1199 return NDR_ERR_SUCCESS;
1202 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1204 if (ndr_flags & NDR_SCALARS) {
1205 NDR_CHECK(ndr_pull_align(ndr, 5));
1206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1208 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1210 if (ndr_flags & NDR_BUFFERS) {
1211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1213 return NDR_ERR_SUCCESS;
1216 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1218 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1219 ndr->depth++;
1220 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1221 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1222 ndr->depth--;
1225 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1227 uint32_t cntr_mappings_1;
1228 if (ndr_flags & NDR_SCALARS) {
1229 NDR_CHECK(ndr_push_align(ndr, 5));
1230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1232 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1234 if (ndr_flags & NDR_BUFFERS) {
1235 if (r->mappings) {
1236 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1237 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1238 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1240 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1241 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1245 return NDR_ERR_SUCCESS;
1248 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1250 uint32_t _ptr_mappings;
1251 uint32_t cntr_mappings_1;
1252 TALLOC_CTX *_mem_save_mappings_0;
1253 TALLOC_CTX *_mem_save_mappings_1;
1254 if (ndr_flags & NDR_SCALARS) {
1255 NDR_CHECK(ndr_pull_align(ndr, 5));
1256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1257 if (r->num_mappings > 0x100000) {
1258 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1261 if (_ptr_mappings) {
1262 NDR_PULL_ALLOC(ndr, r->mappings);
1263 } else {
1264 r->mappings = NULL;
1266 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1268 if (ndr_flags & NDR_BUFFERS) {
1269 if (r->mappings) {
1270 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1271 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1272 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1273 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1274 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1275 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1276 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1277 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1279 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1285 if (r->mappings) {
1286 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1289 return NDR_ERR_SUCCESS;
1292 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1294 uint32_t cntr_mappings_1;
1295 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1296 ndr->depth++;
1297 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1298 ndr_print_ptr(ndr, "mappings", r->mappings);
1299 ndr->depth++;
1300 if (r->mappings) {
1301 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1302 ndr->depth++;
1303 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1304 char *idx_1=NULL;
1305 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1306 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1307 free(idx_1);
1310 ndr->depth--;
1312 ndr->depth--;
1313 ndr->depth--;
1316 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1319 uint32_t _flags_save_ENUM = ndr->flags;
1320 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1321 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1322 ndr->flags = _flags_save_ENUM;
1324 return NDR_ERR_SUCCESS;
1327 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1329 uint32_t v;
1331 uint32_t _flags_save_ENUM = ndr->flags;
1332 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1333 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1334 *r = v;
1335 ndr->flags = _flags_save_ENUM;
1337 return NDR_ERR_SUCCESS;
1340 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1342 const char *val = NULL;
1345 uint32_t _flags_save_ENUM = ndr->flags;
1346 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1347 switch (r) {
1348 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1349 case DRSUAPI_ATTRIBUTE_cn: val = "DRSUAPI_ATTRIBUTE_cn"; break;
1350 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1351 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1352 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1353 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1354 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1355 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1356 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1357 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1358 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1359 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1360 case DRSUAPI_ATTRIBUTE_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1361 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1362 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1363 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1364 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1365 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1366 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1367 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1368 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1369 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1370 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1371 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1372 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1373 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1374 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1375 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1376 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1377 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1378 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1379 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1380 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1381 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1382 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1383 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1384 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1385 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1386 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1387 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1388 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1389 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1390 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1391 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1392 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1393 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1394 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1395 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1396 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1397 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1398 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1399 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1400 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1401 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1402 case DRSUAPI_ATTRIBUTE_options: val = "DRSUAPI_ATTRIBUTE_options"; break;
1403 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1404 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1405 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1406 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1407 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1408 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1409 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1410 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1411 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1412 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1413 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1414 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1415 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1416 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1417 case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1418 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1419 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1420 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1421 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1422 case DRSUAPI_ATTRIBUTE_NONE: val = "DRSUAPI_ATTRIBUTE_NONE"; break;
1424 ndr_print_enum(ndr, name, "ENUM", val, r);
1425 ndr->flags = _flags_save_ENUM;
1429 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1431 uint32_t cntr_attids_0;
1432 if (ndr_flags & NDR_SCALARS) {
1433 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1434 NDR_CHECK(ndr_push_align(ndr, 4));
1435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1438 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1439 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1441 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1443 if (ndr_flags & NDR_BUFFERS) {
1445 return NDR_ERR_SUCCESS;
1448 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1450 uint32_t cntr_attids_0;
1451 TALLOC_CTX *_mem_save_attids_0;
1452 if (ndr_flags & NDR_SCALARS) {
1453 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1454 NDR_CHECK(ndr_pull_align(ndr, 4));
1455 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1458 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1459 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1461 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1462 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1463 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1464 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1465 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1468 if (r->attids) {
1469 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1471 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1473 if (ndr_flags & NDR_BUFFERS) {
1475 return NDR_ERR_SUCCESS;
1478 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1480 uint32_t cntr_attids_0;
1481 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1482 ndr->depth++;
1483 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1484 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1485 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1486 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1487 ndr->depth++;
1488 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1489 char *idx_0=NULL;
1490 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1491 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1492 free(idx_0);
1495 ndr->depth--;
1496 ndr->depth--;
1499 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1501 if (ndr_flags & NDR_SCALARS) {
1502 NDR_CHECK(ndr_push_align(ndr, 8));
1503 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1504 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1505 if (r->naming_context == NULL) {
1506 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1508 NDR_CHECK(ndr_push_ref_ptr(ndr));
1509 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1510 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1511 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1514 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1515 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1516 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1517 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1518 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1519 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1521 if (ndr_flags & NDR_BUFFERS) {
1522 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1523 if (r->uptodateness_vector) {
1524 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1526 if (r->partial_attribute_set) {
1527 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1529 if (r->partial_attribute_set_ex) {
1530 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1532 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1534 return NDR_ERR_SUCCESS;
1537 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1539 uint32_t _ptr_naming_context;
1540 TALLOC_CTX *_mem_save_naming_context_0;
1541 uint32_t _ptr_uptodateness_vector;
1542 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1543 uint32_t _ptr_partial_attribute_set;
1544 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1545 uint32_t _ptr_partial_attribute_set_ex;
1546 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1547 if (ndr_flags & NDR_SCALARS) {
1548 NDR_CHECK(ndr_pull_align(ndr, 8));
1549 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1550 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1551 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1552 if (_ptr_naming_context) {
1553 NDR_PULL_ALLOC(ndr, r->naming_context);
1554 } else {
1555 r->naming_context = NULL;
1557 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1559 if (_ptr_uptodateness_vector) {
1560 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1561 } else {
1562 r->uptodateness_vector = NULL;
1564 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1567 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1568 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1569 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1570 if (_ptr_partial_attribute_set) {
1571 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1572 } else {
1573 r->partial_attribute_set = NULL;
1575 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1576 if (_ptr_partial_attribute_set_ex) {
1577 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1578 } else {
1579 r->partial_attribute_set_ex = NULL;
1581 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1582 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1584 if (ndr_flags & NDR_BUFFERS) {
1585 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1586 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1587 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1589 if (r->uptodateness_vector) {
1590 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1591 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1592 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1595 if (r->partial_attribute_set) {
1596 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1597 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1598 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1601 if (r->partial_attribute_set_ex) {
1602 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1603 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1604 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1607 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1609 return NDR_ERR_SUCCESS;
1612 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1614 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1615 ndr->depth++;
1616 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1617 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1618 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1619 ndr->depth++;
1620 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1621 ndr->depth--;
1622 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1623 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1624 ndr->depth++;
1625 if (r->uptodateness_vector) {
1626 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1628 ndr->depth--;
1629 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1630 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1631 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1632 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1633 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1634 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1635 ndr->depth++;
1636 if (r->partial_attribute_set) {
1637 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1639 ndr->depth--;
1640 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1641 ndr->depth++;
1642 if (r->partial_attribute_set_ex) {
1643 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1645 ndr->depth--;
1646 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1647 ndr->depth--;
1650 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1652 if (ndr_flags & NDR_SCALARS) {
1653 NDR_CHECK(ndr_push_align(ndr, 8));
1654 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1655 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1656 if (r->naming_context == NULL) {
1657 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1659 NDR_CHECK(ndr_push_ref_ptr(ndr));
1660 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1661 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1662 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1665 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1666 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1667 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1668 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1669 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1671 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1673 if (ndr_flags & NDR_BUFFERS) {
1674 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1675 if (r->uptodateness_vector) {
1676 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1678 if (r->partial_attribute_set) {
1679 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1681 if (r->partial_attribute_set_ex) {
1682 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1684 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1686 return NDR_ERR_SUCCESS;
1689 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1691 uint32_t _ptr_naming_context;
1692 TALLOC_CTX *_mem_save_naming_context_0;
1693 uint32_t _ptr_uptodateness_vector;
1694 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1695 uint32_t _ptr_partial_attribute_set;
1696 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1697 uint32_t _ptr_partial_attribute_set_ex;
1698 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1699 if (ndr_flags & NDR_SCALARS) {
1700 NDR_CHECK(ndr_pull_align(ndr, 8));
1701 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1702 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1703 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1704 if (_ptr_naming_context) {
1705 NDR_PULL_ALLOC(ndr, r->naming_context);
1706 } else {
1707 r->naming_context = NULL;
1709 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1710 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1711 if (_ptr_uptodateness_vector) {
1712 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1713 } else {
1714 r->uptodateness_vector = NULL;
1716 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1717 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1719 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1720 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1721 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1722 if (_ptr_partial_attribute_set) {
1723 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1724 } else {
1725 r->partial_attribute_set = NULL;
1727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1728 if (_ptr_partial_attribute_set_ex) {
1729 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1730 } else {
1731 r->partial_attribute_set_ex = NULL;
1733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1735 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1737 if (ndr_flags & NDR_BUFFERS) {
1738 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1739 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1740 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1742 if (r->uptodateness_vector) {
1743 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1744 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1748 if (r->partial_attribute_set) {
1749 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1750 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1751 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1752 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1754 if (r->partial_attribute_set_ex) {
1755 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1756 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1757 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1762 return NDR_ERR_SUCCESS;
1765 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1767 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1768 ndr->depth++;
1769 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1770 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1771 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1772 ndr->depth++;
1773 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1774 ndr->depth--;
1775 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1776 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1777 ndr->depth++;
1778 if (r->uptodateness_vector) {
1779 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1781 ndr->depth--;
1782 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1783 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1784 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1785 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1786 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1787 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1788 ndr->depth++;
1789 if (r->partial_attribute_set) {
1790 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1792 ndr->depth--;
1793 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1794 ndr->depth++;
1795 if (r->partial_attribute_set_ex) {
1796 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1798 ndr->depth--;
1799 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1800 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1801 ndr->depth--;
1804 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1806 if (ndr_flags & NDR_SCALARS) {
1807 int level = ndr_push_get_switch_value(ndr, r);
1808 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1809 NDR_CHECK(ndr_push_union_align(ndr, 8));
1810 switch (level) {
1811 case 5: {
1812 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1813 break; }
1815 case 8: {
1816 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1817 break; }
1819 case 10: {
1820 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1821 break; }
1823 default:
1824 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1827 if (ndr_flags & NDR_BUFFERS) {
1828 int level = ndr_push_get_switch_value(ndr, r);
1829 switch (level) {
1830 case 5:
1831 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1832 break;
1834 case 8:
1835 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1836 break;
1838 case 10:
1839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1840 break;
1842 default:
1843 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1846 return NDR_ERR_SUCCESS;
1849 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1851 int level;
1852 int32_t _level;
1853 level = ndr_pull_get_switch_value(ndr, r);
1854 if (ndr_flags & NDR_SCALARS) {
1855 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1856 if (_level != level) {
1857 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1859 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1860 switch (level) {
1861 case 5: {
1862 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1863 break; }
1865 case 8: {
1866 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1867 break; }
1869 case 10: {
1870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1871 break; }
1873 default:
1874 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1877 if (ndr_flags & NDR_BUFFERS) {
1878 switch (level) {
1879 case 5:
1880 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1881 break;
1883 case 8:
1884 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1885 break;
1887 case 10:
1888 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1889 break;
1891 default:
1892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1895 return NDR_ERR_SUCCESS;
1898 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1900 int level;
1901 level = ndr_print_get_switch_value(ndr, r);
1902 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1903 switch (level) {
1904 case 5:
1905 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1906 break;
1908 case 8:
1909 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1910 break;
1912 case 10:
1913 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1914 break;
1916 default:
1917 ndr_print_bad_level(ndr, name, level);
1921 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1923 if (ndr_flags & NDR_SCALARS) {
1924 NDR_CHECK(ndr_push_align(ndr, 8));
1925 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1926 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1927 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1928 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1930 if (ndr_flags & NDR_BUFFERS) {
1932 return NDR_ERR_SUCCESS;
1935 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1937 if (ndr_flags & NDR_SCALARS) {
1938 NDR_CHECK(ndr_pull_align(ndr, 8));
1939 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1940 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1941 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1942 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1944 if (ndr_flags & NDR_BUFFERS) {
1946 return NDR_ERR_SUCCESS;
1949 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1951 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1952 ndr->depth++;
1953 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1954 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1955 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1956 ndr->depth--;
1959 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1961 uint32_t cntr_cursors_0;
1962 if (ndr_flags & NDR_SCALARS) {
1963 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1964 NDR_CHECK(ndr_push_align(ndr, 8));
1965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1969 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1970 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1972 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1974 if (ndr_flags & NDR_BUFFERS) {
1976 return NDR_ERR_SUCCESS;
1979 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1981 uint32_t cntr_cursors_0;
1982 TALLOC_CTX *_mem_save_cursors_0;
1983 if (ndr_flags & NDR_SCALARS) {
1984 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1985 NDR_CHECK(ndr_pull_align(ndr, 8));
1986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1988 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1989 if (r->count > 0x100000) {
1990 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1992 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1993 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1994 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1995 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1996 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2000 if (r->cursors) {
2001 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2003 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2005 if (ndr_flags & NDR_BUFFERS) {
2007 return NDR_ERR_SUCCESS;
2010 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2012 uint32_t cntr_cursors_0;
2013 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2014 ndr->depth++;
2015 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2016 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2017 ndr_print_uint32(ndr, "count", r->count);
2018 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2019 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2020 ndr->depth++;
2021 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2022 char *idx_0=NULL;
2023 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2024 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2025 free(idx_0);
2028 ndr->depth--;
2029 ndr->depth--;
2032 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2034 if (ndr_flags & NDR_SCALARS) {
2035 NDR_CHECK(ndr_push_align(ndr, 5));
2036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2037 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2038 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2040 if (ndr_flags & NDR_BUFFERS) {
2041 if (r->blob) {
2042 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2045 return NDR_ERR_SUCCESS;
2048 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2050 uint32_t _ptr_blob;
2051 TALLOC_CTX *_mem_save_blob_0;
2052 if (ndr_flags & NDR_SCALARS) {
2053 NDR_CHECK(ndr_pull_align(ndr, 5));
2054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2055 if (r->__ndr_size > 10485760) {
2056 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2059 if (_ptr_blob) {
2060 NDR_PULL_ALLOC(ndr, r->blob);
2061 } else {
2062 r->blob = NULL;
2064 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2066 if (ndr_flags & NDR_BUFFERS) {
2067 if (r->blob) {
2068 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2069 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2070 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2074 return NDR_ERR_SUCCESS;
2077 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2079 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2080 ndr->depth++;
2081 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2082 ndr_print_ptr(ndr, "blob", r->blob);
2083 ndr->depth++;
2084 if (r->blob) {
2085 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2087 ndr->depth--;
2088 ndr->depth--;
2091 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2093 uint32_t cntr_values_1;
2094 if (ndr_flags & NDR_SCALARS) {
2095 NDR_CHECK(ndr_push_align(ndr, 5));
2096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2098 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2100 if (ndr_flags & NDR_BUFFERS) {
2101 if (r->values) {
2102 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2103 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2104 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2106 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2107 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2111 return NDR_ERR_SUCCESS;
2114 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2116 uint32_t _ptr_values;
2117 uint32_t cntr_values_1;
2118 TALLOC_CTX *_mem_save_values_0;
2119 TALLOC_CTX *_mem_save_values_1;
2120 if (ndr_flags & NDR_SCALARS) {
2121 NDR_CHECK(ndr_pull_align(ndr, 5));
2122 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2123 if (r->num_values > 10485760) {
2124 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2126 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2127 if (_ptr_values) {
2128 NDR_PULL_ALLOC(ndr, r->values);
2129 } else {
2130 r->values = NULL;
2132 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2134 if (ndr_flags & NDR_BUFFERS) {
2135 if (r->values) {
2136 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2137 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2138 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2139 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2140 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2141 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2142 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2143 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2145 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2146 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2151 if (r->values) {
2152 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2155 return NDR_ERR_SUCCESS;
2158 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2160 uint32_t cntr_values_1;
2161 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2162 ndr->depth++;
2163 ndr_print_uint32(ndr, "num_values", r->num_values);
2164 ndr_print_ptr(ndr, "values", r->values);
2165 ndr->depth++;
2166 if (r->values) {
2167 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2168 ndr->depth++;
2169 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2170 char *idx_1=NULL;
2171 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2172 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2173 free(idx_1);
2176 ndr->depth--;
2178 ndr->depth--;
2179 ndr->depth--;
2182 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2184 if (ndr_flags & NDR_SCALARS) {
2185 NDR_CHECK(ndr_push_align(ndr, 4));
2186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2188 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2189 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2191 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2192 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2194 if (ndr_flags & NDR_BUFFERS) {
2195 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2197 return NDR_ERR_SUCCESS;
2200 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2202 if (ndr_flags & NDR_SCALARS) {
2203 NDR_CHECK(ndr_pull_align(ndr, 4));
2204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2206 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2207 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2209 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2210 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2212 if (ndr_flags & NDR_BUFFERS) {
2213 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2215 return NDR_ERR_SUCCESS;
2218 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2220 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2221 ndr->depth++;
2222 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);
2223 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);
2224 ndr_print_GUID(ndr, "guid", &r->guid);
2225 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2226 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2227 ndr_print_string(ndr, "dn", r->dn);
2228 ndr->depth--;
2231 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2233 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2236 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2238 if (ndr_flags & NDR_SCALARS) {
2239 NDR_CHECK(ndr_push_align(ndr, 4));
2240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2242 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2243 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2245 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2248 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2249 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2250 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2251 ndr->flags = _flags_save_DATA_BLOB;
2253 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2255 if (ndr_flags & NDR_BUFFERS) {
2256 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2258 return NDR_ERR_SUCCESS;
2261 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2263 if (ndr_flags & NDR_SCALARS) {
2264 NDR_CHECK(ndr_pull_align(ndr, 4));
2265 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2266 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2267 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2268 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2269 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2270 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2271 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2273 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2274 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2275 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2276 ndr->flags = _flags_save_DATA_BLOB;
2278 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2280 if (ndr_flags & NDR_BUFFERS) {
2281 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2283 return NDR_ERR_SUCCESS;
2286 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2288 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2289 ndr->depth++;
2290 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);
2291 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);
2292 ndr_print_GUID(ndr, "guid", &r->guid);
2293 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2294 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2295 ndr_print_string(ndr, "dn", r->dn);
2296 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2297 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2298 ndr->depth--;
2301 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2303 if (ndr_flags & NDR_SCALARS) {
2304 NDR_CHECK(ndr_push_align(ndr, 5));
2305 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2306 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2307 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2309 if (ndr_flags & NDR_BUFFERS) {
2310 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2312 return NDR_ERR_SUCCESS;
2315 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2317 if (ndr_flags & NDR_SCALARS) {
2318 NDR_CHECK(ndr_pull_align(ndr, 5));
2319 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2320 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2321 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2323 if (ndr_flags & NDR_BUFFERS) {
2324 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2326 return NDR_ERR_SUCCESS;
2329 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2331 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2332 ndr->depth++;
2333 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2334 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2335 ndr->depth--;
2338 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2340 uint32_t cntr_attributes_1;
2341 if (ndr_flags & NDR_SCALARS) {
2342 NDR_CHECK(ndr_push_align(ndr, 5));
2343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2344 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2345 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2347 if (ndr_flags & NDR_BUFFERS) {
2348 if (r->attributes) {
2349 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2350 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2351 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2353 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2354 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2358 return NDR_ERR_SUCCESS;
2361 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2363 uint32_t _ptr_attributes;
2364 uint32_t cntr_attributes_1;
2365 TALLOC_CTX *_mem_save_attributes_0;
2366 TALLOC_CTX *_mem_save_attributes_1;
2367 if (ndr_flags & NDR_SCALARS) {
2368 NDR_CHECK(ndr_pull_align(ndr, 5));
2369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2370 if (r->num_attributes > 1048576) {
2371 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2373 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2374 if (_ptr_attributes) {
2375 NDR_PULL_ALLOC(ndr, r->attributes);
2376 } else {
2377 r->attributes = NULL;
2379 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2381 if (ndr_flags & NDR_BUFFERS) {
2382 if (r->attributes) {
2383 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2384 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2385 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2386 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2387 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2388 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2389 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2392 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2393 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2396 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2398 if (r->attributes) {
2399 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2402 return NDR_ERR_SUCCESS;
2405 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2407 uint32_t cntr_attributes_1;
2408 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2409 ndr->depth++;
2410 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2411 ndr_print_ptr(ndr, "attributes", r->attributes);
2412 ndr->depth++;
2413 if (r->attributes) {
2414 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2415 ndr->depth++;
2416 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2417 char *idx_1=NULL;
2418 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2419 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2420 free(idx_1);
2423 ndr->depth--;
2425 ndr->depth--;
2426 ndr->depth--;
2429 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2432 return NDR_ERR_SUCCESS;
2435 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2437 uint32_t v;
2438 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2439 *r = v;
2440 return NDR_ERR_SUCCESS;
2443 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2445 ndr_print_uint32(ndr, name, r);
2446 ndr->depth++;
2447 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2448 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2449 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2450 ndr->depth--;
2453 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2455 if (ndr_flags & NDR_SCALARS) {
2456 NDR_CHECK(ndr_push_align(ndr, 5));
2457 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2458 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2459 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2460 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2462 if (ndr_flags & NDR_BUFFERS) {
2463 if (r->identifier) {
2464 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2466 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2468 return NDR_ERR_SUCCESS;
2471 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2473 uint32_t _ptr_identifier;
2474 TALLOC_CTX *_mem_save_identifier_0;
2475 if (ndr_flags & NDR_SCALARS) {
2476 NDR_CHECK(ndr_pull_align(ndr, 5));
2477 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2478 if (_ptr_identifier) {
2479 NDR_PULL_ALLOC(ndr, r->identifier);
2480 } else {
2481 r->identifier = NULL;
2483 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2484 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2485 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2487 if (ndr_flags & NDR_BUFFERS) {
2488 if (r->identifier) {
2489 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2490 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2491 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2494 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2496 return NDR_ERR_SUCCESS;
2499 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2501 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2502 ndr->depth++;
2503 ndr_print_ptr(ndr, "identifier", r->identifier);
2504 ndr->depth++;
2505 if (r->identifier) {
2506 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2508 ndr->depth--;
2509 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2510 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2511 ndr->depth--;
2514 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2516 if (ndr_flags & NDR_SCALARS) {
2517 NDR_CHECK(ndr_push_align(ndr, 8));
2518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2519 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2520 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2521 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2522 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2524 if (ndr_flags & NDR_BUFFERS) {
2526 return NDR_ERR_SUCCESS;
2529 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2531 if (ndr_flags & NDR_SCALARS) {
2532 NDR_CHECK(ndr_pull_align(ndr, 8));
2533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2534 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2535 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2536 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2537 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2539 if (ndr_flags & NDR_BUFFERS) {
2541 return NDR_ERR_SUCCESS;
2544 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2546 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2547 ndr->depth++;
2548 ndr_print_uint32(ndr, "version", r->version);
2549 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2550 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2551 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2552 ndr->depth--;
2555 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2557 uint32_t cntr_meta_data_0;
2558 if (ndr_flags & NDR_SCALARS) {
2559 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2560 NDR_CHECK(ndr_push_align(ndr, 8));
2561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2562 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2563 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2565 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2567 if (ndr_flags & NDR_BUFFERS) {
2569 return NDR_ERR_SUCCESS;
2572 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2574 uint32_t cntr_meta_data_0;
2575 TALLOC_CTX *_mem_save_meta_data_0;
2576 if (ndr_flags & NDR_SCALARS) {
2577 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2578 NDR_CHECK(ndr_pull_align(ndr, 8));
2579 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2580 if (r->count > 1048576) {
2581 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2583 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2584 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2585 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2586 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2587 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2590 if (r->meta_data) {
2591 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2593 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2595 if (ndr_flags & NDR_BUFFERS) {
2597 return NDR_ERR_SUCCESS;
2600 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2602 uint32_t cntr_meta_data_0;
2603 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2604 ndr->depth++;
2605 ndr_print_uint32(ndr, "count", r->count);
2606 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2607 ndr->depth++;
2608 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2609 char *idx_0=NULL;
2610 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2611 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2612 free(idx_0);
2615 ndr->depth--;
2616 ndr->depth--;
2619 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2621 if (ndr_flags & NDR_SCALARS) {
2622 NDR_CHECK(ndr_push_align(ndr, 5));
2623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2624 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2626 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2628 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2630 if (ndr_flags & NDR_BUFFERS) {
2631 if (r->next_object) {
2632 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2634 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2635 if (r->parent_object_guid) {
2636 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2638 if (r->meta_data_ctr) {
2639 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2642 return NDR_ERR_SUCCESS;
2645 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2647 uint32_t _ptr_next_object;
2648 TALLOC_CTX *_mem_save_next_object_0;
2649 uint32_t _ptr_parent_object_guid;
2650 TALLOC_CTX *_mem_save_parent_object_guid_0;
2651 uint32_t _ptr_meta_data_ctr;
2652 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2653 if (ndr_flags & NDR_SCALARS) {
2654 NDR_CHECK(ndr_pull_align(ndr, 5));
2655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2656 if (_ptr_next_object) {
2657 NDR_PULL_ALLOC(ndr, r->next_object);
2658 } else {
2659 r->next_object = NULL;
2661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2662 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2663 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2664 if (_ptr_parent_object_guid) {
2665 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2666 } else {
2667 r->parent_object_guid = NULL;
2669 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2670 if (_ptr_meta_data_ctr) {
2671 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2672 } else {
2673 r->meta_data_ctr = NULL;
2675 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2677 if (ndr_flags & NDR_BUFFERS) {
2678 if (r->next_object) {
2679 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2680 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2681 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2685 if (r->parent_object_guid) {
2686 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2687 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2688 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2691 if (r->meta_data_ctr) {
2692 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2693 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2694 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2698 return NDR_ERR_SUCCESS;
2701 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2703 if (ndr_flags & NDR_SCALARS) {
2704 NDR_CHECK(ndr_push_align(ndr, 8));
2705 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2706 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2707 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2708 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2709 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2710 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2712 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2715 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2717 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2719 if (ndr_flags & NDR_BUFFERS) {
2720 if (r->naming_context) {
2721 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2723 if (r->uptodateness_vector) {
2724 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2726 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2727 if (r->first_object) {
2728 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2731 return NDR_ERR_SUCCESS;
2734 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2736 uint32_t _ptr_naming_context;
2737 TALLOC_CTX *_mem_save_naming_context_0;
2738 uint32_t _ptr_uptodateness_vector;
2739 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2740 uint32_t _ptr_first_object;
2741 TALLOC_CTX *_mem_save_first_object_0;
2742 if (ndr_flags & NDR_SCALARS) {
2743 NDR_CHECK(ndr_pull_align(ndr, 8));
2744 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2745 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2746 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2747 if (_ptr_naming_context) {
2748 NDR_PULL_ALLOC(ndr, r->naming_context);
2749 } else {
2750 r->naming_context = NULL;
2752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2753 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2755 if (_ptr_uptodateness_vector) {
2756 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2757 } else {
2758 r->uptodateness_vector = NULL;
2760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2761 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2764 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2765 if (_ptr_first_object) {
2766 NDR_PULL_ALLOC(ndr, r->first_object);
2767 } else {
2768 r->first_object = NULL;
2770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2771 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2773 if (ndr_flags & NDR_BUFFERS) {
2774 if (r->naming_context) {
2775 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2776 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2777 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2778 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2780 if (r->uptodateness_vector) {
2781 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2782 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2786 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2787 if (r->first_object) {
2788 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2789 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2790 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2794 return NDR_ERR_SUCCESS;
2797 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2799 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2800 ndr->depth++;
2801 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2802 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2803 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2804 ndr->depth++;
2805 if (r->naming_context) {
2806 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2808 ndr->depth--;
2809 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2810 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2811 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2812 ndr->depth++;
2813 if (r->uptodateness_vector) {
2814 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2816 ndr->depth--;
2817 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2818 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2819 ndr_print_uint32(ndr, "object_count", r->object_count);
2820 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);
2821 ndr_print_ptr(ndr, "first_object", r->first_object);
2822 ndr->depth++;
2823 if (r->first_object) {
2824 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2826 ndr->depth--;
2827 ndr_print_uint32(ndr, "more_data", r->more_data);
2828 ndr->depth--;
2831 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2833 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2836 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2839 return NDR_ERR_SUCCESS;
2842 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2844 uint32_t v;
2845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2846 *r = v;
2847 return NDR_ERR_SUCCESS;
2850 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2852 ndr_print_uint32(ndr, name, r);
2853 ndr->depth++;
2854 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2855 ndr->depth--;
2858 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2860 if (ndr_flags & NDR_SCALARS) {
2861 NDR_CHECK(ndr_push_align(ndr, 8));
2862 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2863 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2864 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2865 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2866 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2867 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2868 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2870 if (ndr_flags & NDR_BUFFERS) {
2871 if (r->identifier) {
2872 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2874 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2876 return NDR_ERR_SUCCESS;
2879 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2881 uint32_t _ptr_identifier;
2882 TALLOC_CTX *_mem_save_identifier_0;
2883 if (ndr_flags & NDR_SCALARS) {
2884 NDR_CHECK(ndr_pull_align(ndr, 8));
2885 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2886 if (_ptr_identifier) {
2887 NDR_PULL_ALLOC(ndr, r->identifier);
2888 } else {
2889 r->identifier = NULL;
2891 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2892 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2893 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2894 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2895 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2896 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2898 if (ndr_flags & NDR_BUFFERS) {
2899 if (r->identifier) {
2900 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2901 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2902 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2905 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2907 return NDR_ERR_SUCCESS;
2910 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2912 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2913 ndr->depth++;
2914 ndr_print_ptr(ndr, "identifier", r->identifier);
2915 ndr->depth++;
2916 if (r->identifier) {
2917 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2919 ndr->depth--;
2920 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2921 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2922 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2923 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2924 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2925 ndr->depth--;
2928 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2930 uint32_t cntr_linked_attributes_1;
2931 if (ndr_flags & NDR_SCALARS) {
2932 NDR_CHECK(ndr_push_align(ndr, 8));
2933 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2934 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2936 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2937 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2939 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2940 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2943 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2948 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2949 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2950 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2952 if (ndr_flags & NDR_BUFFERS) {
2953 if (r->naming_context) {
2954 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2956 if (r->uptodateness_vector) {
2957 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2959 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2960 if (r->first_object) {
2961 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2963 if (r->linked_attributes) {
2964 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2965 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2966 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2968 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2969 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2973 return NDR_ERR_SUCCESS;
2976 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2978 uint32_t _ptr_naming_context;
2979 TALLOC_CTX *_mem_save_naming_context_0;
2980 uint32_t _ptr_uptodateness_vector;
2981 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2982 uint32_t _ptr_first_object;
2983 TALLOC_CTX *_mem_save_first_object_0;
2984 uint32_t _ptr_linked_attributes;
2985 uint32_t cntr_linked_attributes_1;
2986 TALLOC_CTX *_mem_save_linked_attributes_0;
2987 TALLOC_CTX *_mem_save_linked_attributes_1;
2988 if (ndr_flags & NDR_SCALARS) {
2989 NDR_CHECK(ndr_pull_align(ndr, 8));
2990 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2991 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2992 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2993 if (_ptr_naming_context) {
2994 NDR_PULL_ALLOC(ndr, r->naming_context);
2995 } else {
2996 r->naming_context = NULL;
2998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3000 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3001 if (_ptr_uptodateness_vector) {
3002 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3003 } else {
3004 r->uptodateness_vector = NULL;
3006 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3007 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3010 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3011 if (_ptr_first_object) {
3012 NDR_PULL_ALLOC(ndr, r->first_object);
3013 } else {
3014 r->first_object = NULL;
3016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3018 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3020 if (r->linked_attributes_count > 1048576) {
3021 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3023 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3024 if (_ptr_linked_attributes) {
3025 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3026 } else {
3027 r->linked_attributes = NULL;
3029 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3030 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3032 if (ndr_flags & NDR_BUFFERS) {
3033 if (r->naming_context) {
3034 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3035 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3039 if (r->uptodateness_vector) {
3040 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3041 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3042 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3043 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3045 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3046 if (r->first_object) {
3047 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3048 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3049 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3050 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3052 if (r->linked_attributes) {
3053 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3054 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3055 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3056 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3057 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3058 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3059 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3060 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3062 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3063 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3068 if (r->linked_attributes) {
3069 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3072 return NDR_ERR_SUCCESS;
3075 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3077 uint32_t cntr_linked_attributes_1;
3078 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3079 ndr->depth++;
3080 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3081 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3082 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3083 ndr->depth++;
3084 if (r->naming_context) {
3085 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3087 ndr->depth--;
3088 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3089 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3090 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3091 ndr->depth++;
3092 if (r->uptodateness_vector) {
3093 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3095 ndr->depth--;
3096 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3097 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3098 ndr_print_uint32(ndr, "object_count", r->object_count);
3099 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);
3100 ndr_print_ptr(ndr, "first_object", r->first_object);
3101 ndr->depth++;
3102 if (r->first_object) {
3103 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3105 ndr->depth--;
3106 ndr_print_uint32(ndr, "more_data", r->more_data);
3107 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3108 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3109 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3110 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3111 ndr->depth++;
3112 if (r->linked_attributes) {
3113 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3114 ndr->depth++;
3115 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3116 char *idx_1=NULL;
3117 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3118 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3119 free(idx_1);
3122 ndr->depth--;
3124 ndr->depth--;
3125 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3126 ndr->depth--;
3129 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3131 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3134 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3136 if (ndr_flags & NDR_SCALARS) {
3137 NDR_CHECK(ndr_push_align(ndr, 1));
3139 struct ndr_push *_ndr_ctr1;
3140 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3141 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3142 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3144 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3146 if (ndr_flags & NDR_BUFFERS) {
3148 return NDR_ERR_SUCCESS;
3151 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3153 if (ndr_flags & NDR_SCALARS) {
3154 NDR_CHECK(ndr_pull_align(ndr, 1));
3156 struct ndr_pull *_ndr_ctr1;
3157 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3158 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3159 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3161 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3163 if (ndr_flags & NDR_BUFFERS) {
3165 return NDR_ERR_SUCCESS;
3168 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3170 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3171 ndr->depth++;
3172 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3173 ndr->depth--;
3176 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3178 if (ndr_flags & NDR_SCALARS) {
3179 NDR_CHECK(ndr_push_align(ndr, 1));
3181 struct ndr_push *_ndr_ctr6;
3182 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3183 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3184 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3186 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3188 if (ndr_flags & NDR_BUFFERS) {
3190 return NDR_ERR_SUCCESS;
3193 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3195 if (ndr_flags & NDR_SCALARS) {
3196 NDR_CHECK(ndr_pull_align(ndr, 1));
3198 struct ndr_pull *_ndr_ctr6;
3199 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3200 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3201 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3203 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3205 if (ndr_flags & NDR_BUFFERS) {
3207 return NDR_ERR_SUCCESS;
3210 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3212 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3213 ndr->depth++;
3214 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3215 ndr->depth--;
3218 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3220 uint32_t _ptr_ts;
3221 TALLOC_CTX *_mem_save_ts_0;
3222 if (ndr_flags & NDR_SCALARS) {
3223 NDR_CHECK(ndr_pull_align(ndr, 5));
3224 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3225 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3226 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3227 if (_ptr_ts) {
3228 NDR_PULL_ALLOC(ndr, r->ts);
3229 } else {
3230 r->ts = NULL;
3232 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3234 if (ndr_flags & NDR_BUFFERS) {
3235 if (r->ts) {
3236 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3237 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3239 struct ndr_pull *_ndr_ts;
3240 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3242 struct ndr_pull *_ndr_ts_compressed;
3243 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3244 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3245 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3247 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3252 return NDR_ERR_SUCCESS;
3255 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3257 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3258 ndr->depth++;
3259 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3260 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3261 ndr_print_ptr(ndr, "ts", r->ts);
3262 ndr->depth++;
3263 if (r->ts) {
3264 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3266 ndr->depth--;
3267 ndr->depth--;
3270 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3272 uint32_t _ptr_ts;
3273 TALLOC_CTX *_mem_save_ts_0;
3274 if (ndr_flags & NDR_SCALARS) {
3275 NDR_CHECK(ndr_pull_align(ndr, 5));
3276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3278 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3279 if (_ptr_ts) {
3280 NDR_PULL_ALLOC(ndr, r->ts);
3281 } else {
3282 r->ts = NULL;
3284 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3286 if (ndr_flags & NDR_BUFFERS) {
3287 if (r->ts) {
3288 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3289 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3291 struct ndr_pull *_ndr_ts;
3292 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3294 struct ndr_pull *_ndr_ts_compressed;
3295 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3296 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3297 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3299 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3304 return NDR_ERR_SUCCESS;
3307 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3309 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3310 ndr->depth++;
3311 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3312 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3313 ndr_print_ptr(ndr, "ts", r->ts);
3314 ndr->depth++;
3315 if (r->ts) {
3316 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3318 ndr->depth--;
3319 ndr->depth--;
3322 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3324 uint32_t _ptr_ts;
3325 TALLOC_CTX *_mem_save_ts_0;
3326 if (ndr_flags & NDR_SCALARS) {
3327 NDR_CHECK(ndr_pull_align(ndr, 5));
3328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3330 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3331 if (_ptr_ts) {
3332 NDR_PULL_ALLOC(ndr, r->ts);
3333 } else {
3334 r->ts = NULL;
3336 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3338 if (ndr_flags & NDR_BUFFERS) {
3339 if (r->ts) {
3340 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3341 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3343 struct ndr_pull *_ndr_ts;
3344 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3346 struct ndr_pull *_ndr_ts_compressed;
3347 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3348 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3349 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3351 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3356 return NDR_ERR_SUCCESS;
3359 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3361 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3362 ndr->depth++;
3363 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3364 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3365 ndr_print_ptr(ndr, "ts", r->ts);
3366 ndr->depth++;
3367 if (r->ts) {
3368 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3370 ndr->depth--;
3371 ndr->depth--;
3374 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3376 uint32_t _ptr_ts;
3377 TALLOC_CTX *_mem_save_ts_0;
3378 if (ndr_flags & NDR_SCALARS) {
3379 NDR_CHECK(ndr_pull_align(ndr, 5));
3380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3382 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3383 if (_ptr_ts) {
3384 NDR_PULL_ALLOC(ndr, r->ts);
3385 } else {
3386 r->ts = NULL;
3388 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3390 if (ndr_flags & NDR_BUFFERS) {
3391 if (r->ts) {
3392 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3393 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3395 struct ndr_pull *_ndr_ts;
3396 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3398 struct ndr_pull *_ndr_ts_compressed;
3399 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3400 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3401 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3403 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3408 return NDR_ERR_SUCCESS;
3411 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3413 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3414 ndr->depth++;
3415 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3416 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3417 ndr_print_ptr(ndr, "ts", r->ts);
3418 ndr->depth++;
3419 if (r->ts) {
3420 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3422 ndr->depth--;
3423 ndr->depth--;
3426 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3428 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3429 return NDR_ERR_SUCCESS;
3432 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3434 uint16_t v;
3435 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3436 *r = v;
3437 return NDR_ERR_SUCCESS;
3440 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3442 const char *val = NULL;
3444 switch (r) {
3445 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3446 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3448 ndr_print_enum(ndr, name, "ENUM", val, r);
3451 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3454 uint32_t _flags_save_UNION = ndr->flags;
3455 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3456 if (ndr_flags & NDR_SCALARS) {
3457 int level = ndr_push_get_switch_value(ndr, r);
3458 NDR_CHECK(ndr_push_union_align(ndr, 5));
3459 switch (level) {
3460 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3461 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3462 break; }
3464 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3465 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3466 break; }
3468 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3469 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3470 break; }
3472 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3473 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3474 break; }
3476 default:
3477 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3480 if (ndr_flags & NDR_BUFFERS) {
3481 int level = ndr_push_get_switch_value(ndr, r);
3482 switch (level) {
3483 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3484 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3485 break;
3487 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3488 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3489 break;
3491 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3492 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3493 break;
3495 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3496 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3497 break;
3499 default:
3500 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3503 ndr->flags = _flags_save_UNION;
3505 return NDR_ERR_SUCCESS;
3508 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3510 int level;
3512 uint32_t _flags_save_UNION = ndr->flags;
3513 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3514 level = ndr_pull_get_switch_value(ndr, r);
3515 if (ndr_flags & NDR_SCALARS) {
3516 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3517 switch (level) {
3518 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3519 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3520 break; }
3522 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3523 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3524 break; }
3526 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3527 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3528 break; }
3530 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3531 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3532 break; }
3534 default:
3535 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3538 if (ndr_flags & NDR_BUFFERS) {
3539 switch (level) {
3540 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3541 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3542 break;
3544 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3545 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3546 break;
3548 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3549 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3550 break;
3552 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3553 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3554 break;
3556 default:
3557 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3560 ndr->flags = _flags_save_UNION;
3562 return NDR_ERR_SUCCESS;
3565 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3567 int level;
3569 uint32_t _flags_save_UNION = ndr->flags;
3570 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3571 level = ndr_print_get_switch_value(ndr, r);
3572 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3573 switch (level) {
3574 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3575 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3576 break;
3578 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3579 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3580 break;
3582 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3583 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3584 break;
3586 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3587 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3588 break;
3590 default:
3591 ndr_print_bad_level(ndr, name, level);
3593 ndr->flags = _flags_save_UNION;
3597 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3599 if (ndr_flags & NDR_SCALARS) {
3600 NDR_CHECK(ndr_push_align(ndr, 5));
3601 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3602 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3604 if (ndr_flags & NDR_BUFFERS) {
3605 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3607 return NDR_ERR_SUCCESS;
3610 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3612 if (ndr_flags & NDR_SCALARS) {
3613 NDR_CHECK(ndr_pull_align(ndr, 5));
3614 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3615 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3617 if (ndr_flags & NDR_BUFFERS) {
3618 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3620 return NDR_ERR_SUCCESS;
3623 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3625 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3626 ndr->depth++;
3627 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3628 ndr->depth--;
3631 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3633 if (ndr_flags & NDR_SCALARS) {
3634 NDR_CHECK(ndr_push_align(ndr, 5));
3635 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3636 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3637 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3638 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3639 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3641 if (ndr_flags & NDR_BUFFERS) {
3642 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3644 return NDR_ERR_SUCCESS;
3647 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3649 if (ndr_flags & NDR_SCALARS) {
3650 NDR_CHECK(ndr_pull_align(ndr, 5));
3651 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3652 if (r->level < 0 || r->level > 6) {
3653 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3655 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3656 if (r->type < 2 || r->type > 3) {
3657 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3659 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3660 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3661 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3663 if (ndr_flags & NDR_BUFFERS) {
3664 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3666 return NDR_ERR_SUCCESS;
3669 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3671 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3672 ndr->depth++;
3673 ndr_print_int32(ndr, "level", r->level);
3674 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3675 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3676 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3677 ndr->depth--;
3680 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3682 if (ndr_flags & NDR_SCALARS) {
3683 int level = ndr_push_get_switch_value(ndr, r);
3684 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3685 NDR_CHECK(ndr_push_union_align(ndr, 8));
3686 switch (level) {
3687 case 1: {
3688 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3689 break; }
3691 case 2: {
3692 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3693 break; }
3695 case 6: {
3696 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3697 break; }
3699 case 7: {
3700 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3701 break; }
3703 default:
3704 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3707 if (ndr_flags & NDR_BUFFERS) {
3708 int level = ndr_push_get_switch_value(ndr, r);
3709 switch (level) {
3710 case 1:
3711 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3712 break;
3714 case 2:
3715 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3716 break;
3718 case 6:
3719 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3720 break;
3722 case 7:
3723 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3724 break;
3726 default:
3727 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3730 return NDR_ERR_SUCCESS;
3733 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3735 int level;
3736 int32_t _level;
3737 level = ndr_pull_get_switch_value(ndr, r);
3738 if (ndr_flags & NDR_SCALARS) {
3739 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3740 if (_level != level) {
3741 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3743 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3744 switch (level) {
3745 case 1: {
3746 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3747 break; }
3749 case 2: {
3750 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3751 break; }
3753 case 6: {
3754 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3755 break; }
3757 case 7: {
3758 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3759 break; }
3761 default:
3762 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3765 if (ndr_flags & NDR_BUFFERS) {
3766 switch (level) {
3767 case 1:
3768 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3769 break;
3771 case 2:
3772 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3773 break;
3775 case 6:
3776 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3777 break;
3779 case 7:
3780 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3781 break;
3783 default:
3784 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3787 return NDR_ERR_SUCCESS;
3790 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3792 int level;
3793 level = ndr_print_get_switch_value(ndr, r);
3794 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3795 switch (level) {
3796 case 1:
3797 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3798 break;
3800 case 2:
3801 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3802 break;
3804 case 6:
3805 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3806 break;
3808 case 7:
3809 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3810 break;
3812 default:
3813 ndr_print_bad_level(ndr, name, level);
3817 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3819 if (ndr_flags & NDR_SCALARS) {
3820 NDR_CHECK(ndr_push_align(ndr, 5));
3821 if (r->naming_context == NULL) {
3822 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3824 NDR_CHECK(ndr_push_ref_ptr(ndr));
3825 if (r->dest_dsa_dns_name == NULL) {
3826 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3828 NDR_CHECK(ndr_push_ref_ptr(ndr));
3829 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3830 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3831 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3833 if (ndr_flags & NDR_BUFFERS) {
3834 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3835 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3836 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3837 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3838 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));
3840 return NDR_ERR_SUCCESS;
3843 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3845 uint32_t _ptr_naming_context;
3846 TALLOC_CTX *_mem_save_naming_context_0;
3847 uint32_t _ptr_dest_dsa_dns_name;
3848 if (ndr_flags & NDR_SCALARS) {
3849 NDR_CHECK(ndr_pull_align(ndr, 5));
3850 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3851 if (_ptr_naming_context) {
3852 NDR_PULL_ALLOC(ndr, r->naming_context);
3853 } else {
3854 r->naming_context = NULL;
3856 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3857 if (_ptr_dest_dsa_dns_name) {
3858 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3859 } else {
3860 r->dest_dsa_dns_name = NULL;
3862 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3863 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3864 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3866 if (ndr_flags & NDR_BUFFERS) {
3867 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3868 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3869 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3871 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3872 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3873 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3874 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));
3876 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3877 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));
3879 return NDR_ERR_SUCCESS;
3882 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3884 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3885 ndr->depth++;
3886 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3887 ndr->depth++;
3888 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3889 ndr->depth--;
3890 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3891 ndr->depth++;
3892 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3893 ndr->depth--;
3894 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3895 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
3896 ndr->depth--;
3899 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3901 if (ndr_flags & NDR_SCALARS) {
3902 int level = ndr_push_get_switch_value(ndr, r);
3903 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3904 NDR_CHECK(ndr_push_union_align(ndr, 5));
3905 switch (level) {
3906 case 1: {
3907 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3908 break; }
3910 default:
3911 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3914 if (ndr_flags & NDR_BUFFERS) {
3915 int level = ndr_push_get_switch_value(ndr, r);
3916 switch (level) {
3917 case 1:
3918 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3919 break;
3921 default:
3922 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3925 return NDR_ERR_SUCCESS;
3928 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3930 int level;
3931 int32_t _level;
3932 level = ndr_pull_get_switch_value(ndr, r);
3933 if (ndr_flags & NDR_SCALARS) {
3934 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3935 if (_level != level) {
3936 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3938 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3939 switch (level) {
3940 case 1: {
3941 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3942 break; }
3944 default:
3945 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3948 if (ndr_flags & NDR_BUFFERS) {
3949 switch (level) {
3950 case 1:
3951 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3952 break;
3954 default:
3955 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3958 return NDR_ERR_SUCCESS;
3961 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3963 int level;
3964 level = ndr_print_get_switch_value(ndr, r);
3965 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3966 switch (level) {
3967 case 1:
3968 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3969 break;
3971 default:
3972 ndr_print_bad_level(ndr, name, level);
3976 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3978 if (ndr_flags & NDR_SCALARS) {
3979 NDR_CHECK(ndr_push_align(ndr, 5));
3980 if (r->naming_context == NULL) {
3981 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3983 NDR_CHECK(ndr_push_ref_ptr(ndr));
3984 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3985 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3986 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3987 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3989 if (ndr_flags & NDR_BUFFERS) {
3990 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3991 if (r->source_dsa_address) {
3992 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3995 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));
3998 return NDR_ERR_SUCCESS;
4001 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4003 uint32_t _ptr_naming_context;
4004 TALLOC_CTX *_mem_save_naming_context_0;
4005 uint32_t _ptr_source_dsa_address;
4006 TALLOC_CTX *_mem_save_source_dsa_address_0;
4007 if (ndr_flags & NDR_SCALARS) {
4008 NDR_CHECK(ndr_pull_align(ndr, 5));
4009 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4010 if (_ptr_naming_context) {
4011 NDR_PULL_ALLOC(ndr, r->naming_context);
4012 } else {
4013 r->naming_context = NULL;
4015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4016 if (_ptr_source_dsa_address) {
4017 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4018 } else {
4019 r->source_dsa_address = NULL;
4021 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4022 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4023 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4025 if (ndr_flags & NDR_BUFFERS) {
4026 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4027 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4028 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4030 if (r->source_dsa_address) {
4031 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4032 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4033 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4034 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4035 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4036 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));
4038 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4039 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));
4040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4043 return NDR_ERR_SUCCESS;
4046 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4048 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4049 ndr->depth++;
4050 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4051 ndr->depth++;
4052 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4053 ndr->depth--;
4054 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4055 ndr->depth++;
4056 if (r->source_dsa_address) {
4057 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4059 ndr->depth--;
4060 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4061 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4062 ndr->depth--;
4065 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4067 if (ndr_flags & NDR_SCALARS) {
4068 NDR_CHECK(ndr_push_align(ndr, 5));
4069 if (r->naming_context == NULL) {
4070 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4072 NDR_CHECK(ndr_push_ref_ptr(ndr));
4073 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4074 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4076 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4077 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4078 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4080 if (ndr_flags & NDR_BUFFERS) {
4081 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4082 if (r->source_dsa_dn) {
4083 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4085 if (r->transport_dn) {
4086 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4088 if (r->source_dsa_address) {
4089 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4091 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4092 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));
4095 return NDR_ERR_SUCCESS;
4098 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4100 uint32_t _ptr_naming_context;
4101 TALLOC_CTX *_mem_save_naming_context_0;
4102 uint32_t _ptr_source_dsa_dn;
4103 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4104 uint32_t _ptr_transport_dn;
4105 TALLOC_CTX *_mem_save_transport_dn_0;
4106 uint32_t _ptr_source_dsa_address;
4107 TALLOC_CTX *_mem_save_source_dsa_address_0;
4108 if (ndr_flags & NDR_SCALARS) {
4109 NDR_CHECK(ndr_pull_align(ndr, 5));
4110 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4111 if (_ptr_naming_context) {
4112 NDR_PULL_ALLOC(ndr, r->naming_context);
4113 } else {
4114 r->naming_context = NULL;
4116 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4117 if (_ptr_source_dsa_dn) {
4118 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4119 } else {
4120 r->source_dsa_dn = NULL;
4122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4123 if (_ptr_transport_dn) {
4124 NDR_PULL_ALLOC(ndr, r->transport_dn);
4125 } else {
4126 r->transport_dn = NULL;
4128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4129 if (_ptr_source_dsa_address) {
4130 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4131 } else {
4132 r->source_dsa_address = NULL;
4134 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4135 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4136 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4138 if (ndr_flags & NDR_BUFFERS) {
4139 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4140 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4141 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4143 if (r->source_dsa_dn) {
4144 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4145 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4146 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4149 if (r->transport_dn) {
4150 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4151 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4152 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4155 if (r->source_dsa_address) {
4156 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4157 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4158 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4159 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4160 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4161 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));
4163 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4164 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));
4165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4168 return NDR_ERR_SUCCESS;
4171 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4173 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4174 ndr->depth++;
4175 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4176 ndr->depth++;
4177 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4178 ndr->depth--;
4179 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4180 ndr->depth++;
4181 if (r->source_dsa_dn) {
4182 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4184 ndr->depth--;
4185 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4186 ndr->depth++;
4187 if (r->transport_dn) {
4188 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4190 ndr->depth--;
4191 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4192 ndr->depth++;
4193 if (r->source_dsa_address) {
4194 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4196 ndr->depth--;
4197 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4198 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4199 ndr->depth--;
4202 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4204 if (ndr_flags & NDR_SCALARS) {
4205 int level = ndr_push_get_switch_value(ndr, r);
4206 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4207 NDR_CHECK(ndr_push_union_align(ndr, 5));
4208 switch (level) {
4209 case 1: {
4210 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4211 break; }
4213 case 2: {
4214 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4215 break; }
4217 default:
4218 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4221 if (ndr_flags & NDR_BUFFERS) {
4222 int level = ndr_push_get_switch_value(ndr, r);
4223 switch (level) {
4224 case 1:
4225 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4226 break;
4228 case 2:
4229 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4230 break;
4232 default:
4233 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4236 return NDR_ERR_SUCCESS;
4239 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4241 int level;
4242 int32_t _level;
4243 level = ndr_pull_get_switch_value(ndr, r);
4244 if (ndr_flags & NDR_SCALARS) {
4245 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4246 if (_level != level) {
4247 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4249 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4250 switch (level) {
4251 case 1: {
4252 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4253 break; }
4255 case 2: {
4256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4257 break; }
4259 default:
4260 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4263 if (ndr_flags & NDR_BUFFERS) {
4264 switch (level) {
4265 case 1:
4266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4267 break;
4269 case 2:
4270 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4271 break;
4273 default:
4274 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4277 return NDR_ERR_SUCCESS;
4280 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4282 int level;
4283 level = ndr_print_get_switch_value(ndr, r);
4284 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4285 switch (level) {
4286 case 1:
4287 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4288 break;
4290 case 2:
4291 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4292 break;
4294 default:
4295 ndr_print_bad_level(ndr, name, level);
4299 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4301 if (ndr_flags & NDR_SCALARS) {
4302 NDR_CHECK(ndr_push_align(ndr, 5));
4303 if (r->naming_context == NULL) {
4304 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4306 NDR_CHECK(ndr_push_ref_ptr(ndr));
4307 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4308 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4309 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4311 if (ndr_flags & NDR_BUFFERS) {
4312 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4313 if (r->source_dsa_address) {
4314 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4315 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4316 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4317 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));
4320 return NDR_ERR_SUCCESS;
4323 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4325 uint32_t _ptr_naming_context;
4326 TALLOC_CTX *_mem_save_naming_context_0;
4327 uint32_t _ptr_source_dsa_address;
4328 TALLOC_CTX *_mem_save_source_dsa_address_0;
4329 if (ndr_flags & NDR_SCALARS) {
4330 NDR_CHECK(ndr_pull_align(ndr, 5));
4331 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4332 if (_ptr_naming_context) {
4333 NDR_PULL_ALLOC(ndr, r->naming_context);
4334 } else {
4335 r->naming_context = NULL;
4337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4338 if (_ptr_source_dsa_address) {
4339 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4340 } else {
4341 r->source_dsa_address = NULL;
4343 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4344 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4346 if (ndr_flags & NDR_BUFFERS) {
4347 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4348 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4349 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4351 if (r->source_dsa_address) {
4352 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4353 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4354 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4355 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4356 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4357 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));
4359 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4360 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));
4361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4364 return NDR_ERR_SUCCESS;
4367 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4369 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4370 ndr->depth++;
4371 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4372 ndr->depth++;
4373 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4374 ndr->depth--;
4375 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4376 ndr->depth++;
4377 if (r->source_dsa_address) {
4378 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4380 ndr->depth--;
4381 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4382 ndr->depth--;
4385 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4387 if (ndr_flags & NDR_SCALARS) {
4388 int level = ndr_push_get_switch_value(ndr, r);
4389 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4390 NDR_CHECK(ndr_push_union_align(ndr, 5));
4391 switch (level) {
4392 case 1: {
4393 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4394 break; }
4396 default:
4397 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4400 if (ndr_flags & NDR_BUFFERS) {
4401 int level = ndr_push_get_switch_value(ndr, r);
4402 switch (level) {
4403 case 1:
4404 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4405 break;
4407 default:
4408 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4411 return NDR_ERR_SUCCESS;
4414 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4416 int level;
4417 int32_t _level;
4418 level = ndr_pull_get_switch_value(ndr, r);
4419 if (ndr_flags & NDR_SCALARS) {
4420 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4421 if (_level != level) {
4422 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4424 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4425 switch (level) {
4426 case 1: {
4427 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4428 break; }
4430 default:
4431 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4434 if (ndr_flags & NDR_BUFFERS) {
4435 switch (level) {
4436 case 1:
4437 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4438 break;
4440 default:
4441 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4444 return NDR_ERR_SUCCESS;
4447 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4449 int level;
4450 level = ndr_print_get_switch_value(ndr, r);
4451 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4452 switch (level) {
4453 case 1:
4454 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4455 break;
4457 default:
4458 ndr_print_bad_level(ndr, name, level);
4462 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4464 if (ndr_flags & NDR_SCALARS) {
4465 NDR_CHECK(ndr_push_align(ndr, 5));
4466 if (r->naming_context == NULL) {
4467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4469 NDR_CHECK(ndr_push_ref_ptr(ndr));
4470 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4471 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4472 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4475 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4476 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4478 if (ndr_flags & NDR_BUFFERS) {
4479 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4480 if (r->source_dra_address) {
4481 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4482 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4483 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4484 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));
4487 return NDR_ERR_SUCCESS;
4490 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4492 uint32_t _ptr_naming_context;
4493 TALLOC_CTX *_mem_save_naming_context_0;
4494 uint32_t _ptr_source_dra_address;
4495 TALLOC_CTX *_mem_save_source_dra_address_0;
4496 if (ndr_flags & NDR_SCALARS) {
4497 NDR_CHECK(ndr_pull_align(ndr, 5));
4498 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4499 if (_ptr_naming_context) {
4500 NDR_PULL_ALLOC(ndr, r->naming_context);
4501 } else {
4502 r->naming_context = NULL;
4504 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4506 if (_ptr_source_dra_address) {
4507 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4508 } else {
4509 r->source_dra_address = NULL;
4511 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4512 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4513 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4514 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4515 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4517 if (ndr_flags & NDR_BUFFERS) {
4518 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4519 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4520 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4522 if (r->source_dra_address) {
4523 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4524 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4525 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4526 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4527 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4528 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));
4530 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4531 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));
4532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4535 return NDR_ERR_SUCCESS;
4538 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4540 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4541 ndr->depth++;
4542 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4543 ndr->depth++;
4544 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4545 ndr->depth--;
4546 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4547 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4548 ndr->depth++;
4549 if (r->source_dra_address) {
4550 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4552 ndr->depth--;
4553 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4554 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4555 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4556 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4557 ndr->depth--;
4560 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4562 if (ndr_flags & NDR_SCALARS) {
4563 int level = ndr_push_get_switch_value(ndr, r);
4564 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4565 NDR_CHECK(ndr_push_union_align(ndr, 5));
4566 switch (level) {
4567 case 1: {
4568 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4569 break; }
4571 default:
4572 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4575 if (ndr_flags & NDR_BUFFERS) {
4576 int level = ndr_push_get_switch_value(ndr, r);
4577 switch (level) {
4578 case 1:
4579 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4580 break;
4582 default:
4583 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4586 return NDR_ERR_SUCCESS;
4589 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4591 int level;
4592 int32_t _level;
4593 level = ndr_pull_get_switch_value(ndr, r);
4594 if (ndr_flags & NDR_SCALARS) {
4595 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4596 if (_level != level) {
4597 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4599 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4600 switch (level) {
4601 case 1: {
4602 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4603 break; }
4605 default:
4606 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4609 if (ndr_flags & NDR_BUFFERS) {
4610 switch (level) {
4611 case 1:
4612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4613 break;
4615 default:
4616 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4619 return NDR_ERR_SUCCESS;
4622 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4624 int level;
4625 level = ndr_print_get_switch_value(ndr, r);
4626 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4627 switch (level) {
4628 case 1:
4629 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4630 break;
4632 default:
4633 ndr_print_bad_level(ndr, name, level);
4637 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4639 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4640 return NDR_ERR_SUCCESS;
4643 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4645 uint32_t v;
4646 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4647 *r = v;
4648 return NDR_ERR_SUCCESS;
4651 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4653 const char *val = NULL;
4655 switch (r) {
4656 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4657 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4658 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4659 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4660 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4661 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4662 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4664 ndr_print_enum(ndr, name, "ENUM", val, r);
4667 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4669 uint32_t cntr_info_array_1;
4670 uint32_t cntr_group_attrs_1;
4671 uint32_t cntr_sids_1;
4672 if (ndr_flags & NDR_SCALARS) {
4673 NDR_CHECK(ndr_push_align(ndr, 5));
4674 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4677 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4680 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4682 if (ndr_flags & NDR_BUFFERS) {
4683 if (r->info_array) {
4684 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4685 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4686 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4688 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4689 if (r->info_array[cntr_info_array_1]) {
4690 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4694 if (r->group_attrs) {
4695 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4696 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4697 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4700 if (r->sids) {
4701 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4702 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4703 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4705 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4706 if (r->sids[cntr_sids_1]) {
4707 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4712 return NDR_ERR_SUCCESS;
4715 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4717 uint32_t _ptr_info_array;
4718 uint32_t cntr_info_array_1;
4719 TALLOC_CTX *_mem_save_info_array_0;
4720 TALLOC_CTX *_mem_save_info_array_1;
4721 TALLOC_CTX *_mem_save_info_array_2;
4722 uint32_t _ptr_group_attrs;
4723 uint32_t cntr_group_attrs_1;
4724 TALLOC_CTX *_mem_save_group_attrs_0;
4725 TALLOC_CTX *_mem_save_group_attrs_1;
4726 uint32_t _ptr_sids;
4727 uint32_t cntr_sids_1;
4728 TALLOC_CTX *_mem_save_sids_0;
4729 TALLOC_CTX *_mem_save_sids_1;
4730 TALLOC_CTX *_mem_save_sids_2;
4731 if (ndr_flags & NDR_SCALARS) {
4732 NDR_CHECK(ndr_pull_align(ndr, 5));
4733 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4735 if (r->num_memberships > 10000) {
4736 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4739 if (r->num_sids > 10000) {
4740 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4742 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4743 if (_ptr_info_array) {
4744 NDR_PULL_ALLOC(ndr, r->info_array);
4745 } else {
4746 r->info_array = NULL;
4748 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4749 if (_ptr_group_attrs) {
4750 NDR_PULL_ALLOC(ndr, r->group_attrs);
4751 } else {
4752 r->group_attrs = NULL;
4754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4755 if (_ptr_sids) {
4756 NDR_PULL_ALLOC(ndr, r->sids);
4757 } else {
4758 r->sids = NULL;
4760 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4762 if (ndr_flags & NDR_BUFFERS) {
4763 if (r->info_array) {
4764 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4765 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4766 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4767 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4768 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4769 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4770 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4772 if (_ptr_info_array) {
4773 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4774 } else {
4775 r->info_array[cntr_info_array_1] = NULL;
4778 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4779 if (r->info_array[cntr_info_array_1]) {
4780 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4781 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4782 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4789 if (r->group_attrs) {
4790 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4791 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4792 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4793 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4794 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4795 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4796 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4797 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4802 if (r->sids) {
4803 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4804 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4805 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4806 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4807 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4808 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4809 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4811 if (_ptr_sids) {
4812 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4813 } else {
4814 r->sids[cntr_sids_1] = NULL;
4817 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4818 if (r->sids[cntr_sids_1]) {
4819 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4820 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4821 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4822 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4828 if (r->info_array) {
4829 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4831 if (r->group_attrs) {
4832 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4834 if (r->sids) {
4835 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4838 return NDR_ERR_SUCCESS;
4841 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4843 uint32_t cntr_info_array_1;
4844 uint32_t cntr_group_attrs_1;
4845 uint32_t cntr_sids_1;
4846 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4847 ndr->depth++;
4848 ndr_print_NTSTATUS(ndr, "status", r->status);
4849 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4850 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4851 ndr_print_ptr(ndr, "info_array", r->info_array);
4852 ndr->depth++;
4853 if (r->info_array) {
4854 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4855 ndr->depth++;
4856 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4857 char *idx_1=NULL;
4858 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4859 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4860 ndr->depth++;
4861 if (r->info_array[cntr_info_array_1]) {
4862 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4864 ndr->depth--;
4865 free(idx_1);
4868 ndr->depth--;
4870 ndr->depth--;
4871 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4872 ndr->depth++;
4873 if (r->group_attrs) {
4874 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4875 ndr->depth++;
4876 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4877 char *idx_1=NULL;
4878 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4879 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4880 free(idx_1);
4883 ndr->depth--;
4885 ndr->depth--;
4886 ndr_print_ptr(ndr, "sids", r->sids);
4887 ndr->depth++;
4888 if (r->sids) {
4889 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4890 ndr->depth++;
4891 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4892 char *idx_1=NULL;
4893 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4894 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4895 ndr->depth++;
4896 if (r->sids[cntr_sids_1]) {
4897 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4899 ndr->depth--;
4900 free(idx_1);
4903 ndr->depth--;
4905 ndr->depth--;
4906 ndr->depth--;
4909 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4911 if (ndr_flags & NDR_SCALARS) {
4912 int level = ndr_push_get_switch_value(ndr, r);
4913 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4914 NDR_CHECK(ndr_push_union_align(ndr, 5));
4915 switch (level) {
4916 case 1: {
4917 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4918 break; }
4920 default:
4921 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4924 if (ndr_flags & NDR_BUFFERS) {
4925 int level = ndr_push_get_switch_value(ndr, r);
4926 switch (level) {
4927 case 1:
4928 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4929 break;
4931 default:
4932 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4935 return NDR_ERR_SUCCESS;
4938 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4940 int level;
4941 int32_t _level;
4942 level = ndr_pull_get_switch_value(ndr, r);
4943 if (ndr_flags & NDR_SCALARS) {
4944 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4945 if (_level != level) {
4946 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4948 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4949 switch (level) {
4950 case 1: {
4951 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4952 break; }
4954 default:
4955 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4958 if (ndr_flags & NDR_BUFFERS) {
4959 switch (level) {
4960 case 1:
4961 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4962 break;
4964 default:
4965 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4968 return NDR_ERR_SUCCESS;
4971 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4973 int level;
4974 level = ndr_print_get_switch_value(ndr, r);
4975 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4976 switch (level) {
4977 case 1:
4978 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4979 break;
4981 default:
4982 ndr_print_bad_level(ndr, name, level);
4986 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4988 uint32_t cntr_info_array_1;
4989 if (ndr_flags & NDR_SCALARS) {
4990 NDR_CHECK(ndr_push_align(ndr, 5));
4991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4994 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4995 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4996 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4998 if (ndr_flags & NDR_BUFFERS) {
4999 if (r->info_array) {
5000 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5001 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5002 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5004 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5005 if (r->info_array[cntr_info_array_1]) {
5006 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5010 if (r->domain) {
5011 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5014 return NDR_ERR_SUCCESS;
5017 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5019 uint32_t _ptr_info_array;
5020 uint32_t cntr_info_array_1;
5021 TALLOC_CTX *_mem_save_info_array_0;
5022 TALLOC_CTX *_mem_save_info_array_1;
5023 TALLOC_CTX *_mem_save_info_array_2;
5024 uint32_t _ptr_domain;
5025 TALLOC_CTX *_mem_save_domain_0;
5026 if (ndr_flags & NDR_SCALARS) {
5027 NDR_CHECK(ndr_pull_align(ndr, 5));
5028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5029 if (r->count < 1 || r->count > 10000) {
5030 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5033 if (_ptr_info_array) {
5034 NDR_PULL_ALLOC(ndr, r->info_array);
5035 } else {
5036 r->info_array = NULL;
5038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5039 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5041 if (_ptr_domain) {
5042 NDR_PULL_ALLOC(ndr, r->domain);
5043 } else {
5044 r->domain = NULL;
5046 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5048 if (ndr_flags & NDR_BUFFERS) {
5049 if (r->info_array) {
5050 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5051 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5052 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5053 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5054 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5055 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5056 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5058 if (_ptr_info_array) {
5059 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5060 } else {
5061 r->info_array[cntr_info_array_1] = NULL;
5064 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5065 if (r->info_array[cntr_info_array_1]) {
5066 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5067 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5068 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5075 if (r->domain) {
5076 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5077 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5078 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5081 if (r->info_array) {
5082 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5085 return NDR_ERR_SUCCESS;
5088 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5090 uint32_t cntr_info_array_1;
5091 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5092 ndr->depth++;
5093 ndr_print_uint32(ndr, "count", r->count);
5094 ndr_print_ptr(ndr, "info_array", r->info_array);
5095 ndr->depth++;
5096 if (r->info_array) {
5097 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5098 ndr->depth++;
5099 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5100 char *idx_1=NULL;
5101 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5102 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5103 ndr->depth++;
5104 if (r->info_array[cntr_info_array_1]) {
5105 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5107 ndr->depth--;
5108 free(idx_1);
5111 ndr->depth--;
5113 ndr->depth--;
5114 ndr_print_uint32(ndr, "flags", r->flags);
5115 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5116 ndr_print_ptr(ndr, "domain", r->domain);
5117 ndr->depth++;
5118 if (r->domain) {
5119 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5121 ndr->depth--;
5122 ndr->depth--;
5125 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5127 if (ndr_flags & NDR_SCALARS) {
5128 int level = ndr_push_get_switch_value(ndr, r);
5129 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5130 NDR_CHECK(ndr_push_union_align(ndr, 5));
5131 switch (level) {
5132 case 1: {
5133 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5134 break; }
5136 default:
5137 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5140 if (ndr_flags & NDR_BUFFERS) {
5141 int level = ndr_push_get_switch_value(ndr, r);
5142 switch (level) {
5143 case 1:
5144 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5145 break;
5147 default:
5148 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5151 return NDR_ERR_SUCCESS;
5154 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5156 int level;
5157 int32_t _level;
5158 level = ndr_pull_get_switch_value(ndr, r);
5159 if (ndr_flags & NDR_SCALARS) {
5160 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5161 if (_level != level) {
5162 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5164 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5165 switch (level) {
5166 case 1: {
5167 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5168 break; }
5170 default:
5171 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5174 if (ndr_flags & NDR_BUFFERS) {
5175 switch (level) {
5176 case 1:
5177 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5178 break;
5180 default:
5181 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5184 return NDR_ERR_SUCCESS;
5187 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5189 int level;
5190 level = ndr_print_get_switch_value(ndr, r);
5191 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5192 switch (level) {
5193 case 1:
5194 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5195 break;
5197 default:
5198 ndr_print_bad_level(ndr, name, level);
5202 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5204 if (ndr_flags & NDR_SCALARS) {
5205 NDR_CHECK(ndr_push_align(ndr, 5));
5206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5209 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5210 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5212 if (ndr_flags & NDR_BUFFERS) {
5213 if (r->data) {
5214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5215 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5218 return NDR_ERR_SUCCESS;
5221 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5223 uint32_t _ptr_data;
5224 TALLOC_CTX *_mem_save_data_0;
5225 if (ndr_flags & NDR_SCALARS) {
5226 NDR_CHECK(ndr_pull_align(ndr, 5));
5227 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5230 if (r->length > 0x00A00000) {
5231 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5234 if (_ptr_data) {
5235 NDR_PULL_ALLOC(ndr, r->data);
5236 } else {
5237 r->data = NULL;
5239 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5241 if (ndr_flags & NDR_BUFFERS) {
5242 if (r->data) {
5243 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5244 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5245 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5246 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5247 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5248 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5250 if (r->data) {
5251 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5254 return NDR_ERR_SUCCESS;
5257 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5259 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5260 ndr->depth++;
5261 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5262 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5263 ndr_print_uint32(ndr, "length", r->length);
5264 ndr_print_ptr(ndr, "data", r->data);
5265 ndr->depth++;
5266 if (r->data) {
5267 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5269 ndr->depth--;
5270 ndr->depth--;
5273 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5275 if (ndr_flags & NDR_SCALARS) {
5276 int level = ndr_push_get_switch_value(ndr, r);
5277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5278 NDR_CHECK(ndr_push_union_align(ndr, 5));
5279 switch (level) {
5280 case 1: {
5281 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5282 break; }
5284 default:
5285 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5288 if (ndr_flags & NDR_BUFFERS) {
5289 int level = ndr_push_get_switch_value(ndr, r);
5290 switch (level) {
5291 case 1:
5292 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5293 break;
5295 default:
5296 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5299 return NDR_ERR_SUCCESS;
5302 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5304 int level;
5305 uint32_t _level;
5306 level = ndr_pull_get_switch_value(ndr, r);
5307 if (ndr_flags & NDR_SCALARS) {
5308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5309 if (_level != level) {
5310 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5312 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5313 switch (level) {
5314 case 1: {
5315 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5316 break; }
5318 default:
5319 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5322 if (ndr_flags & NDR_BUFFERS) {
5323 switch (level) {
5324 case 1:
5325 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5326 break;
5328 default:
5329 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5332 return NDR_ERR_SUCCESS;
5335 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5337 int level;
5338 level = ndr_print_get_switch_value(ndr, r);
5339 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5340 switch (level) {
5341 case 1:
5342 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5343 break;
5345 default:
5346 ndr_print_bad_level(ndr, name, level);
5350 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5352 if (ndr_flags & NDR_SCALARS) {
5353 NDR_CHECK(ndr_push_align(ndr, 8));
5354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5356 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5357 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5358 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5359 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5360 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5361 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5362 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5365 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5367 if (ndr_flags & NDR_BUFFERS) {
5368 if (r->data1) {
5369 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5370 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5372 if (r->data2) {
5373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5374 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5377 return NDR_ERR_SUCCESS;
5380 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5382 uint32_t _ptr_data1;
5383 TALLOC_CTX *_mem_save_data1_0;
5384 uint32_t _ptr_data2;
5385 TALLOC_CTX *_mem_save_data2_0;
5386 if (ndr_flags & NDR_SCALARS) {
5387 NDR_CHECK(ndr_pull_align(ndr, 8));
5388 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5389 if (r->length1 > 0x00A00000) {
5390 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5392 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5393 if (r->length2 > 0x00A00000) {
5394 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5396 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5397 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5398 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5399 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5400 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5401 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5402 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5404 if (_ptr_data1) {
5405 NDR_PULL_ALLOC(ndr, r->data1);
5406 } else {
5407 r->data1 = NULL;
5409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5410 if (_ptr_data2) {
5411 NDR_PULL_ALLOC(ndr, r->data2);
5412 } else {
5413 r->data2 = NULL;
5415 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5417 if (ndr_flags & NDR_BUFFERS) {
5418 if (r->data1) {
5419 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5420 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5421 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5422 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5423 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5424 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5426 if (r->data2) {
5427 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5428 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5429 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5430 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5431 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5434 if (r->data1) {
5435 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5437 if (r->data2) {
5438 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5441 return NDR_ERR_SUCCESS;
5444 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5446 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5447 ndr->depth++;
5448 ndr_print_uint32(ndr, "length1", r->length1);
5449 ndr_print_uint32(ndr, "length2", r->length2);
5450 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5451 ndr_print_NTTIME(ndr, "time2", r->time2);
5452 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5453 ndr_print_NTTIME(ndr, "time4", r->time4);
5454 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5455 ndr_print_NTTIME(ndr, "time6", r->time6);
5456 ndr_print_NTSTATUS(ndr, "status", r->status);
5457 ndr_print_ptr(ndr, "data1", r->data1);
5458 ndr->depth++;
5459 if (r->data1) {
5460 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5462 ndr->depth--;
5463 ndr_print_ptr(ndr, "data2", r->data2);
5464 ndr->depth++;
5465 if (r->data2) {
5466 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5468 ndr->depth--;
5469 ndr->depth--;
5472 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5474 if (ndr_flags & NDR_SCALARS) {
5475 int level = ndr_push_get_switch_value(ndr, r);
5476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5477 NDR_CHECK(ndr_push_union_align(ndr, 8));
5478 switch (level) {
5479 case 1: {
5480 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5481 break; }
5483 default:
5484 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5487 if (ndr_flags & NDR_BUFFERS) {
5488 int level = ndr_push_get_switch_value(ndr, r);
5489 switch (level) {
5490 case 1:
5491 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5492 break;
5494 default:
5495 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5498 return NDR_ERR_SUCCESS;
5501 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5503 int level;
5504 uint32_t _level;
5505 level = ndr_pull_get_switch_value(ndr, r);
5506 if (ndr_flags & NDR_SCALARS) {
5507 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5508 if (_level != level) {
5509 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5511 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5512 switch (level) {
5513 case 1: {
5514 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5515 break; }
5517 default:
5518 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5521 if (ndr_flags & NDR_BUFFERS) {
5522 switch (level) {
5523 case 1:
5524 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5525 break;
5527 default:
5528 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5531 return NDR_ERR_SUCCESS;
5534 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5536 int level;
5537 level = ndr_print_get_switch_value(ndr, r);
5538 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5539 switch (level) {
5540 case 1:
5541 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5542 break;
5544 default:
5545 ndr_print_bad_level(ndr, name, level);
5549 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5551 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5552 return NDR_ERR_SUCCESS;
5555 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5557 uint32_t v;
5558 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5559 *r = v;
5560 return NDR_ERR_SUCCESS;
5563 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5565 const char *val = NULL;
5567 switch (r) {
5568 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5569 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5570 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5571 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5572 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5573 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5574 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5575 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5577 ndr_print_enum(ndr, name, "ENUM", val, r);
5580 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5582 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5583 return NDR_ERR_SUCCESS;
5586 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5588 uint32_t v;
5589 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5590 *r = v;
5591 return NDR_ERR_SUCCESS;
5594 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5596 const char *val = NULL;
5598 switch (r) {
5599 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5600 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5601 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5602 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5603 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5605 ndr_print_enum(ndr, name, "ENUM", val, r);
5608 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5610 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5611 return NDR_ERR_SUCCESS;
5614 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5616 uint32_t v;
5617 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5618 *r = v;
5619 return NDR_ERR_SUCCESS;
5622 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5624 const char *val = NULL;
5626 switch (r) {
5627 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5628 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5629 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5630 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5631 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5632 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5633 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5634 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5635 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5636 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5637 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5639 ndr_print_enum(ndr, name, "ENUM", val, r);
5642 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5644 if (ndr_flags & NDR_SCALARS) {
5645 NDR_CHECK(ndr_push_align(ndr, 5));
5646 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5647 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5649 if (ndr_flags & NDR_BUFFERS) {
5650 if (r->str) {
5651 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5652 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5653 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5654 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5657 return NDR_ERR_SUCCESS;
5660 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5662 uint32_t _ptr_str;
5663 TALLOC_CTX *_mem_save_str_0;
5664 if (ndr_flags & NDR_SCALARS) {
5665 NDR_CHECK(ndr_pull_align(ndr, 5));
5666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5667 if (_ptr_str) {
5668 NDR_PULL_ALLOC(ndr, r->str);
5669 } else {
5670 r->str = NULL;
5672 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5674 if (ndr_flags & NDR_BUFFERS) {
5675 if (r->str) {
5676 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5677 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5678 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5679 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5680 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5681 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));
5683 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5684 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5688 return NDR_ERR_SUCCESS;
5691 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5693 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5694 ndr->depth++;
5695 ndr_print_ptr(ndr, "str", r->str);
5696 ndr->depth++;
5697 if (r->str) {
5698 ndr_print_string(ndr, "str", r->str);
5700 ndr->depth--;
5701 ndr->depth--;
5704 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5706 uint32_t cntr_names_1;
5707 if (ndr_flags & NDR_SCALARS) {
5708 NDR_CHECK(ndr_push_align(ndr, 5));
5709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5711 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5712 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5713 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5715 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5716 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5718 if (ndr_flags & NDR_BUFFERS) {
5719 if (r->names) {
5720 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5721 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5722 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5724 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5725 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5729 return NDR_ERR_SUCCESS;
5732 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5734 uint32_t _ptr_names;
5735 uint32_t cntr_names_1;
5736 TALLOC_CTX *_mem_save_names_0;
5737 TALLOC_CTX *_mem_save_names_1;
5738 if (ndr_flags & NDR_SCALARS) {
5739 NDR_CHECK(ndr_pull_align(ndr, 5));
5740 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5741 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5742 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5743 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5744 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5746 if (r->count < 1 || r->count > 10000) {
5747 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5750 if (_ptr_names) {
5751 NDR_PULL_ALLOC(ndr, r->names);
5752 } else {
5753 r->names = NULL;
5755 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5757 if (ndr_flags & NDR_BUFFERS) {
5758 if (r->names) {
5759 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5760 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5761 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5762 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5763 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5764 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5765 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5766 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5768 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5769 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5772 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5774 if (r->names) {
5775 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5778 return NDR_ERR_SUCCESS;
5781 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5783 uint32_t cntr_names_1;
5784 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5785 ndr->depth++;
5786 ndr_print_uint32(ndr, "codepage", r->codepage);
5787 ndr_print_uint32(ndr, "language", r->language);
5788 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5789 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5790 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5791 ndr_print_uint32(ndr, "count", r->count);
5792 ndr_print_ptr(ndr, "names", r->names);
5793 ndr->depth++;
5794 if (r->names) {
5795 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5796 ndr->depth++;
5797 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5798 char *idx_1=NULL;
5799 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5800 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5801 free(idx_1);
5804 ndr->depth--;
5806 ndr->depth--;
5807 ndr->depth--;
5810 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5812 if (ndr_flags & NDR_SCALARS) {
5813 int level = ndr_push_get_switch_value(ndr, r);
5814 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5815 NDR_CHECK(ndr_push_union_align(ndr, 5));
5816 switch (level) {
5817 case 1: {
5818 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5819 break; }
5821 default:
5822 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5825 if (ndr_flags & NDR_BUFFERS) {
5826 int level = ndr_push_get_switch_value(ndr, r);
5827 switch (level) {
5828 case 1:
5829 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5830 break;
5832 default:
5833 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5836 return NDR_ERR_SUCCESS;
5839 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5841 int level;
5842 int32_t _level;
5843 level = ndr_pull_get_switch_value(ndr, r);
5844 if (ndr_flags & NDR_SCALARS) {
5845 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5846 if (_level != level) {
5847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5849 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5850 switch (level) {
5851 case 1: {
5852 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5853 break; }
5855 default:
5856 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5859 if (ndr_flags & NDR_BUFFERS) {
5860 switch (level) {
5861 case 1:
5862 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5863 break;
5865 default:
5866 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5869 return NDR_ERR_SUCCESS;
5872 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5874 int level;
5875 level = ndr_print_get_switch_value(ndr, r);
5876 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5877 switch (level) {
5878 case 1:
5879 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5880 break;
5882 default:
5883 ndr_print_bad_level(ndr, name, level);
5887 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5889 if (ndr_flags & NDR_SCALARS) {
5890 NDR_CHECK(ndr_push_align(ndr, 5));
5891 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5893 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5894 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5896 if (ndr_flags & NDR_BUFFERS) {
5897 if (r->dns_domain_name) {
5898 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5899 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5900 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5901 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));
5903 if (r->result_name) {
5904 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5905 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5906 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5907 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5910 return NDR_ERR_SUCCESS;
5913 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5915 uint32_t _ptr_dns_domain_name;
5916 TALLOC_CTX *_mem_save_dns_domain_name_0;
5917 uint32_t _ptr_result_name;
5918 TALLOC_CTX *_mem_save_result_name_0;
5919 if (ndr_flags & NDR_SCALARS) {
5920 NDR_CHECK(ndr_pull_align(ndr, 5));
5921 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5923 if (_ptr_dns_domain_name) {
5924 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5925 } else {
5926 r->dns_domain_name = NULL;
5928 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5929 if (_ptr_result_name) {
5930 NDR_PULL_ALLOC(ndr, r->result_name);
5931 } else {
5932 r->result_name = NULL;
5934 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5936 if (ndr_flags & NDR_BUFFERS) {
5937 if (r->dns_domain_name) {
5938 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5939 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5940 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5941 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5942 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5943 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));
5945 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5946 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));
5947 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5949 if (r->result_name) {
5950 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5951 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5952 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5953 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5954 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5955 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));
5957 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5958 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5962 return NDR_ERR_SUCCESS;
5965 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5967 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5968 ndr->depth++;
5969 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5970 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5971 ndr->depth++;
5972 if (r->dns_domain_name) {
5973 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5975 ndr->depth--;
5976 ndr_print_ptr(ndr, "result_name", r->result_name);
5977 ndr->depth++;
5978 if (r->result_name) {
5979 ndr_print_string(ndr, "result_name", r->result_name);
5981 ndr->depth--;
5982 ndr->depth--;
5985 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5987 uint32_t cntr_array_1;
5988 if (ndr_flags & NDR_SCALARS) {
5989 NDR_CHECK(ndr_push_align(ndr, 5));
5990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5991 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5992 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5994 if (ndr_flags & NDR_BUFFERS) {
5995 if (r->array) {
5996 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5997 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5998 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6000 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6001 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6005 return NDR_ERR_SUCCESS;
6008 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6010 uint32_t _ptr_array;
6011 uint32_t cntr_array_1;
6012 TALLOC_CTX *_mem_save_array_0;
6013 TALLOC_CTX *_mem_save_array_1;
6014 if (ndr_flags & NDR_SCALARS) {
6015 NDR_CHECK(ndr_pull_align(ndr, 5));
6016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6017 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6018 if (_ptr_array) {
6019 NDR_PULL_ALLOC(ndr, r->array);
6020 } else {
6021 r->array = NULL;
6023 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6025 if (ndr_flags & NDR_BUFFERS) {
6026 if (r->array) {
6027 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6028 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6029 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6030 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6031 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6032 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6033 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6034 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6036 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6037 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6039 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6042 if (r->array) {
6043 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6046 return NDR_ERR_SUCCESS;
6049 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6051 uint32_t cntr_array_1;
6052 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6053 ndr->depth++;
6054 ndr_print_uint32(ndr, "count", r->count);
6055 ndr_print_ptr(ndr, "array", r->array);
6056 ndr->depth++;
6057 if (r->array) {
6058 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6059 ndr->depth++;
6060 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6061 char *idx_1=NULL;
6062 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6063 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6064 free(idx_1);
6067 ndr->depth--;
6069 ndr->depth--;
6070 ndr->depth--;
6073 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6075 if (ndr_flags & NDR_SCALARS) {
6076 int level = ndr_push_get_switch_value(ndr, r);
6077 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6078 NDR_CHECK(ndr_push_union_align(ndr, 5));
6079 switch (level) {
6080 case 1: {
6081 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6082 break; }
6084 default:
6085 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6088 if (ndr_flags & NDR_BUFFERS) {
6089 int level = ndr_push_get_switch_value(ndr, r);
6090 switch (level) {
6091 case 1:
6092 if (r->ctr1) {
6093 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6095 break;
6097 default:
6098 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6101 return NDR_ERR_SUCCESS;
6104 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6106 int level;
6107 int32_t _level;
6108 TALLOC_CTX *_mem_save_ctr1_0;
6109 level = ndr_pull_get_switch_value(ndr, r);
6110 if (ndr_flags & NDR_SCALARS) {
6111 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6112 if (_level != level) {
6113 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6115 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6116 switch (level) {
6117 case 1: {
6118 uint32_t _ptr_ctr1;
6119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6120 if (_ptr_ctr1) {
6121 NDR_PULL_ALLOC(ndr, r->ctr1);
6122 } else {
6123 r->ctr1 = NULL;
6125 break; }
6127 default:
6128 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6131 if (ndr_flags & NDR_BUFFERS) {
6132 switch (level) {
6133 case 1:
6134 if (r->ctr1) {
6135 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6136 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6137 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6140 break;
6142 default:
6143 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6146 return NDR_ERR_SUCCESS;
6149 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6151 int level;
6152 level = ndr_print_get_switch_value(ndr, r);
6153 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6154 switch (level) {
6155 case 1:
6156 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6157 ndr->depth++;
6158 if (r->ctr1) {
6159 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6161 ndr->depth--;
6162 break;
6164 default:
6165 ndr_print_bad_level(ndr, name, level);
6169 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6171 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6172 return NDR_ERR_SUCCESS;
6175 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6177 uint32_t v;
6178 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6179 *r = v;
6180 return NDR_ERR_SUCCESS;
6183 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6185 const char *val = NULL;
6187 switch (r) {
6188 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6189 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6190 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6192 ndr_print_enum(ndr, name, "ENUM", val, r);
6195 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6197 uint32_t cntr_spn_names_1;
6198 if (ndr_flags & NDR_SCALARS) {
6199 NDR_CHECK(ndr_push_align(ndr, 5));
6200 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6202 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6205 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6207 if (ndr_flags & NDR_BUFFERS) {
6208 if (r->object_dn) {
6209 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6210 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6211 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6212 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6214 if (r->spn_names) {
6215 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6216 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6217 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6219 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6220 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6224 return NDR_ERR_SUCCESS;
6227 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6229 uint32_t _ptr_object_dn;
6230 TALLOC_CTX *_mem_save_object_dn_0;
6231 uint32_t _ptr_spn_names;
6232 uint32_t cntr_spn_names_1;
6233 TALLOC_CTX *_mem_save_spn_names_0;
6234 TALLOC_CTX *_mem_save_spn_names_1;
6235 if (ndr_flags & NDR_SCALARS) {
6236 NDR_CHECK(ndr_pull_align(ndr, 5));
6237 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6239 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6240 if (_ptr_object_dn) {
6241 NDR_PULL_ALLOC(ndr, r->object_dn);
6242 } else {
6243 r->object_dn = NULL;
6245 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6246 if (r->count > 10000) {
6247 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6249 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6250 if (_ptr_spn_names) {
6251 NDR_PULL_ALLOC(ndr, r->spn_names);
6252 } else {
6253 r->spn_names = NULL;
6255 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6257 if (ndr_flags & NDR_BUFFERS) {
6258 if (r->object_dn) {
6259 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6260 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6261 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6262 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6263 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6264 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));
6266 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6267 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6270 if (r->spn_names) {
6271 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6272 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6273 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6274 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6275 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6276 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6277 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6278 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6280 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6281 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6286 if (r->spn_names) {
6287 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6290 return NDR_ERR_SUCCESS;
6293 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6295 uint32_t cntr_spn_names_1;
6296 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6297 ndr->depth++;
6298 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6299 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6300 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6301 ndr->depth++;
6302 if (r->object_dn) {
6303 ndr_print_string(ndr, "object_dn", r->object_dn);
6305 ndr->depth--;
6306 ndr_print_uint32(ndr, "count", r->count);
6307 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6308 ndr->depth++;
6309 if (r->spn_names) {
6310 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6311 ndr->depth++;
6312 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6313 char *idx_1=NULL;
6314 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6315 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6316 free(idx_1);
6319 ndr->depth--;
6321 ndr->depth--;
6322 ndr->depth--;
6325 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6327 if (ndr_flags & NDR_SCALARS) {
6328 int level = ndr_push_get_switch_value(ndr, r);
6329 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6330 NDR_CHECK(ndr_push_union_align(ndr, 5));
6331 switch (level) {
6332 case 1: {
6333 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6334 break; }
6336 default:
6337 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6340 if (ndr_flags & NDR_BUFFERS) {
6341 int level = ndr_push_get_switch_value(ndr, r);
6342 switch (level) {
6343 case 1:
6344 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6345 break;
6347 default:
6348 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6351 return NDR_ERR_SUCCESS;
6354 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6356 int level;
6357 int32_t _level;
6358 level = ndr_pull_get_switch_value(ndr, r);
6359 if (ndr_flags & NDR_SCALARS) {
6360 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6361 if (_level != level) {
6362 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6364 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6365 switch (level) {
6366 case 1: {
6367 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6368 break; }
6370 default:
6371 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6374 if (ndr_flags & NDR_BUFFERS) {
6375 switch (level) {
6376 case 1:
6377 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6378 break;
6380 default:
6381 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6384 return NDR_ERR_SUCCESS;
6387 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6389 int level;
6390 level = ndr_print_get_switch_value(ndr, r);
6391 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6392 switch (level) {
6393 case 1:
6394 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6395 break;
6397 default:
6398 ndr_print_bad_level(ndr, name, level);
6402 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6404 if (ndr_flags & NDR_SCALARS) {
6405 NDR_CHECK(ndr_push_align(ndr, 4));
6406 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6407 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6409 if (ndr_flags & NDR_BUFFERS) {
6411 return NDR_ERR_SUCCESS;
6414 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6416 if (ndr_flags & NDR_SCALARS) {
6417 NDR_CHECK(ndr_pull_align(ndr, 4));
6418 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6419 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6421 if (ndr_flags & NDR_BUFFERS) {
6423 return NDR_ERR_SUCCESS;
6426 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6428 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6429 ndr->depth++;
6430 ndr_print_WERROR(ndr, "status", r->status);
6431 ndr->depth--;
6434 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6436 if (ndr_flags & NDR_SCALARS) {
6437 int level = ndr_push_get_switch_value(ndr, r);
6438 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6439 NDR_CHECK(ndr_push_union_align(ndr, 4));
6440 switch (level) {
6441 case 1: {
6442 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6443 break; }
6445 default:
6446 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6449 if (ndr_flags & NDR_BUFFERS) {
6450 int level = ndr_push_get_switch_value(ndr, r);
6451 switch (level) {
6452 case 1:
6453 break;
6455 default:
6456 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6459 return NDR_ERR_SUCCESS;
6462 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6464 int level;
6465 int32_t _level;
6466 level = ndr_pull_get_switch_value(ndr, r);
6467 if (ndr_flags & NDR_SCALARS) {
6468 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6469 if (_level != level) {
6470 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6472 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6473 switch (level) {
6474 case 1: {
6475 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6476 break; }
6478 default:
6479 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6482 if (ndr_flags & NDR_BUFFERS) {
6483 switch (level) {
6484 case 1:
6485 break;
6487 default:
6488 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6491 return NDR_ERR_SUCCESS;
6494 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6496 int level;
6497 level = ndr_print_get_switch_value(ndr, r);
6498 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6499 switch (level) {
6500 case 1:
6501 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6502 break;
6504 default:
6505 ndr_print_bad_level(ndr, name, level);
6509 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6511 if (ndr_flags & NDR_SCALARS) {
6512 NDR_CHECK(ndr_push_align(ndr, 5));
6513 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6514 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6516 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6518 if (ndr_flags & NDR_BUFFERS) {
6519 if (r->server_dn) {
6520 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6521 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6522 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6523 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6525 if (r->domain_dn) {
6526 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6527 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6528 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6529 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6532 return NDR_ERR_SUCCESS;
6535 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6537 uint32_t _ptr_server_dn;
6538 TALLOC_CTX *_mem_save_server_dn_0;
6539 uint32_t _ptr_domain_dn;
6540 TALLOC_CTX *_mem_save_domain_dn_0;
6541 if (ndr_flags & NDR_SCALARS) {
6542 NDR_CHECK(ndr_pull_align(ndr, 5));
6543 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6544 if (_ptr_server_dn) {
6545 NDR_PULL_ALLOC(ndr, r->server_dn);
6546 } else {
6547 r->server_dn = NULL;
6549 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6550 if (_ptr_domain_dn) {
6551 NDR_PULL_ALLOC(ndr, r->domain_dn);
6552 } else {
6553 r->domain_dn = NULL;
6555 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6556 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6558 if (ndr_flags & NDR_BUFFERS) {
6559 if (r->server_dn) {
6560 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6561 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6562 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6563 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6564 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6565 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));
6567 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6568 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6571 if (r->domain_dn) {
6572 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6573 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6574 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6575 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6576 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6577 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));
6579 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6580 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6581 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6584 return NDR_ERR_SUCCESS;
6587 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6589 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6590 ndr->depth++;
6591 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6592 ndr->depth++;
6593 if (r->server_dn) {
6594 ndr_print_string(ndr, "server_dn", r->server_dn);
6596 ndr->depth--;
6597 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6598 ndr->depth++;
6599 if (r->domain_dn) {
6600 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6602 ndr->depth--;
6603 ndr_print_uint32(ndr, "commit", r->commit);
6604 ndr->depth--;
6607 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6609 if (ndr_flags & NDR_SCALARS) {
6610 int level = ndr_push_get_switch_value(ndr, r);
6611 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6612 NDR_CHECK(ndr_push_union_align(ndr, 5));
6613 switch (level) {
6614 case 1: {
6615 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6616 break; }
6618 default:
6619 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6622 if (ndr_flags & NDR_BUFFERS) {
6623 int level = ndr_push_get_switch_value(ndr, r);
6624 switch (level) {
6625 case 1:
6626 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6627 break;
6629 default:
6630 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6633 return NDR_ERR_SUCCESS;
6636 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6638 int level;
6639 int32_t _level;
6640 level = ndr_pull_get_switch_value(ndr, r);
6641 if (ndr_flags & NDR_SCALARS) {
6642 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6643 if (_level != level) {
6644 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6646 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6647 switch (level) {
6648 case 1: {
6649 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6650 break; }
6652 default:
6653 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6656 if (ndr_flags & NDR_BUFFERS) {
6657 switch (level) {
6658 case 1:
6659 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6660 break;
6662 default:
6663 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6666 return NDR_ERR_SUCCESS;
6669 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6671 int level;
6672 level = ndr_print_get_switch_value(ndr, r);
6673 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6674 switch (level) {
6675 case 1:
6676 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6677 break;
6679 default:
6680 ndr_print_bad_level(ndr, name, level);
6684 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6686 if (ndr_flags & NDR_SCALARS) {
6687 NDR_CHECK(ndr_push_align(ndr, 4));
6688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6689 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6691 if (ndr_flags & NDR_BUFFERS) {
6693 return NDR_ERR_SUCCESS;
6696 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6698 if (ndr_flags & NDR_SCALARS) {
6699 NDR_CHECK(ndr_pull_align(ndr, 4));
6700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6701 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6703 if (ndr_flags & NDR_BUFFERS) {
6705 return NDR_ERR_SUCCESS;
6708 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6710 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6711 ndr->depth++;
6712 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6713 ndr->depth--;
6716 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6718 if (ndr_flags & NDR_SCALARS) {
6719 int level = ndr_push_get_switch_value(ndr, r);
6720 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6721 NDR_CHECK(ndr_push_union_align(ndr, 4));
6722 switch (level) {
6723 case 1: {
6724 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6725 break; }
6727 default:
6728 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6731 if (ndr_flags & NDR_BUFFERS) {
6732 int level = ndr_push_get_switch_value(ndr, r);
6733 switch (level) {
6734 case 1:
6735 break;
6737 default:
6738 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6741 return NDR_ERR_SUCCESS;
6744 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6746 int level;
6747 int32_t _level;
6748 level = ndr_pull_get_switch_value(ndr, r);
6749 if (ndr_flags & NDR_SCALARS) {
6750 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6751 if (_level != level) {
6752 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6754 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6755 switch (level) {
6756 case 1: {
6757 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6758 break; }
6760 default:
6761 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6764 if (ndr_flags & NDR_BUFFERS) {
6765 switch (level) {
6766 case 1:
6767 break;
6769 default:
6770 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6773 return NDR_ERR_SUCCESS;
6776 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6778 int level;
6779 level = ndr_print_get_switch_value(ndr, r);
6780 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6781 switch (level) {
6782 case 1:
6783 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6784 break;
6786 default:
6787 ndr_print_bad_level(ndr, name, level);
6791 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6793 if (ndr_flags & NDR_SCALARS) {
6794 NDR_CHECK(ndr_push_align(ndr, 5));
6795 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6796 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6797 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6799 if (ndr_flags & NDR_BUFFERS) {
6800 if (r->domain_name) {
6801 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6802 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6803 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6804 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6807 return NDR_ERR_SUCCESS;
6810 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6812 uint32_t _ptr_domain_name;
6813 TALLOC_CTX *_mem_save_domain_name_0;
6814 if (ndr_flags & NDR_SCALARS) {
6815 NDR_CHECK(ndr_pull_align(ndr, 5));
6816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6817 if (_ptr_domain_name) {
6818 NDR_PULL_ALLOC(ndr, r->domain_name);
6819 } else {
6820 r->domain_name = NULL;
6822 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6823 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6825 if (ndr_flags & NDR_BUFFERS) {
6826 if (r->domain_name) {
6827 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6828 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6829 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6830 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6831 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6832 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));
6834 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6835 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6839 return NDR_ERR_SUCCESS;
6842 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6844 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6845 ndr->depth++;
6846 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6847 ndr->depth++;
6848 if (r->domain_name) {
6849 ndr_print_string(ndr, "domain_name", r->domain_name);
6851 ndr->depth--;
6852 ndr_print_int32(ndr, "level", r->level);
6853 ndr->depth--;
6856 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6858 if (ndr_flags & NDR_SCALARS) {
6859 int level = ndr_push_get_switch_value(ndr, r);
6860 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6861 NDR_CHECK(ndr_push_union_align(ndr, 5));
6862 switch (level) {
6863 case 1: {
6864 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6865 break; }
6867 default:
6868 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6871 if (ndr_flags & NDR_BUFFERS) {
6872 int level = ndr_push_get_switch_value(ndr, r);
6873 switch (level) {
6874 case 1:
6875 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6876 break;
6878 default:
6879 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6882 return NDR_ERR_SUCCESS;
6885 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6887 int level;
6888 int32_t _level;
6889 level = ndr_pull_get_switch_value(ndr, r);
6890 if (ndr_flags & NDR_SCALARS) {
6891 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6892 if (_level != level) {
6893 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6895 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6896 switch (level) {
6897 case 1: {
6898 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6899 break; }
6901 default:
6902 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6905 if (ndr_flags & NDR_BUFFERS) {
6906 switch (level) {
6907 case 1:
6908 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6909 break;
6911 default:
6912 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6915 return NDR_ERR_SUCCESS;
6918 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6920 int level;
6921 level = ndr_print_get_switch_value(ndr, r);
6922 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6923 switch (level) {
6924 case 1:
6925 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6926 break;
6928 default:
6929 ndr_print_bad_level(ndr, name, level);
6933 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6935 if (ndr_flags & NDR_SCALARS) {
6936 NDR_CHECK(ndr_push_align(ndr, 5));
6937 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6940 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6944 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6946 if (ndr_flags & NDR_BUFFERS) {
6947 if (r->netbios_name) {
6948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6951 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6953 if (r->dns_name) {
6954 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6955 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6956 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6957 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6959 if (r->site_name) {
6960 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6961 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6962 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6963 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6965 if (r->computer_dn) {
6966 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6967 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6968 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6969 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6971 if (r->server_dn) {
6972 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6973 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6974 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6975 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6978 return NDR_ERR_SUCCESS;
6981 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6983 uint32_t _ptr_netbios_name;
6984 TALLOC_CTX *_mem_save_netbios_name_0;
6985 uint32_t _ptr_dns_name;
6986 TALLOC_CTX *_mem_save_dns_name_0;
6987 uint32_t _ptr_site_name;
6988 TALLOC_CTX *_mem_save_site_name_0;
6989 uint32_t _ptr_computer_dn;
6990 TALLOC_CTX *_mem_save_computer_dn_0;
6991 uint32_t _ptr_server_dn;
6992 TALLOC_CTX *_mem_save_server_dn_0;
6993 if (ndr_flags & NDR_SCALARS) {
6994 NDR_CHECK(ndr_pull_align(ndr, 5));
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6996 if (_ptr_netbios_name) {
6997 NDR_PULL_ALLOC(ndr, r->netbios_name);
6998 } else {
6999 r->netbios_name = NULL;
7001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7002 if (_ptr_dns_name) {
7003 NDR_PULL_ALLOC(ndr, r->dns_name);
7004 } else {
7005 r->dns_name = NULL;
7007 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7008 if (_ptr_site_name) {
7009 NDR_PULL_ALLOC(ndr, r->site_name);
7010 } else {
7011 r->site_name = NULL;
7013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7014 if (_ptr_computer_dn) {
7015 NDR_PULL_ALLOC(ndr, r->computer_dn);
7016 } else {
7017 r->computer_dn = NULL;
7019 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7020 if (_ptr_server_dn) {
7021 NDR_PULL_ALLOC(ndr, r->server_dn);
7022 } else {
7023 r->server_dn = NULL;
7025 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7026 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7027 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7029 if (ndr_flags & NDR_BUFFERS) {
7030 if (r->netbios_name) {
7031 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7032 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7033 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7034 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7035 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7036 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));
7038 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7039 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7042 if (r->dns_name) {
7043 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7044 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7045 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7046 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7047 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7048 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));
7050 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7051 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7054 if (r->site_name) {
7055 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7056 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7057 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7058 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7059 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7060 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));
7062 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7063 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7066 if (r->computer_dn) {
7067 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7068 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7069 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7070 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7071 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7072 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));
7074 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7075 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7078 if (r->server_dn) {
7079 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7080 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7081 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7082 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7083 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7084 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));
7086 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7087 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7091 return NDR_ERR_SUCCESS;
7094 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7096 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7097 ndr->depth++;
7098 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7099 ndr->depth++;
7100 if (r->netbios_name) {
7101 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7103 ndr->depth--;
7104 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7105 ndr->depth++;
7106 if (r->dns_name) {
7107 ndr_print_string(ndr, "dns_name", r->dns_name);
7109 ndr->depth--;
7110 ndr_print_ptr(ndr, "site_name", r->site_name);
7111 ndr->depth++;
7112 if (r->site_name) {
7113 ndr_print_string(ndr, "site_name", r->site_name);
7115 ndr->depth--;
7116 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7117 ndr->depth++;
7118 if (r->computer_dn) {
7119 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7121 ndr->depth--;
7122 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7123 ndr->depth++;
7124 if (r->server_dn) {
7125 ndr_print_string(ndr, "server_dn", r->server_dn);
7127 ndr->depth--;
7128 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7129 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7130 ndr->depth--;
7133 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7135 uint32_t cntr_array_1;
7136 if (ndr_flags & NDR_SCALARS) {
7137 NDR_CHECK(ndr_push_align(ndr, 5));
7138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7139 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7140 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7142 if (ndr_flags & NDR_BUFFERS) {
7143 if (r->array) {
7144 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7145 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7146 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7148 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7149 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7153 return NDR_ERR_SUCCESS;
7156 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7158 uint32_t _ptr_array;
7159 uint32_t cntr_array_1;
7160 TALLOC_CTX *_mem_save_array_0;
7161 TALLOC_CTX *_mem_save_array_1;
7162 if (ndr_flags & NDR_SCALARS) {
7163 NDR_CHECK(ndr_pull_align(ndr, 5));
7164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7165 if (r->count > 10000) {
7166 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7168 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7169 if (_ptr_array) {
7170 NDR_PULL_ALLOC(ndr, r->array);
7171 } else {
7172 r->array = NULL;
7174 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7176 if (ndr_flags & NDR_BUFFERS) {
7177 if (r->array) {
7178 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7179 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7180 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7181 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7182 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7183 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7184 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7185 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7187 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7188 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7190 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7193 if (r->array) {
7194 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7197 return NDR_ERR_SUCCESS;
7200 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7202 uint32_t cntr_array_1;
7203 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7204 ndr->depth++;
7205 ndr_print_uint32(ndr, "count", r->count);
7206 ndr_print_ptr(ndr, "array", r->array);
7207 ndr->depth++;
7208 if (r->array) {
7209 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7210 ndr->depth++;
7211 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7212 char *idx_1=NULL;
7213 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7214 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7215 free(idx_1);
7218 ndr->depth--;
7220 ndr->depth--;
7221 ndr->depth--;
7224 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7226 if (ndr_flags & NDR_SCALARS) {
7227 NDR_CHECK(ndr_push_align(ndr, 5));
7228 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7230 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7234 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7238 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7239 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7240 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7241 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7242 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7244 if (ndr_flags & NDR_BUFFERS) {
7245 if (r->netbios_name) {
7246 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7247 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7248 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7249 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7251 if (r->dns_name) {
7252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7254 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7255 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7257 if (r->site_name) {
7258 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7259 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7260 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7261 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7263 if (r->site_dn) {
7264 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7265 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7266 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7267 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7269 if (r->computer_dn) {
7270 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7273 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7275 if (r->server_dn) {
7276 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7277 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7278 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7279 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7281 if (r->ntds_dn) {
7282 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7283 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7284 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7285 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7288 return NDR_ERR_SUCCESS;
7291 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7293 uint32_t _ptr_netbios_name;
7294 TALLOC_CTX *_mem_save_netbios_name_0;
7295 uint32_t _ptr_dns_name;
7296 TALLOC_CTX *_mem_save_dns_name_0;
7297 uint32_t _ptr_site_name;
7298 TALLOC_CTX *_mem_save_site_name_0;
7299 uint32_t _ptr_site_dn;
7300 TALLOC_CTX *_mem_save_site_dn_0;
7301 uint32_t _ptr_computer_dn;
7302 TALLOC_CTX *_mem_save_computer_dn_0;
7303 uint32_t _ptr_server_dn;
7304 TALLOC_CTX *_mem_save_server_dn_0;
7305 uint32_t _ptr_ntds_dn;
7306 TALLOC_CTX *_mem_save_ntds_dn_0;
7307 if (ndr_flags & NDR_SCALARS) {
7308 NDR_CHECK(ndr_pull_align(ndr, 5));
7309 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7310 if (_ptr_netbios_name) {
7311 NDR_PULL_ALLOC(ndr, r->netbios_name);
7312 } else {
7313 r->netbios_name = NULL;
7315 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7316 if (_ptr_dns_name) {
7317 NDR_PULL_ALLOC(ndr, r->dns_name);
7318 } else {
7319 r->dns_name = NULL;
7321 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7322 if (_ptr_site_name) {
7323 NDR_PULL_ALLOC(ndr, r->site_name);
7324 } else {
7325 r->site_name = NULL;
7327 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7328 if (_ptr_site_dn) {
7329 NDR_PULL_ALLOC(ndr, r->site_dn);
7330 } else {
7331 r->site_dn = NULL;
7333 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7334 if (_ptr_computer_dn) {
7335 NDR_PULL_ALLOC(ndr, r->computer_dn);
7336 } else {
7337 r->computer_dn = NULL;
7339 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7340 if (_ptr_server_dn) {
7341 NDR_PULL_ALLOC(ndr, r->server_dn);
7342 } else {
7343 r->server_dn = NULL;
7345 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7346 if (_ptr_ntds_dn) {
7347 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7348 } else {
7349 r->ntds_dn = NULL;
7351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7353 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7354 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7355 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7356 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7357 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7358 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7360 if (ndr_flags & NDR_BUFFERS) {
7361 if (r->netbios_name) {
7362 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7363 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7364 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7365 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7366 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7367 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));
7369 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7370 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7373 if (r->dns_name) {
7374 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7375 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7376 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7377 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7378 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7379 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));
7381 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7382 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7385 if (r->site_name) {
7386 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7387 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7388 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7389 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7390 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7391 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));
7393 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7394 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7397 if (r->site_dn) {
7398 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7399 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7400 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7401 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7402 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7403 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));
7405 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7406 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7409 if (r->computer_dn) {
7410 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7411 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7412 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7413 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7414 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7415 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));
7417 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7418 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7421 if (r->server_dn) {
7422 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7423 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7424 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7425 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7426 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7427 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));
7429 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7430 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7433 if (r->ntds_dn) {
7434 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7435 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7436 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7437 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7438 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7439 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));
7441 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7442 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7446 return NDR_ERR_SUCCESS;
7449 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7451 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7452 ndr->depth++;
7453 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7454 ndr->depth++;
7455 if (r->netbios_name) {
7456 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7458 ndr->depth--;
7459 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7460 ndr->depth++;
7461 if (r->dns_name) {
7462 ndr_print_string(ndr, "dns_name", r->dns_name);
7464 ndr->depth--;
7465 ndr_print_ptr(ndr, "site_name", r->site_name);
7466 ndr->depth++;
7467 if (r->site_name) {
7468 ndr_print_string(ndr, "site_name", r->site_name);
7470 ndr->depth--;
7471 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7472 ndr->depth++;
7473 if (r->site_dn) {
7474 ndr_print_string(ndr, "site_dn", r->site_dn);
7476 ndr->depth--;
7477 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7478 ndr->depth++;
7479 if (r->computer_dn) {
7480 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7482 ndr->depth--;
7483 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7484 ndr->depth++;
7485 if (r->server_dn) {
7486 ndr_print_string(ndr, "server_dn", r->server_dn);
7488 ndr->depth--;
7489 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7490 ndr->depth++;
7491 if (r->ntds_dn) {
7492 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7494 ndr->depth--;
7495 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7496 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7497 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7498 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7499 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7500 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7501 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7502 ndr->depth--;
7505 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7507 uint32_t cntr_array_1;
7508 if (ndr_flags & NDR_SCALARS) {
7509 NDR_CHECK(ndr_push_align(ndr, 5));
7510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7512 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7514 if (ndr_flags & NDR_BUFFERS) {
7515 if (r->array) {
7516 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7517 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7518 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7520 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7521 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7525 return NDR_ERR_SUCCESS;
7528 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7530 uint32_t _ptr_array;
7531 uint32_t cntr_array_1;
7532 TALLOC_CTX *_mem_save_array_0;
7533 TALLOC_CTX *_mem_save_array_1;
7534 if (ndr_flags & NDR_SCALARS) {
7535 NDR_CHECK(ndr_pull_align(ndr, 5));
7536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7537 if (r->count > 10000) {
7538 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7541 if (_ptr_array) {
7542 NDR_PULL_ALLOC(ndr, r->array);
7543 } else {
7544 r->array = NULL;
7546 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7548 if (ndr_flags & NDR_BUFFERS) {
7549 if (r->array) {
7550 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7551 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7552 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7553 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7554 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7555 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7556 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7557 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7559 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7560 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7565 if (r->array) {
7566 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7569 return NDR_ERR_SUCCESS;
7572 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7574 uint32_t cntr_array_1;
7575 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7576 ndr->depth++;
7577 ndr_print_uint32(ndr, "count", r->count);
7578 ndr_print_ptr(ndr, "array", r->array);
7579 ndr->depth++;
7580 if (r->array) {
7581 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7582 ndr->depth++;
7583 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7584 char *idx_1=NULL;
7585 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7586 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7587 free(idx_1);
7590 ndr->depth--;
7592 ndr->depth--;
7593 ndr->depth--;
7596 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7598 if (ndr_flags & NDR_SCALARS) {
7599 NDR_CHECK(ndr_push_align(ndr, 5));
7600 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7602 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7603 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7605 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7606 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7611 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7612 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7613 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7614 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7615 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7617 if (ndr_flags & NDR_BUFFERS) {
7618 if (r->netbios_name) {
7619 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7621 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7622 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7624 if (r->dns_name) {
7625 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7626 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7627 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7628 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7630 if (r->site_name) {
7631 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7634 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7636 if (r->site_dn) {
7637 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7638 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7639 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7640 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7642 if (r->computer_dn) {
7643 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7644 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7645 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7646 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7648 if (r->server_dn) {
7649 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7650 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7651 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7652 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7654 if (r->ntds_dn) {
7655 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7656 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7658 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7661 return NDR_ERR_SUCCESS;
7664 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7666 uint32_t _ptr_netbios_name;
7667 TALLOC_CTX *_mem_save_netbios_name_0;
7668 uint32_t _ptr_dns_name;
7669 TALLOC_CTX *_mem_save_dns_name_0;
7670 uint32_t _ptr_site_name;
7671 TALLOC_CTX *_mem_save_site_name_0;
7672 uint32_t _ptr_site_dn;
7673 TALLOC_CTX *_mem_save_site_dn_0;
7674 uint32_t _ptr_computer_dn;
7675 TALLOC_CTX *_mem_save_computer_dn_0;
7676 uint32_t _ptr_server_dn;
7677 TALLOC_CTX *_mem_save_server_dn_0;
7678 uint32_t _ptr_ntds_dn;
7679 TALLOC_CTX *_mem_save_ntds_dn_0;
7680 if (ndr_flags & NDR_SCALARS) {
7681 NDR_CHECK(ndr_pull_align(ndr, 5));
7682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7683 if (_ptr_netbios_name) {
7684 NDR_PULL_ALLOC(ndr, r->netbios_name);
7685 } else {
7686 r->netbios_name = NULL;
7688 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7689 if (_ptr_dns_name) {
7690 NDR_PULL_ALLOC(ndr, r->dns_name);
7691 } else {
7692 r->dns_name = NULL;
7694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7695 if (_ptr_site_name) {
7696 NDR_PULL_ALLOC(ndr, r->site_name);
7697 } else {
7698 r->site_name = NULL;
7700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7701 if (_ptr_site_dn) {
7702 NDR_PULL_ALLOC(ndr, r->site_dn);
7703 } else {
7704 r->site_dn = NULL;
7706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7707 if (_ptr_computer_dn) {
7708 NDR_PULL_ALLOC(ndr, r->computer_dn);
7709 } else {
7710 r->computer_dn = NULL;
7712 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7713 if (_ptr_server_dn) {
7714 NDR_PULL_ALLOC(ndr, r->server_dn);
7715 } else {
7716 r->server_dn = NULL;
7718 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7719 if (_ptr_ntds_dn) {
7720 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7721 } else {
7722 r->ntds_dn = NULL;
7724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7728 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7729 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7730 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7731 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7732 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7734 if (ndr_flags & NDR_BUFFERS) {
7735 if (r->netbios_name) {
7736 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7737 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7738 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7739 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7740 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7741 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));
7743 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7744 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7745 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7747 if (r->dns_name) {
7748 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7749 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7750 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7751 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7752 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7753 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));
7755 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7756 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7759 if (r->site_name) {
7760 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7761 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7762 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7763 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7764 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7765 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));
7767 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7768 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7769 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7771 if (r->site_dn) {
7772 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7773 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7774 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7775 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7776 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7777 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));
7779 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7780 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7783 if (r->computer_dn) {
7784 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7785 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7786 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7787 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7788 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7789 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));
7791 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7792 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7795 if (r->server_dn) {
7796 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7797 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7798 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7799 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7800 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7801 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));
7803 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7804 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7807 if (r->ntds_dn) {
7808 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7809 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7810 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7811 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7812 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7813 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));
7815 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7816 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7820 return NDR_ERR_SUCCESS;
7823 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7825 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7826 ndr->depth++;
7827 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7828 ndr->depth++;
7829 if (r->netbios_name) {
7830 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7832 ndr->depth--;
7833 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7834 ndr->depth++;
7835 if (r->dns_name) {
7836 ndr_print_string(ndr, "dns_name", r->dns_name);
7838 ndr->depth--;
7839 ndr_print_ptr(ndr, "site_name", r->site_name);
7840 ndr->depth++;
7841 if (r->site_name) {
7842 ndr_print_string(ndr, "site_name", r->site_name);
7844 ndr->depth--;
7845 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7846 ndr->depth++;
7847 if (r->site_dn) {
7848 ndr_print_string(ndr, "site_dn", r->site_dn);
7850 ndr->depth--;
7851 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7852 ndr->depth++;
7853 if (r->computer_dn) {
7854 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7856 ndr->depth--;
7857 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7858 ndr->depth++;
7859 if (r->server_dn) {
7860 ndr_print_string(ndr, "server_dn", r->server_dn);
7862 ndr->depth--;
7863 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7864 ndr->depth++;
7865 if (r->ntds_dn) {
7866 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7868 ndr->depth--;
7869 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7870 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7871 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7872 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7873 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7874 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7875 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7876 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7877 ndr->depth--;
7880 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7882 uint32_t cntr_array_1;
7883 if (ndr_flags & NDR_SCALARS) {
7884 NDR_CHECK(ndr_push_align(ndr, 5));
7885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7886 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7887 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7889 if (ndr_flags & NDR_BUFFERS) {
7890 if (r->array) {
7891 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7892 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7893 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7895 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7896 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7900 return NDR_ERR_SUCCESS;
7903 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7905 uint32_t _ptr_array;
7906 uint32_t cntr_array_1;
7907 TALLOC_CTX *_mem_save_array_0;
7908 TALLOC_CTX *_mem_save_array_1;
7909 if (ndr_flags & NDR_SCALARS) {
7910 NDR_CHECK(ndr_pull_align(ndr, 5));
7911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7912 if (r->count > 10000) {
7913 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7915 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7916 if (_ptr_array) {
7917 NDR_PULL_ALLOC(ndr, r->array);
7918 } else {
7919 r->array = NULL;
7921 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7923 if (ndr_flags & NDR_BUFFERS) {
7924 if (r->array) {
7925 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7926 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7927 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7928 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7929 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7930 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7931 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7932 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7934 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7935 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7940 if (r->array) {
7941 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7944 return NDR_ERR_SUCCESS;
7947 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7949 uint32_t cntr_array_1;
7950 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7951 ndr->depth++;
7952 ndr_print_uint32(ndr, "count", r->count);
7953 ndr_print_ptr(ndr, "array", r->array);
7954 ndr->depth++;
7955 if (r->array) {
7956 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7957 ndr->depth++;
7958 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7959 char *idx_1=NULL;
7960 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7961 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7962 free(idx_1);
7965 ndr->depth--;
7967 ndr->depth--;
7968 ndr->depth--;
7971 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7973 if (ndr_flags & NDR_SCALARS) {
7974 NDR_CHECK(ndr_push_align(ndr, 5));
7976 uint32_t _flags_save_ipv4address = ndr->flags;
7977 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7978 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7979 ndr->flags = _flags_save_ipv4address;
7981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7986 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7987 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7989 if (ndr_flags & NDR_BUFFERS) {
7990 if (r->client_account) {
7991 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7992 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7994 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7997 return NDR_ERR_SUCCESS;
8000 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8002 uint32_t _ptr_client_account;
8003 TALLOC_CTX *_mem_save_client_account_0;
8004 if (ndr_flags & NDR_SCALARS) {
8005 NDR_CHECK(ndr_pull_align(ndr, 5));
8007 uint32_t _flags_save_ipv4address = ndr->flags;
8008 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8009 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8010 ndr->flags = _flags_save_ipv4address;
8012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8017 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8018 if (_ptr_client_account) {
8019 NDR_PULL_ALLOC(ndr, r->client_account);
8020 } else {
8021 r->client_account = NULL;
8023 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8025 if (ndr_flags & NDR_BUFFERS) {
8026 if (r->client_account) {
8027 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8028 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8029 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8030 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8031 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8032 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));
8034 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8035 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8036 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8039 return NDR_ERR_SUCCESS;
8042 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8044 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8045 ndr->depth++;
8046 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8047 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8048 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8049 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8050 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8051 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8052 ndr_print_ptr(ndr, "client_account", r->client_account);
8053 ndr->depth++;
8054 if (r->client_account) {
8055 ndr_print_string(ndr, "client_account", r->client_account);
8057 ndr->depth--;
8058 ndr->depth--;
8061 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8063 uint32_t cntr_array_1;
8064 if (ndr_flags & NDR_SCALARS) {
8065 NDR_CHECK(ndr_push_align(ndr, 5));
8066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8068 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8070 if (ndr_flags & NDR_BUFFERS) {
8071 if (r->array) {
8072 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8073 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8074 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8076 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8077 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8081 return NDR_ERR_SUCCESS;
8084 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8086 uint32_t _ptr_array;
8087 uint32_t cntr_array_1;
8088 TALLOC_CTX *_mem_save_array_0;
8089 TALLOC_CTX *_mem_save_array_1;
8090 if (ndr_flags & NDR_SCALARS) {
8091 NDR_CHECK(ndr_pull_align(ndr, 5));
8092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8093 if (r->count > 10000) {
8094 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8096 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8097 if (_ptr_array) {
8098 NDR_PULL_ALLOC(ndr, r->array);
8099 } else {
8100 r->array = NULL;
8102 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8104 if (ndr_flags & NDR_BUFFERS) {
8105 if (r->array) {
8106 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8107 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8108 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8109 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8110 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8111 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8112 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8113 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8115 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8116 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8121 if (r->array) {
8122 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8125 return NDR_ERR_SUCCESS;
8128 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8130 uint32_t cntr_array_1;
8131 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8132 ndr->depth++;
8133 ndr_print_uint32(ndr, "count", r->count);
8134 ndr_print_ptr(ndr, "array", r->array);
8135 ndr->depth++;
8136 if (r->array) {
8137 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8138 ndr->depth++;
8139 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8140 char *idx_1=NULL;
8141 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8142 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8143 free(idx_1);
8146 ndr->depth--;
8148 ndr->depth--;
8149 ndr->depth--;
8152 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8154 if (ndr_flags & NDR_SCALARS) {
8155 int level = ndr_push_get_switch_value(ndr, r);
8156 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8157 NDR_CHECK(ndr_push_union_align(ndr, 5));
8158 switch (level) {
8159 case DRSUAPI_DC_INFO_CTR_1: {
8160 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8161 break; }
8163 case DRSUAPI_DC_INFO_CTR_2: {
8164 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8165 break; }
8167 case DRSUAPI_DC_INFO_CTR_3: {
8168 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8169 break; }
8171 case DRSUAPI_DC_CONNECTION_CTR_01: {
8172 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8173 break; }
8175 default:
8176 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8179 if (ndr_flags & NDR_BUFFERS) {
8180 int level = ndr_push_get_switch_value(ndr, r);
8181 switch (level) {
8182 case DRSUAPI_DC_INFO_CTR_1:
8183 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8184 break;
8186 case DRSUAPI_DC_INFO_CTR_2:
8187 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8188 break;
8190 case DRSUAPI_DC_INFO_CTR_3:
8191 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8192 break;
8194 case DRSUAPI_DC_CONNECTION_CTR_01:
8195 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8196 break;
8198 default:
8199 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8202 return NDR_ERR_SUCCESS;
8205 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8207 int level;
8208 int32_t _level;
8209 level = ndr_pull_get_switch_value(ndr, r);
8210 if (ndr_flags & NDR_SCALARS) {
8211 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8212 if (_level != level) {
8213 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8215 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8216 switch (level) {
8217 case DRSUAPI_DC_INFO_CTR_1: {
8218 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8219 break; }
8221 case DRSUAPI_DC_INFO_CTR_2: {
8222 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8223 break; }
8225 case DRSUAPI_DC_INFO_CTR_3: {
8226 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8227 break; }
8229 case DRSUAPI_DC_CONNECTION_CTR_01: {
8230 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8231 break; }
8233 default:
8234 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8237 if (ndr_flags & NDR_BUFFERS) {
8238 switch (level) {
8239 case DRSUAPI_DC_INFO_CTR_1:
8240 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8241 break;
8243 case DRSUAPI_DC_INFO_CTR_2:
8244 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8245 break;
8247 case DRSUAPI_DC_INFO_CTR_3:
8248 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8249 break;
8251 case DRSUAPI_DC_CONNECTION_CTR_01:
8252 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8253 break;
8255 default:
8256 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8259 return NDR_ERR_SUCCESS;
8262 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8264 int level;
8265 level = ndr_print_get_switch_value(ndr, r);
8266 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8267 switch (level) {
8268 case DRSUAPI_DC_INFO_CTR_1:
8269 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8270 break;
8272 case DRSUAPI_DC_INFO_CTR_2:
8273 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8274 break;
8276 case DRSUAPI_DC_INFO_CTR_3:
8277 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8278 break;
8280 case DRSUAPI_DC_CONNECTION_CTR_01:
8281 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8282 break;
8284 default:
8285 ndr_print_bad_level(ndr, name, level);
8289 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8291 if (ndr_flags & NDR_SCALARS) {
8292 NDR_CHECK(ndr_push_align(ndr, 5));
8293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8294 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8295 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8297 if (ndr_flags & NDR_BUFFERS) {
8298 if (r->next_object) {
8299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8301 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8303 return NDR_ERR_SUCCESS;
8306 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8308 uint32_t _ptr_next_object;
8309 TALLOC_CTX *_mem_save_next_object_0;
8310 if (ndr_flags & NDR_SCALARS) {
8311 NDR_CHECK(ndr_pull_align(ndr, 5));
8312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8313 if (_ptr_next_object) {
8314 NDR_PULL_ALLOC(ndr, r->next_object);
8315 } else {
8316 r->next_object = NULL;
8318 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8319 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8321 if (ndr_flags & NDR_BUFFERS) {
8322 if (r->next_object) {
8323 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8324 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8325 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8330 return NDR_ERR_SUCCESS;
8333 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8335 if (ndr_flags & NDR_SCALARS) {
8336 NDR_CHECK(ndr_push_align(ndr, 5));
8337 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8338 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8340 if (ndr_flags & NDR_BUFFERS) {
8341 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8343 return NDR_ERR_SUCCESS;
8346 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8348 if (ndr_flags & NDR_SCALARS) {
8349 NDR_CHECK(ndr_pull_align(ndr, 5));
8350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8351 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8353 if (ndr_flags & NDR_BUFFERS) {
8354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8356 return NDR_ERR_SUCCESS;
8359 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8361 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8362 ndr->depth++;
8363 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8364 ndr->depth--;
8367 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8369 if (ndr_flags & NDR_SCALARS) {
8370 int level = ndr_push_get_switch_value(ndr, r);
8371 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8372 NDR_CHECK(ndr_push_union_align(ndr, 5));
8373 switch (level) {
8374 case 2: {
8375 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8376 break; }
8378 default:
8379 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8382 if (ndr_flags & NDR_BUFFERS) {
8383 int level = ndr_push_get_switch_value(ndr, r);
8384 switch (level) {
8385 case 2:
8386 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8387 break;
8389 default:
8390 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8393 return NDR_ERR_SUCCESS;
8396 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8398 int level;
8399 int32_t _level;
8400 level = ndr_pull_get_switch_value(ndr, r);
8401 if (ndr_flags & NDR_SCALARS) {
8402 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8403 if (_level != level) {
8404 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8406 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8407 switch (level) {
8408 case 2: {
8409 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8410 break; }
8412 default:
8413 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8416 if (ndr_flags & NDR_BUFFERS) {
8417 switch (level) {
8418 case 2:
8419 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8420 break;
8422 default:
8423 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8426 return NDR_ERR_SUCCESS;
8429 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8431 int level;
8432 level = ndr_print_get_switch_value(ndr, r);
8433 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8434 switch (level) {
8435 case 2:
8436 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8437 break;
8439 default:
8440 ndr_print_bad_level(ndr, name, level);
8444 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8446 if (ndr_flags & NDR_SCALARS) {
8447 NDR_CHECK(ndr_push_align(ndr, 4));
8448 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8449 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8450 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8451 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8452 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8454 if (ndr_flags & NDR_BUFFERS) {
8456 return NDR_ERR_SUCCESS;
8459 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8461 if (ndr_flags & NDR_SCALARS) {
8462 NDR_CHECK(ndr_pull_align(ndr, 4));
8463 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8464 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8466 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8467 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8469 if (ndr_flags & NDR_BUFFERS) {
8471 return NDR_ERR_SUCCESS;
8474 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8476 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8477 ndr->depth++;
8478 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8479 ndr_print_WERROR(ndr, "status", r->status);
8480 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8481 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8482 ndr->depth--;
8485 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8487 if (ndr_flags & NDR_SCALARS) {
8488 NDR_CHECK(ndr_push_align(ndr, 5));
8489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8491 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8493 if (ndr_flags & NDR_BUFFERS) {
8494 if (r->data) {
8495 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8496 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8499 return NDR_ERR_SUCCESS;
8502 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8504 uint32_t _ptr_data;
8505 TALLOC_CTX *_mem_save_data_0;
8506 if (ndr_flags & NDR_SCALARS) {
8507 NDR_CHECK(ndr_pull_align(ndr, 5));
8508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8509 if (r->size > 10485760) {
8510 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8512 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8513 if (_ptr_data) {
8514 NDR_PULL_ALLOC(ndr, r->data);
8515 } else {
8516 r->data = NULL;
8518 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8520 if (ndr_flags & NDR_BUFFERS) {
8521 if (r->data) {
8522 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8523 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8524 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8525 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8526 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8529 if (r->data) {
8530 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8533 return NDR_ERR_SUCCESS;
8536 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8538 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8539 ndr->depth++;
8540 ndr_print_uint32(ndr, "size", r->size);
8541 ndr_print_ptr(ndr, "data", r->data);
8542 ndr->depth++;
8543 if (r->data) {
8544 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8546 ndr->depth--;
8547 ndr->depth--;
8550 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8552 if (ndr_flags & NDR_SCALARS) {
8553 NDR_CHECK(ndr_push_align(ndr, 5));
8554 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8555 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8557 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8558 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8560 if (ndr_flags & NDR_BUFFERS) {
8561 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8563 return NDR_ERR_SUCCESS;
8566 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8568 if (ndr_flags & NDR_SCALARS) {
8569 NDR_CHECK(ndr_pull_align(ndr, 5));
8570 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8571 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8573 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8574 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8576 if (ndr_flags & NDR_BUFFERS) {
8577 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8579 return NDR_ERR_SUCCESS;
8582 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8584 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8585 ndr->depth++;
8586 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8587 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8588 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8589 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8590 ndr->depth--;
8593 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8595 if (ndr_flags & NDR_SCALARS) {
8596 NDR_CHECK(ndr_push_align(ndr, 5));
8597 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8598 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8599 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8601 if (ndr_flags & NDR_BUFFERS) {
8602 if (r->next) {
8603 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8605 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8607 return NDR_ERR_SUCCESS;
8610 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8612 uint32_t _ptr_next;
8613 TALLOC_CTX *_mem_save_next_0;
8614 if (ndr_flags & NDR_SCALARS) {
8615 NDR_CHECK(ndr_pull_align(ndr, 5));
8616 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8617 if (_ptr_next) {
8618 NDR_PULL_ALLOC(ndr, r->next);
8619 } else {
8620 r->next = NULL;
8622 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8623 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8625 if (ndr_flags & NDR_BUFFERS) {
8626 if (r->next) {
8627 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8628 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8629 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8632 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8634 return NDR_ERR_SUCCESS;
8637 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8639 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8640 ndr->depth++;
8641 ndr_print_ptr(ndr, "next", r->next);
8642 ndr->depth++;
8643 if (r->next) {
8644 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8646 ndr->depth--;
8647 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8648 ndr->depth--;
8651 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8653 if (ndr_flags & NDR_SCALARS) {
8654 NDR_CHECK(ndr_push_align(ndr, 5));
8655 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8656 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8657 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8658 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8660 if (ndr_flags & NDR_BUFFERS) {
8661 if (r->id) {
8662 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8664 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8666 return NDR_ERR_SUCCESS;
8669 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8671 uint32_t _ptr_id;
8672 TALLOC_CTX *_mem_save_id_0;
8673 if (ndr_flags & NDR_SCALARS) {
8674 NDR_CHECK(ndr_pull_align(ndr, 5));
8675 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8676 if (_ptr_id) {
8677 NDR_PULL_ALLOC(ndr, r->id);
8678 } else {
8679 r->id = NULL;
8681 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8682 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8683 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8685 if (ndr_flags & NDR_BUFFERS) {
8686 if (r->id) {
8687 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8688 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8692 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8694 return NDR_ERR_SUCCESS;
8697 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8699 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8700 ndr->depth++;
8701 ndr_print_ptr(ndr, "id", r->id);
8702 ndr->depth++;
8703 if (r->id) {
8704 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8706 ndr->depth--;
8707 ndr_print_WERROR(ndr, "status", r->status);
8708 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8709 ndr->depth--;
8712 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8714 if (ndr_flags & NDR_SCALARS) {
8715 int level = ndr_push_get_switch_value(ndr, r);
8716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8717 NDR_CHECK(ndr_push_union_align(ndr, 5));
8718 switch (level) {
8719 case 1: {
8720 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8721 break; }
8723 case 4: {
8724 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8725 break; }
8727 case 5: {
8728 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8729 break; }
8731 case 6: {
8732 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8733 break; }
8735 case 7: {
8736 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8737 break; }
8739 default:
8740 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8743 if (ndr_flags & NDR_BUFFERS) {
8744 int level = ndr_push_get_switch_value(ndr, r);
8745 switch (level) {
8746 case 1:
8747 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8748 break;
8750 case 4:
8751 break;
8753 case 5:
8754 break;
8756 case 6:
8757 break;
8759 case 7:
8760 break;
8762 default:
8763 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8766 return NDR_ERR_SUCCESS;
8769 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8771 int level;
8772 uint32_t _level;
8773 level = ndr_pull_get_switch_value(ndr, r);
8774 if (ndr_flags & NDR_SCALARS) {
8775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8776 if (_level != level) {
8777 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8779 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8780 switch (level) {
8781 case 1: {
8782 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8783 break; }
8785 case 4: {
8786 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8787 break; }
8789 case 5: {
8790 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8791 break; }
8793 case 6: {
8794 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8795 break; }
8797 case 7: {
8798 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8799 break; }
8801 default:
8802 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8805 if (ndr_flags & NDR_BUFFERS) {
8806 switch (level) {
8807 case 1:
8808 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8809 break;
8811 case 4:
8812 break;
8814 case 5:
8815 break;
8817 case 6:
8818 break;
8820 case 7:
8821 break;
8823 default:
8824 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8827 return NDR_ERR_SUCCESS;
8830 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8832 int level;
8833 level = ndr_print_get_switch_value(ndr, r);
8834 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8835 switch (level) {
8836 case 1:
8837 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8838 break;
8840 case 4:
8841 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8842 break;
8844 case 5:
8845 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8846 break;
8848 case 6:
8849 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8850 break;
8852 case 7:
8853 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8854 break;
8856 default:
8857 ndr_print_bad_level(ndr, name, level);
8861 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8863 if (ndr_flags & NDR_SCALARS) {
8864 NDR_CHECK(ndr_push_align(ndr, 5));
8865 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8867 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8868 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8870 if (ndr_flags & NDR_BUFFERS) {
8871 if (r->info) {
8872 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8873 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8876 return NDR_ERR_SUCCESS;
8879 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8881 uint32_t _ptr_info;
8882 TALLOC_CTX *_mem_save_info_0;
8883 if (ndr_flags & NDR_SCALARS) {
8884 NDR_CHECK(ndr_pull_align(ndr, 5));
8885 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8887 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8888 if (_ptr_info) {
8889 NDR_PULL_ALLOC(ndr, r->info);
8890 } else {
8891 r->info = NULL;
8893 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8895 if (ndr_flags & NDR_BUFFERS) {
8896 if (r->info) {
8897 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8898 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8899 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8900 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8904 return NDR_ERR_SUCCESS;
8907 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8909 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8910 ndr->depth++;
8911 ndr_print_WERROR(ndr, "status", r->status);
8912 ndr_print_uint32(ndr, "level", r->level);
8913 ndr_print_ptr(ndr, "info", r->info);
8914 ndr->depth++;
8915 if (r->info) {
8916 ndr_print_set_switch_value(ndr, r->info, r->level);
8917 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8919 ndr->depth--;
8920 ndr->depth--;
8923 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8925 if (ndr_flags & NDR_SCALARS) {
8926 int level = ndr_push_get_switch_value(ndr, r);
8927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8928 NDR_CHECK(ndr_push_union_align(ndr, 5));
8929 switch (level) {
8930 case 1: {
8931 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8932 break; }
8934 default:
8935 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8938 if (ndr_flags & NDR_BUFFERS) {
8939 int level = ndr_push_get_switch_value(ndr, r);
8940 switch (level) {
8941 case 1:
8942 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8943 break;
8945 default:
8946 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8949 return NDR_ERR_SUCCESS;
8952 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8954 int level;
8955 uint32_t _level;
8956 level = ndr_pull_get_switch_value(ndr, r);
8957 if (ndr_flags & NDR_SCALARS) {
8958 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8959 if (_level != level) {
8960 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8962 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8963 switch (level) {
8964 case 1: {
8965 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8966 break; }
8968 default:
8969 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8972 if (ndr_flags & NDR_BUFFERS) {
8973 switch (level) {
8974 case 1:
8975 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8976 break;
8978 default:
8979 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8982 return NDR_ERR_SUCCESS;
8985 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8987 int level;
8988 level = ndr_print_get_switch_value(ndr, r);
8989 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8990 switch (level) {
8991 case 1:
8992 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8993 break;
8995 default:
8996 ndr_print_bad_level(ndr, name, level);
9000 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9002 if (ndr_flags & NDR_SCALARS) {
9003 NDR_CHECK(ndr_push_align(ndr, 4));
9004 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9005 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9006 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9008 if (ndr_flags & NDR_BUFFERS) {
9009 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9011 return NDR_ERR_SUCCESS;
9014 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9016 if (ndr_flags & NDR_SCALARS) {
9017 NDR_CHECK(ndr_pull_align(ndr, 4));
9018 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9019 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9020 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9022 if (ndr_flags & NDR_BUFFERS) {
9023 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9025 return NDR_ERR_SUCCESS;
9028 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9030 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9031 ndr->depth++;
9032 ndr_print_GUID(ndr, "guid", &r->guid);
9033 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9034 ndr->depth--;
9037 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9039 uint32_t cntr_objects_1;
9040 if (ndr_flags & NDR_SCALARS) {
9041 NDR_CHECK(ndr_push_align(ndr, 5));
9042 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9044 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9046 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9047 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9049 if (ndr_flags & NDR_BUFFERS) {
9050 if (r->id) {
9051 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9053 if (r->objects) {
9054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9055 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9056 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9058 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9059 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9063 return NDR_ERR_SUCCESS;
9066 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9068 uint32_t _ptr_id;
9069 TALLOC_CTX *_mem_save_id_0;
9070 uint32_t _ptr_objects;
9071 uint32_t cntr_objects_1;
9072 TALLOC_CTX *_mem_save_objects_0;
9073 TALLOC_CTX *_mem_save_objects_1;
9074 if (ndr_flags & NDR_SCALARS) {
9075 NDR_CHECK(ndr_pull_align(ndr, 5));
9076 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9077 if (_ptr_id) {
9078 NDR_PULL_ALLOC(ndr, r->id);
9079 } else {
9080 r->id = NULL;
9082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9083 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9085 if (r->count > 10000) {
9086 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9089 if (_ptr_objects) {
9090 NDR_PULL_ALLOC(ndr, r->objects);
9091 } else {
9092 r->objects = NULL;
9094 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9096 if (ndr_flags & NDR_BUFFERS) {
9097 if (r->id) {
9098 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9099 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9103 if (r->objects) {
9104 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9105 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9106 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9107 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9108 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9109 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9110 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9111 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9113 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9114 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9119 if (r->objects) {
9120 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9123 return NDR_ERR_SUCCESS;
9126 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9128 uint32_t cntr_objects_1;
9129 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9130 ndr->depth++;
9131 ndr_print_ptr(ndr, "id", r->id);
9132 ndr->depth++;
9133 if (r->id) {
9134 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9136 ndr->depth--;
9137 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9138 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9139 ndr_print_uint32(ndr, "count", r->count);
9140 ndr_print_ptr(ndr, "objects", r->objects);
9141 ndr->depth++;
9142 if (r->objects) {
9143 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9144 ndr->depth++;
9145 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9146 char *idx_1=NULL;
9147 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9148 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9149 free(idx_1);
9152 ndr->depth--;
9154 ndr->depth--;
9155 ndr->depth--;
9158 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9160 uint32_t cntr_objects_1;
9161 if (ndr_flags & NDR_SCALARS) {
9162 NDR_CHECK(ndr_push_align(ndr, 5));
9163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9165 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9167 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9168 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9170 if (ndr_flags & NDR_BUFFERS) {
9171 if (r->id) {
9172 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9174 if (r->error) {
9175 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9176 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9178 if (r->objects) {
9179 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9180 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9183 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9184 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9188 return NDR_ERR_SUCCESS;
9191 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9193 uint32_t _ptr_id;
9194 TALLOC_CTX *_mem_save_id_0;
9195 uint32_t _ptr_error;
9196 TALLOC_CTX *_mem_save_error_0;
9197 uint32_t _ptr_objects;
9198 uint32_t cntr_objects_1;
9199 TALLOC_CTX *_mem_save_objects_0;
9200 TALLOC_CTX *_mem_save_objects_1;
9201 if (ndr_flags & NDR_SCALARS) {
9202 NDR_CHECK(ndr_pull_align(ndr, 5));
9203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9204 if (_ptr_id) {
9205 NDR_PULL_ALLOC(ndr, r->id);
9206 } else {
9207 r->id = NULL;
9209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9210 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9211 if (_ptr_error) {
9212 NDR_PULL_ALLOC(ndr, r->error);
9213 } else {
9214 r->error = NULL;
9216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9217 if (r->count > 10000) {
9218 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9220 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9221 if (_ptr_objects) {
9222 NDR_PULL_ALLOC(ndr, r->objects);
9223 } else {
9224 r->objects = NULL;
9226 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9228 if (ndr_flags & NDR_BUFFERS) {
9229 if (r->id) {
9230 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9231 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9232 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9235 if (r->error) {
9236 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9237 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9238 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9239 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9242 if (r->objects) {
9243 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9244 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9245 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9246 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9247 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9248 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9249 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9250 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9252 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9253 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9258 if (r->objects) {
9259 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9262 return NDR_ERR_SUCCESS;
9265 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9267 uint32_t cntr_objects_1;
9268 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9269 ndr->depth++;
9270 ndr_print_ptr(ndr, "id", r->id);
9271 ndr->depth++;
9272 if (r->id) {
9273 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9275 ndr->depth--;
9276 ndr_print_uint32(ndr, "level", r->level);
9277 ndr_print_ptr(ndr, "error", r->error);
9278 ndr->depth++;
9279 if (r->error) {
9280 ndr_print_set_switch_value(ndr, r->error, r->level);
9281 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9283 ndr->depth--;
9284 ndr_print_uint32(ndr, "count", r->count);
9285 ndr_print_ptr(ndr, "objects", r->objects);
9286 ndr->depth++;
9287 if (r->objects) {
9288 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9289 ndr->depth++;
9290 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9291 char *idx_1=NULL;
9292 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9293 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9294 free(idx_1);
9297 ndr->depth--;
9299 ndr->depth--;
9300 ndr->depth--;
9303 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9305 if (ndr_flags & NDR_SCALARS) {
9306 int level = ndr_push_get_switch_value(ndr, r);
9307 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9308 NDR_CHECK(ndr_push_union_align(ndr, 5));
9309 switch (level) {
9310 case 2: {
9311 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9312 break; }
9314 case 3: {
9315 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9316 break; }
9318 default:
9319 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9322 if (ndr_flags & NDR_BUFFERS) {
9323 int level = ndr_push_get_switch_value(ndr, r);
9324 switch (level) {
9325 case 2:
9326 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9327 break;
9329 case 3:
9330 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9331 break;
9333 default:
9334 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9337 return NDR_ERR_SUCCESS;
9340 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9342 int level;
9343 int32_t _level;
9344 level = ndr_pull_get_switch_value(ndr, r);
9345 if (ndr_flags & NDR_SCALARS) {
9346 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9347 if (_level != level) {
9348 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9350 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9351 switch (level) {
9352 case 2: {
9353 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9354 break; }
9356 case 3: {
9357 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9358 break; }
9360 default:
9361 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9364 if (ndr_flags & NDR_BUFFERS) {
9365 switch (level) {
9366 case 2:
9367 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9368 break;
9370 case 3:
9371 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9372 break;
9374 default:
9375 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9378 return NDR_ERR_SUCCESS;
9381 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9383 int level;
9384 level = ndr_print_get_switch_value(ndr, r);
9385 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9386 switch (level) {
9387 case 2:
9388 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9389 break;
9391 case 3:
9392 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9393 break;
9395 default:
9396 ndr_print_bad_level(ndr, name, level);
9400 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9403 return NDR_ERR_SUCCESS;
9406 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9408 uint32_t v;
9409 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9410 *r = v;
9411 return NDR_ERR_SUCCESS;
9414 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9416 ndr_print_uint32(ndr, name, r);
9417 ndr->depth++;
9418 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9419 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9420 ndr->depth--;
9423 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9425 if (ndr_flags & NDR_SCALARS) {
9426 NDR_CHECK(ndr_push_align(ndr, 4));
9427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9428 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9429 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9431 if (ndr_flags & NDR_BUFFERS) {
9433 return NDR_ERR_SUCCESS;
9436 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9438 if (ndr_flags & NDR_SCALARS) {
9439 NDR_CHECK(ndr_pull_align(ndr, 4));
9440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9441 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9442 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9444 if (ndr_flags & NDR_BUFFERS) {
9446 return NDR_ERR_SUCCESS;
9449 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9451 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9452 ndr->depth++;
9453 ndr_print_uint32(ndr, "taskID", r->taskID);
9454 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9455 ndr->depth--;
9458 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9460 if (ndr_flags & NDR_SCALARS) {
9461 int level = ndr_push_get_switch_value(ndr, r);
9462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9463 NDR_CHECK(ndr_push_union_align(ndr, 4));
9464 switch (level) {
9465 case 1: {
9466 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9467 break; }
9469 default:
9470 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9473 if (ndr_flags & NDR_BUFFERS) {
9474 int level = ndr_push_get_switch_value(ndr, r);
9475 switch (level) {
9476 case 1:
9477 break;
9479 default:
9480 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9483 return NDR_ERR_SUCCESS;
9486 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9488 int level;
9489 uint32_t _level;
9490 level = ndr_pull_get_switch_value(ndr, r);
9491 if (ndr_flags & NDR_SCALARS) {
9492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9493 if (_level != level) {
9494 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9496 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9497 switch (level) {
9498 case 1: {
9499 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9500 break; }
9502 default:
9503 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9506 if (ndr_flags & NDR_BUFFERS) {
9507 switch (level) {
9508 case 1:
9509 break;
9511 default:
9512 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9515 return NDR_ERR_SUCCESS;
9518 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9520 int level;
9521 level = ndr_print_get_switch_value(ndr, r);
9522 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9523 switch (level) {
9524 case 1:
9525 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9526 break;
9528 default:
9529 ndr_print_bad_level(ndr, name, level);
9533 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9535 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9536 return NDR_ERR_SUCCESS;
9539 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9541 uint32_t v;
9542 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9543 *r = v;
9544 return NDR_ERR_SUCCESS;
9547 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9549 const char *val = NULL;
9551 switch (r) {
9552 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9553 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9555 ndr_print_enum(ndr, name, "ENUM", val, r);
9558 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9560 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9561 return NDR_ERR_SUCCESS;
9564 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9566 uint32_t v;
9567 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9568 *r = v;
9569 return NDR_ERR_SUCCESS;
9572 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9574 const char *val = NULL;
9576 switch (r) {
9577 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9578 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9579 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9580 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9581 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9582 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9583 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9584 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9585 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9586 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9587 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9588 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
9589 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
9590 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
9591 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
9593 ndr_print_enum(ndr, name, "ENUM", val, r);
9596 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9598 if (ndr_flags & NDR_SCALARS) {
9599 NDR_CHECK(ndr_push_align(ndr, 5));
9600 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9602 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9603 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9605 if (ndr_flags & NDR_BUFFERS) {
9606 if (r->object_dn) {
9607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9610 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9613 return NDR_ERR_SUCCESS;
9616 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9618 uint32_t _ptr_object_dn;
9619 TALLOC_CTX *_mem_save_object_dn_0;
9620 if (ndr_flags & NDR_SCALARS) {
9621 NDR_CHECK(ndr_pull_align(ndr, 5));
9622 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9623 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9624 if (_ptr_object_dn) {
9625 NDR_PULL_ALLOC(ndr, r->object_dn);
9626 } else {
9627 r->object_dn = NULL;
9629 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9630 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9632 if (ndr_flags & NDR_BUFFERS) {
9633 if (r->object_dn) {
9634 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9635 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9636 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9637 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9638 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9639 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));
9641 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9642 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9646 return NDR_ERR_SUCCESS;
9649 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9651 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9652 ndr->depth++;
9653 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9654 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9655 ndr->depth++;
9656 if (r->object_dn) {
9657 ndr_print_string(ndr, "object_dn", r->object_dn);
9659 ndr->depth--;
9660 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9661 ndr->depth--;
9664 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9666 if (ndr_flags & NDR_SCALARS) {
9667 NDR_CHECK(ndr_push_align(ndr, 5));
9668 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9669 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9670 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
9672 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9673 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
9674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
9675 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9677 if (ndr_flags & NDR_BUFFERS) {
9678 if (r->object_dn) {
9679 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9680 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9681 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9682 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9684 if (r->attribute_name) {
9685 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9686 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9687 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9688 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9690 if (r->value_dn_str) {
9691 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9693 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9694 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));
9697 return NDR_ERR_SUCCESS;
9700 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9702 uint32_t _ptr_object_dn;
9703 TALLOC_CTX *_mem_save_object_dn_0;
9704 uint32_t _ptr_attribute_name;
9705 TALLOC_CTX *_mem_save_attribute_name_0;
9706 uint32_t _ptr_value_dn_str;
9707 TALLOC_CTX *_mem_save_value_dn_str_0;
9708 if (ndr_flags & NDR_SCALARS) {
9709 NDR_CHECK(ndr_pull_align(ndr, 5));
9710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9712 if (_ptr_object_dn) {
9713 NDR_PULL_ALLOC(ndr, r->object_dn);
9714 } else {
9715 r->object_dn = NULL;
9717 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
9719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9720 if (_ptr_attribute_name) {
9721 NDR_PULL_ALLOC(ndr, r->attribute_name);
9722 } else {
9723 r->attribute_name = NULL;
9725 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
9726 if (_ptr_value_dn_str) {
9727 NDR_PULL_ALLOC(ndr, r->value_dn_str);
9728 } else {
9729 r->value_dn_str = NULL;
9731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
9732 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9734 if (ndr_flags & NDR_BUFFERS) {
9735 if (r->object_dn) {
9736 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9737 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9738 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9739 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9740 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9741 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));
9743 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9744 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9745 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9747 if (r->attribute_name) {
9748 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9749 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9750 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9751 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9752 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9753 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));
9755 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9756 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9759 if (r->value_dn_str) {
9760 _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
9761 NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
9762 NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
9763 NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
9764 if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) {
9765 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));
9767 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t)));
9768 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));
9769 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
9772 return NDR_ERR_SUCCESS;
9775 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9777 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9778 ndr->depth++;
9779 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9780 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9781 ndr->depth++;
9782 if (r->object_dn) {
9783 ndr_print_string(ndr, "object_dn", r->object_dn);
9785 ndr->depth--;
9786 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9787 ndr_print_uint32(ndr, "flags", r->flags);
9788 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9789 ndr->depth++;
9790 if (r->attribute_name) {
9791 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9793 ndr->depth--;
9794 ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
9795 ndr->depth++;
9796 if (r->value_dn_str) {
9797 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
9799 ndr->depth--;
9800 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
9801 ndr->depth--;
9804 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9806 if (ndr_flags & NDR_SCALARS) {
9807 int level = ndr_push_get_switch_value(ndr, r);
9808 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9809 NDR_CHECK(ndr_push_union_align(ndr, 5));
9810 switch (level) {
9811 case DRSUAPI_DS_REPLICA_GET_INFO: {
9812 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9813 break; }
9815 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9816 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9817 break; }
9819 default:
9820 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9823 if (ndr_flags & NDR_BUFFERS) {
9824 int level = ndr_push_get_switch_value(ndr, r);
9825 switch (level) {
9826 case DRSUAPI_DS_REPLICA_GET_INFO:
9827 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9828 break;
9830 case DRSUAPI_DS_REPLICA_GET_INFO2:
9831 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9832 break;
9834 default:
9835 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9838 return NDR_ERR_SUCCESS;
9841 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9843 int level;
9844 uint32_t _level;
9845 level = ndr_pull_get_switch_value(ndr, r);
9846 if (ndr_flags & NDR_SCALARS) {
9847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9848 if (_level != level) {
9849 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9851 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9852 switch (level) {
9853 case DRSUAPI_DS_REPLICA_GET_INFO: {
9854 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9855 break; }
9857 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9859 break; }
9861 default:
9862 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9865 if (ndr_flags & NDR_BUFFERS) {
9866 switch (level) {
9867 case DRSUAPI_DS_REPLICA_GET_INFO:
9868 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9869 break;
9871 case DRSUAPI_DS_REPLICA_GET_INFO2:
9872 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9873 break;
9875 default:
9876 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9879 return NDR_ERR_SUCCESS;
9882 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9884 int level;
9885 level = ndr_print_get_switch_value(ndr, r);
9886 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9887 switch (level) {
9888 case DRSUAPI_DS_REPLICA_GET_INFO:
9889 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9890 break;
9892 case DRSUAPI_DS_REPLICA_GET_INFO2:
9893 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9894 break;
9896 default:
9897 ndr_print_bad_level(ndr, name, level);
9901 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9903 if (ndr_flags & NDR_SCALARS) {
9904 NDR_CHECK(ndr_push_align(ndr, 8));
9905 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9906 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9907 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9908 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9909 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
9910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9911 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9912 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9913 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9914 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9915 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9916 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9917 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9918 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9919 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9921 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9923 if (ndr_flags & NDR_BUFFERS) {
9924 if (r->naming_context_dn) {
9925 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9926 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9927 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9928 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));
9930 if (r->source_dsa_obj_dn) {
9931 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9932 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9933 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9934 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));
9936 if (r->source_dsa_address) {
9937 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9938 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9940 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));
9942 if (r->transport_obj_dn) {
9943 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9944 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9945 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9946 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));
9949 return NDR_ERR_SUCCESS;
9952 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9954 uint32_t _ptr_naming_context_dn;
9955 TALLOC_CTX *_mem_save_naming_context_dn_0;
9956 uint32_t _ptr_source_dsa_obj_dn;
9957 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9958 uint32_t _ptr_source_dsa_address;
9959 TALLOC_CTX *_mem_save_source_dsa_address_0;
9960 uint32_t _ptr_transport_obj_dn;
9961 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9962 if (ndr_flags & NDR_SCALARS) {
9963 NDR_CHECK(ndr_pull_align(ndr, 8));
9964 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9965 if (_ptr_naming_context_dn) {
9966 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9967 } else {
9968 r->naming_context_dn = NULL;
9970 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9971 if (_ptr_source_dsa_obj_dn) {
9972 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9973 } else {
9974 r->source_dsa_obj_dn = NULL;
9976 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9977 if (_ptr_source_dsa_address) {
9978 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9979 } else {
9980 r->source_dsa_address = NULL;
9982 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9983 if (_ptr_transport_obj_dn) {
9984 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9985 } else {
9986 r->transport_obj_dn = NULL;
9988 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
9989 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9990 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9991 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9992 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9993 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9994 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9995 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9996 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9997 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9998 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
9999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10000 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10002 if (ndr_flags & NDR_BUFFERS) {
10003 if (r->naming_context_dn) {
10004 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10005 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10006 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10007 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10008 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10009 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));
10011 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10012 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));
10013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10015 if (r->source_dsa_obj_dn) {
10016 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10017 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10018 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10019 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10020 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10021 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));
10023 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10024 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));
10025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10027 if (r->source_dsa_address) {
10028 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10029 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10030 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10031 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10032 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10033 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));
10035 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10036 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));
10037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10039 if (r->transport_obj_dn) {
10040 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10041 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10042 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10043 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10044 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10045 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));
10047 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10048 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));
10049 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10052 return NDR_ERR_SUCCESS;
10055 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10057 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10058 ndr->depth++;
10059 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10060 ndr->depth++;
10061 if (r->naming_context_dn) {
10062 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10064 ndr->depth--;
10065 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10066 ndr->depth++;
10067 if (r->source_dsa_obj_dn) {
10068 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10070 ndr->depth--;
10071 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10072 ndr->depth++;
10073 if (r->source_dsa_address) {
10074 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10076 ndr->depth--;
10077 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10078 ndr->depth++;
10079 if (r->transport_obj_dn) {
10080 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10082 ndr->depth--;
10083 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
10084 ndr_print_uint32(ndr, "reserved", r->reserved);
10085 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10086 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10087 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10088 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10089 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10090 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10091 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10092 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10093 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10094 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10095 ndr->depth--;
10098 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10100 uint32_t cntr_array_0;
10101 if (ndr_flags & NDR_SCALARS) {
10102 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10103 NDR_CHECK(ndr_push_align(ndr, 8));
10104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10106 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10107 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10109 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10111 if (ndr_flags & NDR_BUFFERS) {
10112 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10113 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10116 return NDR_ERR_SUCCESS;
10119 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10121 uint32_t cntr_array_0;
10122 TALLOC_CTX *_mem_save_array_0;
10123 if (ndr_flags & NDR_SCALARS) {
10124 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10125 NDR_CHECK(ndr_pull_align(ndr, 8));
10126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10128 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10129 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10130 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10131 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10132 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10135 if (r->array) {
10136 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10138 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10140 if (ndr_flags & NDR_BUFFERS) {
10141 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10142 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10143 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10144 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10148 return NDR_ERR_SUCCESS;
10151 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10153 uint32_t cntr_array_0;
10154 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10155 ndr->depth++;
10156 ndr_print_uint32(ndr, "count", r->count);
10157 ndr_print_uint32(ndr, "reserved", r->reserved);
10158 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10159 ndr->depth++;
10160 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10161 char *idx_0=NULL;
10162 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10163 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10164 free(idx_0);
10167 ndr->depth--;
10168 ndr->depth--;
10171 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10173 uint32_t cntr_array_0;
10174 if (ndr_flags & NDR_SCALARS) {
10175 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10176 NDR_CHECK(ndr_push_align(ndr, 8));
10177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10179 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10180 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10182 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10184 if (ndr_flags & NDR_BUFFERS) {
10186 return NDR_ERR_SUCCESS;
10189 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10191 uint32_t cntr_array_0;
10192 TALLOC_CTX *_mem_save_array_0;
10193 if (ndr_flags & NDR_SCALARS) {
10194 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10195 NDR_CHECK(ndr_pull_align(ndr, 8));
10196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10198 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10199 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10200 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10201 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10202 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10205 if (r->array) {
10206 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10208 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10210 if (ndr_flags & NDR_BUFFERS) {
10212 return NDR_ERR_SUCCESS;
10215 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10217 uint32_t cntr_array_0;
10218 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10219 ndr->depth++;
10220 ndr_print_uint32(ndr, "count", r->count);
10221 ndr_print_uint32(ndr, "reserved", r->reserved);
10222 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10223 ndr->depth++;
10224 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10225 char *idx_0=NULL;
10226 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10227 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10228 free(idx_0);
10231 ndr->depth--;
10232 ndr->depth--;
10235 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10237 if (ndr_flags & NDR_SCALARS) {
10238 NDR_CHECK(ndr_push_align(ndr, 8));
10239 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10241 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10242 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10243 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10244 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10245 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10247 if (ndr_flags & NDR_BUFFERS) {
10248 if (r->attribute_name) {
10249 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10250 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10251 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10252 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10255 return NDR_ERR_SUCCESS;
10258 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10260 uint32_t _ptr_attribute_name;
10261 TALLOC_CTX *_mem_save_attribute_name_0;
10262 if (ndr_flags & NDR_SCALARS) {
10263 NDR_CHECK(ndr_pull_align(ndr, 8));
10264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10265 if (_ptr_attribute_name) {
10266 NDR_PULL_ALLOC(ndr, r->attribute_name);
10267 } else {
10268 r->attribute_name = NULL;
10270 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10271 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10272 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10273 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10274 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10275 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10277 if (ndr_flags & NDR_BUFFERS) {
10278 if (r->attribute_name) {
10279 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10280 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10281 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10282 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10283 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10284 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));
10286 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10287 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10291 return NDR_ERR_SUCCESS;
10294 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10296 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10297 ndr->depth++;
10298 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10299 ndr->depth++;
10300 if (r->attribute_name) {
10301 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10303 ndr->depth--;
10304 ndr_print_uint32(ndr, "version", r->version);
10305 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10306 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10307 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10308 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10309 ndr->depth--;
10312 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10314 uint32_t cntr_array_0;
10315 if (ndr_flags & NDR_SCALARS) {
10316 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10317 NDR_CHECK(ndr_push_align(ndr, 8));
10318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10320 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10321 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10323 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10325 if (ndr_flags & NDR_BUFFERS) {
10326 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10327 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10330 return NDR_ERR_SUCCESS;
10333 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10335 uint32_t cntr_array_0;
10336 TALLOC_CTX *_mem_save_array_0;
10337 if (ndr_flags & NDR_SCALARS) {
10338 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10339 NDR_CHECK(ndr_pull_align(ndr, 8));
10340 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10342 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10343 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10344 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10345 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10349 if (r->array) {
10350 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10352 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10354 if (ndr_flags & NDR_BUFFERS) {
10355 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10356 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10357 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10358 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10362 return NDR_ERR_SUCCESS;
10365 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10367 uint32_t cntr_array_0;
10368 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10369 ndr->depth++;
10370 ndr_print_uint32(ndr, "count", r->count);
10371 ndr_print_uint32(ndr, "reserved", r->reserved);
10372 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10373 ndr->depth++;
10374 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10375 char *idx_0=NULL;
10376 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10377 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10378 free(idx_0);
10381 ndr->depth--;
10382 ndr->depth--;
10385 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10387 if (ndr_flags & NDR_SCALARS) {
10388 NDR_CHECK(ndr_push_align(ndr, 5));
10389 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10390 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10391 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10393 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10394 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10396 if (ndr_flags & NDR_BUFFERS) {
10397 if (r->dsa_obj_dn) {
10398 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10399 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10400 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10401 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));
10404 return NDR_ERR_SUCCESS;
10407 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10409 uint32_t _ptr_dsa_obj_dn;
10410 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10411 if (ndr_flags & NDR_SCALARS) {
10412 NDR_CHECK(ndr_pull_align(ndr, 5));
10413 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10414 if (_ptr_dsa_obj_dn) {
10415 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10416 } else {
10417 r->dsa_obj_dn = NULL;
10419 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10420 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10421 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10422 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10423 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10425 if (ndr_flags & NDR_BUFFERS) {
10426 if (r->dsa_obj_dn) {
10427 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10428 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10429 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10430 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10431 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10432 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));
10434 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10435 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));
10436 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10439 return NDR_ERR_SUCCESS;
10442 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10444 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10445 ndr->depth++;
10446 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10447 ndr->depth++;
10448 if (r->dsa_obj_dn) {
10449 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10451 ndr->depth--;
10452 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10453 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10454 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10455 ndr_print_WERROR(ndr, "last_result", r->last_result);
10456 ndr->depth--;
10459 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10461 uint32_t cntr_array_0;
10462 if (ndr_flags & NDR_SCALARS) {
10463 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10464 NDR_CHECK(ndr_push_align(ndr, 5));
10465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10467 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10468 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10470 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10472 if (ndr_flags & NDR_BUFFERS) {
10473 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10474 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10477 return NDR_ERR_SUCCESS;
10480 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10482 uint32_t cntr_array_0;
10483 TALLOC_CTX *_mem_save_array_0;
10484 if (ndr_flags & NDR_SCALARS) {
10485 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10486 NDR_CHECK(ndr_pull_align(ndr, 5));
10487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10489 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10490 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10491 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10492 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10493 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10496 if (r->array) {
10497 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10499 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10501 if (ndr_flags & NDR_BUFFERS) {
10502 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10503 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10504 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10505 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10509 return NDR_ERR_SUCCESS;
10512 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10514 uint32_t cntr_array_0;
10515 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10516 ndr->depth++;
10517 ndr_print_uint32(ndr, "count", r->count);
10518 ndr_print_uint32(ndr, "reserved", r->reserved);
10519 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10520 ndr->depth++;
10521 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10522 char *idx_0=NULL;
10523 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10524 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10525 free(idx_0);
10528 ndr->depth--;
10529 ndr->depth--;
10532 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10534 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10535 return NDR_ERR_SUCCESS;
10538 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10540 uint16_t v;
10541 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10542 *r = v;
10543 return NDR_ERR_SUCCESS;
10546 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10548 const char *val = NULL;
10550 switch (r) {
10551 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10552 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10553 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10554 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10555 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10557 ndr_print_enum(ndr, name, "ENUM", val, r);
10560 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10562 if (ndr_flags & NDR_SCALARS) {
10563 NDR_CHECK(ndr_push_align(ndr, 5));
10564 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10567 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10568 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
10569 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10570 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10571 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10572 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10573 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10574 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10576 if (ndr_flags & NDR_BUFFERS) {
10577 if (r->nc_dn) {
10578 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10579 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10580 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10581 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10583 if (r->remote_dsa_obj_dn) {
10584 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10586 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10587 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));
10589 if (r->remote_dsa_address) {
10590 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10591 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10592 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10593 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));
10596 return NDR_ERR_SUCCESS;
10599 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10601 uint32_t _ptr_nc_dn;
10602 TALLOC_CTX *_mem_save_nc_dn_0;
10603 uint32_t _ptr_remote_dsa_obj_dn;
10604 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10605 uint32_t _ptr_remote_dsa_address;
10606 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10607 if (ndr_flags & NDR_SCALARS) {
10608 NDR_CHECK(ndr_pull_align(ndr, 5));
10609 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10610 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10613 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
10614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10615 if (_ptr_nc_dn) {
10616 NDR_PULL_ALLOC(ndr, r->nc_dn);
10617 } else {
10618 r->nc_dn = NULL;
10620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10621 if (_ptr_remote_dsa_obj_dn) {
10622 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10623 } else {
10624 r->remote_dsa_obj_dn = NULL;
10626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10627 if (_ptr_remote_dsa_address) {
10628 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10629 } else {
10630 r->remote_dsa_address = NULL;
10632 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10633 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10634 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10636 if (ndr_flags & NDR_BUFFERS) {
10637 if (r->nc_dn) {
10638 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10639 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10640 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10641 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10642 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10643 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));
10645 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10646 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10649 if (r->remote_dsa_obj_dn) {
10650 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10651 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10652 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10653 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10654 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10655 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));
10657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10658 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));
10659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10661 if (r->remote_dsa_address) {
10662 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10663 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10664 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10665 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10666 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10667 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));
10669 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10670 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));
10671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10674 return NDR_ERR_SUCCESS;
10677 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10679 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10680 ndr->depth++;
10681 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10682 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10683 ndr_print_uint32(ndr, "priority", r->priority);
10684 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10685 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
10686 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10687 ndr->depth++;
10688 if (r->nc_dn) {
10689 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10691 ndr->depth--;
10692 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10693 ndr->depth++;
10694 if (r->remote_dsa_obj_dn) {
10695 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10697 ndr->depth--;
10698 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10699 ndr->depth++;
10700 if (r->remote_dsa_address) {
10701 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10703 ndr->depth--;
10704 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10705 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10706 ndr->depth--;
10709 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10711 uint32_t cntr_array_0;
10712 if (ndr_flags & NDR_SCALARS) {
10713 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10714 NDR_CHECK(ndr_push_align(ndr, 5));
10715 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10717 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10718 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10720 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10722 if (ndr_flags & NDR_BUFFERS) {
10723 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10724 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10727 return NDR_ERR_SUCCESS;
10730 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10732 uint32_t cntr_array_0;
10733 TALLOC_CTX *_mem_save_array_0;
10734 if (ndr_flags & NDR_SCALARS) {
10735 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10736 NDR_CHECK(ndr_pull_align(ndr, 5));
10737 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10739 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10740 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10741 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10742 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10745 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10746 if (r->array) {
10747 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10749 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10751 if (ndr_flags & NDR_BUFFERS) {
10752 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10753 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10754 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10759 return NDR_ERR_SUCCESS;
10762 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10764 uint32_t cntr_array_0;
10765 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10766 ndr->depth++;
10767 ndr_print_NTTIME(ndr, "time", r->time);
10768 ndr_print_uint32(ndr, "count", r->count);
10769 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10770 ndr->depth++;
10771 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10772 char *idx_0=NULL;
10773 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10774 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10775 free(idx_0);
10778 ndr->depth--;
10779 ndr->depth--;
10782 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10784 if (ndr_flags & NDR_SCALARS) {
10785 NDR_CHECK(ndr_push_align(ndr, 8));
10786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10789 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10790 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10791 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10793 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10794 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10795 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10796 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10797 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10799 if (ndr_flags & NDR_BUFFERS) {
10800 if (r->attribute_name) {
10801 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10802 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10803 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10804 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10806 if (r->object_dn) {
10807 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10808 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10809 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10810 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10812 if (r->binary) {
10813 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10816 return NDR_ERR_SUCCESS;
10819 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10821 uint32_t _ptr_attribute_name;
10822 TALLOC_CTX *_mem_save_attribute_name_0;
10823 uint32_t _ptr_object_dn;
10824 TALLOC_CTX *_mem_save_object_dn_0;
10825 uint32_t _ptr_binary;
10826 TALLOC_CTX *_mem_save_binary_0;
10827 if (ndr_flags & NDR_SCALARS) {
10828 NDR_CHECK(ndr_pull_align(ndr, 8));
10829 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10830 if (_ptr_attribute_name) {
10831 NDR_PULL_ALLOC(ndr, r->attribute_name);
10832 } else {
10833 r->attribute_name = NULL;
10835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10836 if (_ptr_object_dn) {
10837 NDR_PULL_ALLOC(ndr, r->object_dn);
10838 } else {
10839 r->object_dn = NULL;
10841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10842 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10843 if (_ptr_binary) {
10844 NDR_PULL_ALLOC(ndr, r->binary);
10845 } else {
10846 r->binary = NULL;
10848 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10849 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10850 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10851 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10852 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10853 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10854 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10855 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10857 if (ndr_flags & NDR_BUFFERS) {
10858 if (r->attribute_name) {
10859 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10860 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10861 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10862 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10863 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10864 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));
10866 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10867 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10868 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10870 if (r->object_dn) {
10871 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10872 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10873 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10874 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10875 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10876 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));
10878 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10879 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10880 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10882 if (r->binary) {
10883 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10884 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10885 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10889 return NDR_ERR_SUCCESS;
10892 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10894 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10895 ndr->depth++;
10896 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10897 ndr->depth++;
10898 if (r->attribute_name) {
10899 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10901 ndr->depth--;
10902 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10903 ndr->depth++;
10904 if (r->object_dn) {
10905 ndr_print_string(ndr, "object_dn", r->object_dn);
10907 ndr->depth--;
10908 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);
10909 ndr_print_ptr(ndr, "binary", r->binary);
10910 ndr->depth++;
10911 if (r->binary) {
10912 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10914 ndr->depth--;
10915 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10916 ndr_print_NTTIME(ndr, "created", r->created);
10917 ndr_print_uint32(ndr, "version", r->version);
10918 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10919 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10920 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10921 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10922 ndr->depth--;
10925 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10927 uint32_t cntr_array_0;
10928 if (ndr_flags & NDR_SCALARS) {
10929 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10930 NDR_CHECK(ndr_push_align(ndr, 8));
10931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10933 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10934 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10936 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10938 if (ndr_flags & NDR_BUFFERS) {
10939 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10940 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10943 return NDR_ERR_SUCCESS;
10946 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10948 uint32_t cntr_array_0;
10949 TALLOC_CTX *_mem_save_array_0;
10950 if (ndr_flags & NDR_SCALARS) {
10951 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10952 NDR_CHECK(ndr_pull_align(ndr, 8));
10953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10954 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10955 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10956 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10957 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10958 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10959 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10961 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10962 if (r->array) {
10963 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10965 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10967 if (ndr_flags & NDR_BUFFERS) {
10968 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10969 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10970 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10971 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10973 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10975 return NDR_ERR_SUCCESS;
10978 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10980 uint32_t cntr_array_0;
10981 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10982 ndr->depth++;
10983 ndr_print_uint32(ndr, "count", r->count);
10984 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10985 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10986 ndr->depth++;
10987 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10988 char *idx_0=NULL;
10989 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10990 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10991 free(idx_0);
10994 ndr->depth--;
10995 ndr->depth--;
10998 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11000 uint32_t cntr_array_0;
11001 if (ndr_flags & NDR_SCALARS) {
11002 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11003 NDR_CHECK(ndr_push_align(ndr, 8));
11004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11006 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11007 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11009 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11011 if (ndr_flags & NDR_BUFFERS) {
11013 return NDR_ERR_SUCCESS;
11016 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11018 uint32_t cntr_array_0;
11019 TALLOC_CTX *_mem_save_array_0;
11020 if (ndr_flags & NDR_SCALARS) {
11021 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11022 NDR_CHECK(ndr_pull_align(ndr, 8));
11023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11024 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11025 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11026 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11027 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11028 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11032 if (r->array) {
11033 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11035 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11037 if (ndr_flags & NDR_BUFFERS) {
11039 return NDR_ERR_SUCCESS;
11042 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11044 uint32_t cntr_array_0;
11045 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11046 ndr->depth++;
11047 ndr_print_uint32(ndr, "count", r->count);
11048 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11049 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11050 ndr->depth++;
11051 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11052 char *idx_0=NULL;
11053 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11054 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11055 free(idx_0);
11058 ndr->depth--;
11059 ndr->depth--;
11062 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11064 if (ndr_flags & NDR_SCALARS) {
11065 NDR_CHECK(ndr_push_align(ndr, 8));
11066 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11067 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11068 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11070 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11072 if (ndr_flags & NDR_BUFFERS) {
11073 if (r->source_dsa_obj_dn) {
11074 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11076 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11077 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));
11080 return NDR_ERR_SUCCESS;
11083 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11085 uint32_t _ptr_source_dsa_obj_dn;
11086 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11087 if (ndr_flags & NDR_SCALARS) {
11088 NDR_CHECK(ndr_pull_align(ndr, 8));
11089 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11090 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11091 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11092 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11093 if (_ptr_source_dsa_obj_dn) {
11094 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11095 } else {
11096 r->source_dsa_obj_dn = NULL;
11098 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11100 if (ndr_flags & NDR_BUFFERS) {
11101 if (r->source_dsa_obj_dn) {
11102 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11103 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11104 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11105 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11106 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11107 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));
11109 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11110 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));
11111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11114 return NDR_ERR_SUCCESS;
11117 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11119 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11120 ndr->depth++;
11121 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11122 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11123 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11124 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11125 ndr->depth++;
11126 if (r->source_dsa_obj_dn) {
11127 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11129 ndr->depth--;
11130 ndr->depth--;
11133 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11135 uint32_t cntr_array_0;
11136 if (ndr_flags & NDR_SCALARS) {
11137 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11138 NDR_CHECK(ndr_push_align(ndr, 8));
11139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11141 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11142 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11144 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11146 if (ndr_flags & NDR_BUFFERS) {
11147 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11148 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11151 return NDR_ERR_SUCCESS;
11154 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11156 uint32_t cntr_array_0;
11157 TALLOC_CTX *_mem_save_array_0;
11158 if (ndr_flags & NDR_SCALARS) {
11159 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11160 NDR_CHECK(ndr_pull_align(ndr, 8));
11161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11163 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11164 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11165 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11166 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11167 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11170 if (r->array) {
11171 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11173 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11175 if (ndr_flags & NDR_BUFFERS) {
11176 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11177 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11178 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11179 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11183 return NDR_ERR_SUCCESS;
11186 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11188 uint32_t cntr_array_0;
11189 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11190 ndr->depth++;
11191 ndr_print_uint32(ndr, "count", r->count);
11192 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11193 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11194 ndr->depth++;
11195 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11196 char *idx_0=NULL;
11197 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11198 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11199 free(idx_0);
11202 ndr->depth--;
11203 ndr->depth--;
11206 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11208 if (ndr_flags & NDR_SCALARS) {
11209 NDR_CHECK(ndr_push_align(ndr, 8));
11210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11212 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11213 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11214 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11215 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11216 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11217 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11219 if (ndr_flags & NDR_BUFFERS) {
11220 if (r->attribute_name) {
11221 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11222 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11223 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11224 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11226 if (r->originating_dsa_dn) {
11227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11228 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11230 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));
11233 return NDR_ERR_SUCCESS;
11236 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11238 uint32_t _ptr_attribute_name;
11239 TALLOC_CTX *_mem_save_attribute_name_0;
11240 uint32_t _ptr_originating_dsa_dn;
11241 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11242 if (ndr_flags & NDR_SCALARS) {
11243 NDR_CHECK(ndr_pull_align(ndr, 8));
11244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11245 if (_ptr_attribute_name) {
11246 NDR_PULL_ALLOC(ndr, r->attribute_name);
11247 } else {
11248 r->attribute_name = NULL;
11250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11251 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11252 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11253 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11254 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11255 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11256 if (_ptr_originating_dsa_dn) {
11257 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11258 } else {
11259 r->originating_dsa_dn = NULL;
11261 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11263 if (ndr_flags & NDR_BUFFERS) {
11264 if (r->attribute_name) {
11265 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11266 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11267 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11268 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11269 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11270 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));
11272 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11273 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11276 if (r->originating_dsa_dn) {
11277 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11278 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11279 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11280 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11281 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11282 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));
11284 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11285 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));
11286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11289 return NDR_ERR_SUCCESS;
11292 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11294 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11295 ndr->depth++;
11296 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11297 ndr->depth++;
11298 if (r->attribute_name) {
11299 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11301 ndr->depth--;
11302 ndr_print_uint32(ndr, "version", r->version);
11303 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11304 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11305 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11306 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11307 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11308 ndr->depth++;
11309 if (r->originating_dsa_dn) {
11310 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11312 ndr->depth--;
11313 ndr->depth--;
11316 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11318 uint32_t cntr_array_0;
11319 if (ndr_flags & NDR_SCALARS) {
11320 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11321 NDR_CHECK(ndr_push_align(ndr, 8));
11322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11324 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11325 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11327 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11329 if (ndr_flags & NDR_BUFFERS) {
11330 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11331 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11334 return NDR_ERR_SUCCESS;
11337 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11339 uint32_t cntr_array_0;
11340 TALLOC_CTX *_mem_save_array_0;
11341 if (ndr_flags & NDR_SCALARS) {
11342 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11343 NDR_CHECK(ndr_pull_align(ndr, 8));
11344 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11345 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11346 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11347 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11348 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11349 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11353 if (r->array) {
11354 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11356 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11358 if (ndr_flags & NDR_BUFFERS) {
11359 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11360 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11361 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11362 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11366 return NDR_ERR_SUCCESS;
11369 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11371 uint32_t cntr_array_0;
11372 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11373 ndr->depth++;
11374 ndr_print_uint32(ndr, "count", r->count);
11375 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11376 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11377 ndr->depth++;
11378 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11379 char *idx_0=NULL;
11380 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11381 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11382 free(idx_0);
11385 ndr->depth--;
11386 ndr->depth--;
11389 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11391 if (ndr_flags & NDR_SCALARS) {
11392 NDR_CHECK(ndr_push_align(ndr, 8));
11393 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11394 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11396 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11397 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11398 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11400 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11401 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11402 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11403 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11404 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11405 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11407 if (ndr_flags & NDR_BUFFERS) {
11408 if (r->attribute_name) {
11409 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11410 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11411 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11412 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11414 if (r->object_dn) {
11415 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11416 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11417 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11418 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11420 if (r->binary) {
11421 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11423 if (r->originating_dsa_dn) {
11424 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11425 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11426 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11427 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));
11430 return NDR_ERR_SUCCESS;
11433 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11435 uint32_t _ptr_attribute_name;
11436 TALLOC_CTX *_mem_save_attribute_name_0;
11437 uint32_t _ptr_object_dn;
11438 TALLOC_CTX *_mem_save_object_dn_0;
11439 uint32_t _ptr_binary;
11440 TALLOC_CTX *_mem_save_binary_0;
11441 uint32_t _ptr_originating_dsa_dn;
11442 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11443 if (ndr_flags & NDR_SCALARS) {
11444 NDR_CHECK(ndr_pull_align(ndr, 8));
11445 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11446 if (_ptr_attribute_name) {
11447 NDR_PULL_ALLOC(ndr, r->attribute_name);
11448 } else {
11449 r->attribute_name = NULL;
11451 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11452 if (_ptr_object_dn) {
11453 NDR_PULL_ALLOC(ndr, r->object_dn);
11454 } else {
11455 r->object_dn = NULL;
11457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11458 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11459 if (_ptr_binary) {
11460 NDR_PULL_ALLOC(ndr, r->binary);
11461 } else {
11462 r->binary = NULL;
11464 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11465 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11467 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11468 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11469 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11470 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11472 if (_ptr_originating_dsa_dn) {
11473 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11474 } else {
11475 r->originating_dsa_dn = NULL;
11477 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11479 if (ndr_flags & NDR_BUFFERS) {
11480 if (r->attribute_name) {
11481 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11482 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11483 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11484 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11485 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11486 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));
11488 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11489 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11492 if (r->object_dn) {
11493 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11494 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11495 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11496 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11497 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11498 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));
11500 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11501 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11504 if (r->binary) {
11505 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11506 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11507 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11510 if (r->originating_dsa_dn) {
11511 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11512 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11513 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11514 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11515 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11516 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));
11518 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11519 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));
11520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11523 return NDR_ERR_SUCCESS;
11526 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11528 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11529 ndr->depth++;
11530 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11531 ndr->depth++;
11532 if (r->attribute_name) {
11533 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11535 ndr->depth--;
11536 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11537 ndr->depth++;
11538 if (r->object_dn) {
11539 ndr_print_string(ndr, "object_dn", r->object_dn);
11541 ndr->depth--;
11542 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);
11543 ndr_print_ptr(ndr, "binary", r->binary);
11544 ndr->depth++;
11545 if (r->binary) {
11546 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11548 ndr->depth--;
11549 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11550 ndr_print_NTTIME(ndr, "created", r->created);
11551 ndr_print_uint32(ndr, "version", r->version);
11552 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11553 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11554 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11555 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11556 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11557 ndr->depth++;
11558 if (r->originating_dsa_dn) {
11559 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11561 ndr->depth--;
11562 ndr->depth--;
11565 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11567 uint32_t cntr_array_0;
11568 if (ndr_flags & NDR_SCALARS) {
11569 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11570 NDR_CHECK(ndr_push_align(ndr, 8));
11571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11573 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11574 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11576 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11578 if (ndr_flags & NDR_BUFFERS) {
11579 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11580 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11583 return NDR_ERR_SUCCESS;
11586 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11588 uint32_t cntr_array_0;
11589 TALLOC_CTX *_mem_save_array_0;
11590 if (ndr_flags & NDR_SCALARS) {
11591 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11592 NDR_CHECK(ndr_pull_align(ndr, 8));
11593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11594 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11595 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11596 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11597 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11598 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11599 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11602 if (r->array) {
11603 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11605 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11607 if (ndr_flags & NDR_BUFFERS) {
11608 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11609 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11610 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11611 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11615 return NDR_ERR_SUCCESS;
11618 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11620 uint32_t cntr_array_0;
11621 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11622 ndr->depth++;
11623 ndr_print_uint32(ndr, "count", r->count);
11624 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11625 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11626 ndr->depth++;
11627 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11628 char *idx_0=NULL;
11629 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11630 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11631 free(idx_0);
11634 ndr->depth--;
11635 ndr->depth--;
11638 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11640 if (ndr_flags & NDR_SCALARS) {
11641 NDR_CHECK(ndr_push_align(ndr, 8));
11642 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11645 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11646 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11648 uint32_t _flags_save_ipv4address = ndr->flags;
11649 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11650 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11651 ndr->flags = _flags_save_ipv4address;
11653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11654 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11656 if (ndr_flags & NDR_BUFFERS) {
11658 return NDR_ERR_SUCCESS;
11661 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11663 if (ndr_flags & NDR_SCALARS) {
11664 NDR_CHECK(ndr_pull_align(ndr, 8));
11665 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11666 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11668 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11669 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11671 uint32_t _flags_save_ipv4address = ndr->flags;
11672 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11673 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11674 ndr->flags = _flags_save_ipv4address;
11676 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11677 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11679 if (ndr_flags & NDR_BUFFERS) {
11681 return NDR_ERR_SUCCESS;
11684 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11686 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11687 ndr->depth++;
11688 ndr_print_hyper(ndr, "u1", r->u1);
11689 ndr_print_uint32(ndr, "u2", r->u2);
11690 ndr_print_uint32(ndr, "u3", r->u3);
11691 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11692 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11693 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11694 ndr_print_uint32(ndr, "u5", r->u5);
11695 ndr->depth--;
11698 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11700 uint32_t cntr_array_0;
11701 if (ndr_flags & NDR_SCALARS) {
11702 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11703 NDR_CHECK(ndr_push_align(ndr, 8));
11704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11706 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11707 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11709 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11711 if (ndr_flags & NDR_BUFFERS) {
11713 return NDR_ERR_SUCCESS;
11716 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11718 uint32_t cntr_array_0;
11719 TALLOC_CTX *_mem_save_array_0;
11720 if (ndr_flags & NDR_SCALARS) {
11721 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11722 NDR_CHECK(ndr_pull_align(ndr, 8));
11723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11724 if (r->count > 10000) {
11725 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11728 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11729 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11730 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11731 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11732 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11735 if (r->array) {
11736 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11738 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11740 if (ndr_flags & NDR_BUFFERS) {
11742 return NDR_ERR_SUCCESS;
11745 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11747 uint32_t cntr_array_0;
11748 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11749 ndr->depth++;
11750 ndr_print_uint32(ndr, "count", r->count);
11751 ndr_print_uint32(ndr, "reserved", r->reserved);
11752 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11753 ndr->depth++;
11754 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11755 char *idx_0=NULL;
11756 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11757 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11758 free(idx_0);
11761 ndr->depth--;
11762 ndr->depth--;
11765 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11767 if (ndr_flags & NDR_SCALARS) {
11768 NDR_CHECK(ndr_push_align(ndr, 8));
11769 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11775 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11777 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11779 if (ndr_flags & NDR_BUFFERS) {
11780 if (r->str1) {
11781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11784 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11787 return NDR_ERR_SUCCESS;
11790 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11792 uint32_t _ptr_str1;
11793 TALLOC_CTX *_mem_save_str1_0;
11794 if (ndr_flags & NDR_SCALARS) {
11795 NDR_CHECK(ndr_pull_align(ndr, 8));
11796 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11797 if (_ptr_str1) {
11798 NDR_PULL_ALLOC(ndr, r->str1);
11799 } else {
11800 r->str1 = NULL;
11802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11804 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11807 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11808 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11809 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11811 if (ndr_flags & NDR_BUFFERS) {
11812 if (r->str1) {
11813 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11814 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11815 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11816 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11817 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
11818 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));
11820 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
11821 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
11822 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11825 return NDR_ERR_SUCCESS;
11828 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11830 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11831 ndr->depth++;
11832 ndr_print_ptr(ndr, "str1", r->str1);
11833 ndr->depth++;
11834 if (r->str1) {
11835 ndr_print_string(ndr, "str1", r->str1);
11837 ndr->depth--;
11838 ndr_print_uint32(ndr, "u1", r->u1);
11839 ndr_print_uint32(ndr, "u2", r->u2);
11840 ndr_print_uint32(ndr, "u3", r->u3);
11841 ndr_print_uint32(ndr, "u4", r->u4);
11842 ndr_print_uint32(ndr, "u5", r->u5);
11843 ndr_print_hyper(ndr, "u6", r->u6);
11844 ndr_print_uint32(ndr, "u7", r->u7);
11845 ndr->depth--;
11848 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11850 uint32_t cntr_array_0;
11851 if (ndr_flags & NDR_SCALARS) {
11852 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11853 NDR_CHECK(ndr_push_align(ndr, 8));
11854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11856 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11857 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11859 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11861 if (ndr_flags & NDR_BUFFERS) {
11862 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11863 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11866 return NDR_ERR_SUCCESS;
11869 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11871 uint32_t cntr_array_0;
11872 TALLOC_CTX *_mem_save_array_0;
11873 if (ndr_flags & NDR_SCALARS) {
11874 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11875 NDR_CHECK(ndr_pull_align(ndr, 8));
11876 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11877 if (r->count > 256) {
11878 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11881 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11882 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11883 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11884 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11885 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11888 if (r->array) {
11889 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11891 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11893 if (ndr_flags & NDR_BUFFERS) {
11894 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11895 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11896 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11897 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11901 return NDR_ERR_SUCCESS;
11904 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11906 uint32_t cntr_array_0;
11907 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11908 ndr->depth++;
11909 ndr_print_uint32(ndr, "count", r->count);
11910 ndr_print_uint32(ndr, "reserved", r->reserved);
11911 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11912 ndr->depth++;
11913 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11914 char *idx_0=NULL;
11915 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11916 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11917 free(idx_0);
11920 ndr->depth--;
11921 ndr->depth--;
11924 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11926 if (ndr_flags & NDR_SCALARS) {
11927 int level = ndr_push_get_switch_value(ndr, r);
11928 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11929 NDR_CHECK(ndr_push_union_align(ndr, 5));
11930 switch (level) {
11931 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11932 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11933 break; }
11935 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11936 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11937 break; }
11939 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11940 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11941 break; }
11943 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11944 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11945 break; }
11947 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11948 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11949 break; }
11951 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11952 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11953 break; }
11955 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11956 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11957 break; }
11959 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11960 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11961 break; }
11963 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11964 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11965 break; }
11967 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11969 break; }
11971 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11973 break; }
11975 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
11976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
11977 break; }
11979 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
11980 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
11981 break; }
11983 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
11984 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
11985 break; }
11987 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
11988 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
11989 break; }
11991 default:
11992 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11995 if (ndr_flags & NDR_BUFFERS) {
11996 int level = ndr_push_get_switch_value(ndr, r);
11997 switch (level) {
11998 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11999 if (r->neighbours) {
12000 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12002 break;
12004 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12005 if (r->cursors) {
12006 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12008 break;
12010 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12011 if (r->objmetadata) {
12012 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12014 break;
12016 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12017 if (r->connectfailures) {
12018 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12020 break;
12022 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12023 if (r->linkfailures) {
12024 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12026 break;
12028 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12029 if (r->pendingops) {
12030 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12032 break;
12034 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12035 if (r->attrvalmetadata) {
12036 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12038 break;
12040 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12041 if (r->cursors2) {
12042 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12044 break;
12046 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12047 if (r->cursors3) {
12048 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12050 break;
12052 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12053 if (r->objmetadata2) {
12054 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12056 break;
12058 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12059 if (r->attrvalmetadata2) {
12060 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12062 break;
12064 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12065 if (r->repsto) {
12066 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12068 break;
12070 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12071 if (r->clientctx) {
12072 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12074 break;
12076 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12077 if (r->udv1) {
12078 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12080 break;
12082 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12083 if (r->srvoutgoingcalls) {
12084 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12086 break;
12088 default:
12089 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12092 return NDR_ERR_SUCCESS;
12095 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12097 int level;
12098 uint32_t _level;
12099 TALLOC_CTX *_mem_save_neighbours_0;
12100 TALLOC_CTX *_mem_save_cursors_0;
12101 TALLOC_CTX *_mem_save_objmetadata_0;
12102 TALLOC_CTX *_mem_save_connectfailures_0;
12103 TALLOC_CTX *_mem_save_linkfailures_0;
12104 TALLOC_CTX *_mem_save_pendingops_0;
12105 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12106 TALLOC_CTX *_mem_save_cursors2_0;
12107 TALLOC_CTX *_mem_save_cursors3_0;
12108 TALLOC_CTX *_mem_save_objmetadata2_0;
12109 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12110 TALLOC_CTX *_mem_save_repsto_0;
12111 TALLOC_CTX *_mem_save_clientctx_0;
12112 TALLOC_CTX *_mem_save_udv1_0;
12113 TALLOC_CTX *_mem_save_srvoutgoingcalls_0;
12114 level = ndr_pull_get_switch_value(ndr, r);
12115 if (ndr_flags & NDR_SCALARS) {
12116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12117 if (_level != level) {
12118 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12120 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12121 switch (level) {
12122 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12123 uint32_t _ptr_neighbours;
12124 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12125 if (_ptr_neighbours) {
12126 NDR_PULL_ALLOC(ndr, r->neighbours);
12127 } else {
12128 r->neighbours = NULL;
12130 break; }
12132 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12133 uint32_t _ptr_cursors;
12134 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12135 if (_ptr_cursors) {
12136 NDR_PULL_ALLOC(ndr, r->cursors);
12137 } else {
12138 r->cursors = NULL;
12140 break; }
12142 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12143 uint32_t _ptr_objmetadata;
12144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12145 if (_ptr_objmetadata) {
12146 NDR_PULL_ALLOC(ndr, r->objmetadata);
12147 } else {
12148 r->objmetadata = NULL;
12150 break; }
12152 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12153 uint32_t _ptr_connectfailures;
12154 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12155 if (_ptr_connectfailures) {
12156 NDR_PULL_ALLOC(ndr, r->connectfailures);
12157 } else {
12158 r->connectfailures = NULL;
12160 break; }
12162 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12163 uint32_t _ptr_linkfailures;
12164 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12165 if (_ptr_linkfailures) {
12166 NDR_PULL_ALLOC(ndr, r->linkfailures);
12167 } else {
12168 r->linkfailures = NULL;
12170 break; }
12172 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12173 uint32_t _ptr_pendingops;
12174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12175 if (_ptr_pendingops) {
12176 NDR_PULL_ALLOC(ndr, r->pendingops);
12177 } else {
12178 r->pendingops = NULL;
12180 break; }
12182 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12183 uint32_t _ptr_attrvalmetadata;
12184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12185 if (_ptr_attrvalmetadata) {
12186 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12187 } else {
12188 r->attrvalmetadata = NULL;
12190 break; }
12192 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12193 uint32_t _ptr_cursors2;
12194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12195 if (_ptr_cursors2) {
12196 NDR_PULL_ALLOC(ndr, r->cursors2);
12197 } else {
12198 r->cursors2 = NULL;
12200 break; }
12202 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12203 uint32_t _ptr_cursors3;
12204 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12205 if (_ptr_cursors3) {
12206 NDR_PULL_ALLOC(ndr, r->cursors3);
12207 } else {
12208 r->cursors3 = NULL;
12210 break; }
12212 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12213 uint32_t _ptr_objmetadata2;
12214 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12215 if (_ptr_objmetadata2) {
12216 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12217 } else {
12218 r->objmetadata2 = NULL;
12220 break; }
12222 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12223 uint32_t _ptr_attrvalmetadata2;
12224 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12225 if (_ptr_attrvalmetadata2) {
12226 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12227 } else {
12228 r->attrvalmetadata2 = NULL;
12230 break; }
12232 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
12233 uint32_t _ptr_repsto;
12234 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
12235 if (_ptr_repsto) {
12236 NDR_PULL_ALLOC(ndr, r->repsto);
12237 } else {
12238 r->repsto = NULL;
12240 break; }
12242 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
12243 uint32_t _ptr_clientctx;
12244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
12245 if (_ptr_clientctx) {
12246 NDR_PULL_ALLOC(ndr, r->clientctx);
12247 } else {
12248 r->clientctx = NULL;
12250 break; }
12252 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
12253 uint32_t _ptr_udv1;
12254 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
12255 if (_ptr_udv1) {
12256 NDR_PULL_ALLOC(ndr, r->udv1);
12257 } else {
12258 r->udv1 = NULL;
12260 break; }
12262 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
12263 uint32_t _ptr_srvoutgoingcalls;
12264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
12265 if (_ptr_srvoutgoingcalls) {
12266 NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
12267 } else {
12268 r->srvoutgoingcalls = NULL;
12270 break; }
12272 default:
12273 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12276 if (ndr_flags & NDR_BUFFERS) {
12277 switch (level) {
12278 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12279 if (r->neighbours) {
12280 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12281 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12285 break;
12287 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12288 if (r->cursors) {
12289 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12290 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12294 break;
12296 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12297 if (r->objmetadata) {
12298 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12299 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12303 break;
12305 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12306 if (r->connectfailures) {
12307 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12308 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12312 break;
12314 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12315 if (r->linkfailures) {
12316 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12317 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12318 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12321 break;
12323 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12324 if (r->pendingops) {
12325 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12326 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12327 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12330 break;
12332 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12333 if (r->attrvalmetadata) {
12334 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12335 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12336 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12339 break;
12341 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12342 if (r->cursors2) {
12343 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12344 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12348 break;
12350 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12351 if (r->cursors3) {
12352 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12353 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12357 break;
12359 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12360 if (r->objmetadata2) {
12361 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12362 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12366 break;
12368 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12369 if (r->attrvalmetadata2) {
12370 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12371 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12372 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12375 break;
12377 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12378 if (r->repsto) {
12379 _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
12380 NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
12381 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
12384 break;
12386 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12387 if (r->clientctx) {
12388 _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
12389 NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
12390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
12393 break;
12395 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12396 if (r->udv1) {
12397 _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12398 NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
12399 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
12402 break;
12404 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12405 if (r->srvoutgoingcalls) {
12406 _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
12407 NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
12408 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
12411 break;
12413 default:
12414 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12417 return NDR_ERR_SUCCESS;
12420 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12422 int level;
12423 level = ndr_print_get_switch_value(ndr, r);
12424 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12425 switch (level) {
12426 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12427 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12428 ndr->depth++;
12429 if (r->neighbours) {
12430 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12432 ndr->depth--;
12433 break;
12435 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12436 ndr_print_ptr(ndr, "cursors", r->cursors);
12437 ndr->depth++;
12438 if (r->cursors) {
12439 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12441 ndr->depth--;
12442 break;
12444 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12445 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12446 ndr->depth++;
12447 if (r->objmetadata) {
12448 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12450 ndr->depth--;
12451 break;
12453 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12454 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12455 ndr->depth++;
12456 if (r->connectfailures) {
12457 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12459 ndr->depth--;
12460 break;
12462 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12463 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12464 ndr->depth++;
12465 if (r->linkfailures) {
12466 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12468 ndr->depth--;
12469 break;
12471 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12472 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12473 ndr->depth++;
12474 if (r->pendingops) {
12475 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12477 ndr->depth--;
12478 break;
12480 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12481 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12482 ndr->depth++;
12483 if (r->attrvalmetadata) {
12484 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12486 ndr->depth--;
12487 break;
12489 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12490 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12491 ndr->depth++;
12492 if (r->cursors2) {
12493 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12495 ndr->depth--;
12496 break;
12498 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12499 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12500 ndr->depth++;
12501 if (r->cursors3) {
12502 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12504 ndr->depth--;
12505 break;
12507 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12508 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12509 ndr->depth++;
12510 if (r->objmetadata2) {
12511 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12513 ndr->depth--;
12514 break;
12516 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12517 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12518 ndr->depth++;
12519 if (r->attrvalmetadata2) {
12520 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12522 ndr->depth--;
12523 break;
12525 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12526 ndr_print_ptr(ndr, "repsto", r->repsto);
12527 ndr->depth++;
12528 if (r->repsto) {
12529 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
12531 ndr->depth--;
12532 break;
12534 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12535 ndr_print_ptr(ndr, "clientctx", r->clientctx);
12536 ndr->depth++;
12537 if (r->clientctx) {
12538 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
12540 ndr->depth--;
12541 break;
12543 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12544 ndr_print_ptr(ndr, "udv1", r->udv1);
12545 ndr->depth++;
12546 if (r->udv1) {
12547 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
12549 ndr->depth--;
12550 break;
12552 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12553 ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12554 ndr->depth++;
12555 if (r->srvoutgoingcalls) {
12556 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12558 ndr->depth--;
12559 break;
12561 default:
12562 ndr_print_bad_level(ndr, name, level);
12566 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12568 if (ndr_flags & NDR_SCALARS) {
12569 int level = ndr_push_get_switch_value(ndr, r);
12570 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12571 NDR_CHECK(ndr_push_union_align(ndr, 5));
12572 switch (level) {
12573 case 1: {
12574 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12575 break; }
12577 default:
12578 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12581 if (ndr_flags & NDR_BUFFERS) {
12582 int level = ndr_push_get_switch_value(ndr, r);
12583 switch (level) {
12584 case 1:
12585 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12586 break;
12588 default:
12589 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12592 return NDR_ERR_SUCCESS;
12595 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12597 int level;
12598 int32_t _level;
12599 level = ndr_pull_get_switch_value(ndr, r);
12600 if (ndr_flags & NDR_SCALARS) {
12601 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12602 if (_level != level) {
12603 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12605 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12606 switch (level) {
12607 case 1: {
12608 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12609 break; }
12611 default:
12612 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12615 if (ndr_flags & NDR_BUFFERS) {
12616 switch (level) {
12617 case 1:
12618 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12619 break;
12621 default:
12622 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12625 return NDR_ERR_SUCCESS;
12628 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12630 int level;
12631 level = ndr_print_get_switch_value(ndr, r);
12632 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12633 switch (level) {
12634 case 1:
12635 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12636 break;
12638 default:
12639 ndr_print_bad_level(ndr, name, level);
12643 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12645 uint32_t cntr_req_array_1;
12646 if (ndr_flags & NDR_SCALARS) {
12647 NDR_CHECK(ndr_push_align(ndr, 5));
12648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12649 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12650 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12652 if (ndr_flags & NDR_BUFFERS) {
12653 if (r->req_array) {
12654 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12655 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12656 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12658 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12659 if (r->req_array[cntr_req_array_1]) {
12660 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12665 return NDR_ERR_SUCCESS;
12668 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12670 uint32_t _ptr_req_array;
12671 uint32_t cntr_req_array_1;
12672 TALLOC_CTX *_mem_save_req_array_0;
12673 TALLOC_CTX *_mem_save_req_array_1;
12674 TALLOC_CTX *_mem_save_req_array_2;
12675 if (ndr_flags & NDR_SCALARS) {
12676 NDR_CHECK(ndr_pull_align(ndr, 5));
12677 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12678 if (r->num_req < 1 || r->num_req > 10000) {
12679 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12682 if (_ptr_req_array) {
12683 NDR_PULL_ALLOC(ndr, r->req_array);
12684 } else {
12685 r->req_array = NULL;
12687 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12689 if (ndr_flags & NDR_BUFFERS) {
12690 if (r->req_array) {
12691 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12692 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12693 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12694 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12695 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12696 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12697 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12698 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12699 if (_ptr_req_array) {
12700 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12701 } else {
12702 r->req_array[cntr_req_array_1] = NULL;
12705 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12706 if (r->req_array[cntr_req_array_1]) {
12707 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12708 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12709 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12710 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12716 if (r->req_array) {
12717 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12720 return NDR_ERR_SUCCESS;
12723 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12725 uint32_t cntr_req_array_1;
12726 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12727 ndr->depth++;
12728 ndr_print_uint32(ndr, "num_req", r->num_req);
12729 ndr_print_ptr(ndr, "req_array", r->req_array);
12730 ndr->depth++;
12731 if (r->req_array) {
12732 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12733 ndr->depth++;
12734 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12735 char *idx_1=NULL;
12736 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12737 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12738 ndr->depth++;
12739 if (r->req_array[cntr_req_array_1]) {
12740 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12742 ndr->depth--;
12743 free(idx_1);
12746 ndr->depth--;
12748 ndr->depth--;
12749 ndr->depth--;
12752 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12754 if (ndr_flags & NDR_SCALARS) {
12755 int level = ndr_push_get_switch_value(ndr, r);
12756 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12757 NDR_CHECK(ndr_push_union_align(ndr, 5));
12758 switch (level) {
12759 case 1: {
12760 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12761 break; }
12763 default:
12764 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12767 if (ndr_flags & NDR_BUFFERS) {
12768 int level = ndr_push_get_switch_value(ndr, r);
12769 switch (level) {
12770 case 1:
12771 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12772 break;
12774 default:
12775 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12778 return NDR_ERR_SUCCESS;
12781 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12783 int level;
12784 int32_t _level;
12785 level = ndr_pull_get_switch_value(ndr, r);
12786 if (ndr_flags & NDR_SCALARS) {
12787 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12788 if (_level != level) {
12789 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12791 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12792 switch (level) {
12793 case 1: {
12794 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12795 break; }
12797 default:
12798 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12801 if (ndr_flags & NDR_BUFFERS) {
12802 switch (level) {
12803 case 1:
12804 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12805 break;
12807 default:
12808 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12811 return NDR_ERR_SUCCESS;
12814 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12816 int level;
12817 level = ndr_print_get_switch_value(ndr, r);
12818 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12819 switch (level) {
12820 case 1:
12821 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12822 break;
12824 default:
12825 ndr_print_bad_level(ndr, name, level);
12829 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12831 if (ndr_flags & NDR_SCALARS) {
12832 NDR_CHECK(ndr_push_align(ndr, 4));
12833 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12835 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
12837 if (ndr_flags & NDR_BUFFERS) {
12839 return NDR_ERR_SUCCESS;
12842 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12844 if (ndr_flags & NDR_SCALARS) {
12845 NDR_CHECK(ndr_pull_align(ndr, 4));
12846 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12848 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
12850 if (ndr_flags & NDR_BUFFERS) {
12852 return NDR_ERR_SUCCESS;
12855 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12857 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12858 ndr->depth++;
12859 ndr_print_WERROR(ndr, "error_code", r->error_code);
12860 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12861 ndr->depth--;
12864 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12866 uint32_t cntr_info_1;
12867 if (ndr_flags & NDR_SCALARS) {
12868 NDR_CHECK(ndr_push_align(ndr, 5));
12869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12870 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
12872 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12874 if (ndr_flags & NDR_BUFFERS) {
12875 if (r->info) {
12876 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
12877 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12878 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12882 return NDR_ERR_SUCCESS;
12885 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12887 uint32_t _ptr_info;
12888 uint32_t cntr_info_1;
12889 TALLOC_CTX *_mem_save_info_0;
12890 TALLOC_CTX *_mem_save_info_1;
12891 if (ndr_flags & NDR_SCALARS) {
12892 NDR_CHECK(ndr_pull_align(ndr, 5));
12893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12894 if (r->num_info > 10000) {
12895 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12897 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12898 if (_ptr_info) {
12899 NDR_PULL_ALLOC(ndr, r->info);
12900 } else {
12901 r->info = NULL;
12903 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
12904 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12906 if (ndr_flags & NDR_BUFFERS) {
12907 if (r->info) {
12908 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12909 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12910 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12911 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
12912 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12913 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12914 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12915 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12920 if (r->info) {
12921 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12924 return NDR_ERR_SUCCESS;
12927 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12929 uint32_t cntr_info_1;
12930 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12931 ndr->depth++;
12932 ndr_print_uint32(ndr, "num_info", r->num_info);
12933 ndr_print_ptr(ndr, "info", r->info);
12934 ndr->depth++;
12935 if (r->info) {
12936 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12937 ndr->depth++;
12938 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12939 char *idx_1=NULL;
12940 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12941 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12942 free(idx_1);
12945 ndr->depth--;
12947 ndr->depth--;
12948 ndr_print_uint32(ndr, "unknown", r->unknown);
12949 ndr->depth--;
12952 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12954 if (ndr_flags & NDR_SCALARS) {
12955 int level = ndr_push_get_switch_value(ndr, r);
12956 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12957 NDR_CHECK(ndr_push_union_align(ndr, 5));
12958 switch (level) {
12959 case 1: {
12960 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12961 break; }
12963 default:
12964 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12967 if (ndr_flags & NDR_BUFFERS) {
12968 int level = ndr_push_get_switch_value(ndr, r);
12969 switch (level) {
12970 case 1:
12971 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12972 break;
12974 default:
12975 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12978 return NDR_ERR_SUCCESS;
12981 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12983 int level;
12984 int32_t _level;
12985 level = ndr_pull_get_switch_value(ndr, r);
12986 if (ndr_flags & NDR_SCALARS) {
12987 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12988 if (_level != level) {
12989 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12991 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12992 switch (level) {
12993 case 1: {
12994 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12995 break; }
12997 default:
12998 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13001 if (ndr_flags & NDR_BUFFERS) {
13002 switch (level) {
13003 case 1:
13004 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13005 break;
13007 default:
13008 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13011 return NDR_ERR_SUCCESS;
13014 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13016 int level;
13017 level = ndr_print_get_switch_value(ndr, r);
13018 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13019 switch (level) {
13020 case 1:
13021 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13022 break;
13024 default:
13025 ndr_print_bad_level(ndr, name, level);
13029 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13031 uint32_t cntr_site_to_1;
13032 if (ndr_flags & NDR_SCALARS) {
13033 NDR_CHECK(ndr_push_align(ndr, 5));
13034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13036 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13038 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13040 if (ndr_flags & NDR_BUFFERS) {
13041 if (r->site_from) {
13042 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13043 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13044 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13045 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13047 if (r->site_to) {
13048 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13049 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13050 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13052 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13053 if (r->site_to[cntr_site_to_1]) {
13054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13056 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13057 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));
13062 return NDR_ERR_SUCCESS;
13065 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13067 uint32_t _ptr_site_from;
13068 TALLOC_CTX *_mem_save_site_from_0;
13069 uint32_t _ptr_site_to;
13070 uint32_t cntr_site_to_1;
13071 TALLOC_CTX *_mem_save_site_to_0;
13072 TALLOC_CTX *_mem_save_site_to_1;
13073 TALLOC_CTX *_mem_save_site_to_2;
13074 if (ndr_flags & NDR_SCALARS) {
13075 NDR_CHECK(ndr_pull_align(ndr, 5));
13076 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13077 if (_ptr_site_from) {
13078 NDR_PULL_ALLOC(ndr, r->site_from);
13079 } else {
13080 r->site_from = NULL;
13082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13083 if (r->num_req < 1 || r->num_req > 10000) {
13084 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13087 if (_ptr_site_to) {
13088 NDR_PULL_ALLOC(ndr, r->site_to);
13089 } else {
13090 r->site_to = NULL;
13092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13093 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13095 if (ndr_flags & NDR_BUFFERS) {
13096 if (r->site_from) {
13097 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13098 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13099 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13100 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13101 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13102 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));
13104 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13105 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13108 if (r->site_to) {
13109 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13110 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13111 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13112 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13113 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13114 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13115 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13116 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13117 if (_ptr_site_to) {
13118 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13119 } else {
13120 r->site_to[cntr_site_to_1] = NULL;
13123 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13124 if (r->site_to[cntr_site_to_1]) {
13125 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13126 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13127 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13128 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13129 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])) {
13130 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]));
13132 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13133 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));
13134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13140 if (r->site_to) {
13141 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13144 return NDR_ERR_SUCCESS;
13147 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13149 uint32_t cntr_site_to_1;
13150 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13151 ndr->depth++;
13152 ndr_print_ptr(ndr, "site_from", r->site_from);
13153 ndr->depth++;
13154 if (r->site_from) {
13155 ndr_print_string(ndr, "site_from", r->site_from);
13157 ndr->depth--;
13158 ndr_print_uint32(ndr, "num_req", r->num_req);
13159 ndr_print_ptr(ndr, "site_to", r->site_to);
13160 ndr->depth++;
13161 if (r->site_to) {
13162 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13163 ndr->depth++;
13164 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13165 char *idx_1=NULL;
13166 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13167 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13168 ndr->depth++;
13169 if (r->site_to[cntr_site_to_1]) {
13170 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13172 ndr->depth--;
13173 free(idx_1);
13176 ndr->depth--;
13178 ndr->depth--;
13179 ndr_print_uint32(ndr, "flags", r->flags);
13180 ndr->depth--;
13183 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13185 if (ndr_flags & NDR_SCALARS) {
13186 int level = ndr_push_get_switch_value(ndr, r);
13187 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13188 NDR_CHECK(ndr_push_union_align(ndr, 5));
13189 switch (level) {
13190 case 1: {
13191 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13192 break; }
13194 default:
13195 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13198 if (ndr_flags & NDR_BUFFERS) {
13199 int level = ndr_push_get_switch_value(ndr, r);
13200 switch (level) {
13201 case 1:
13202 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13203 break;
13205 default:
13206 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13209 return NDR_ERR_SUCCESS;
13212 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13214 int level;
13215 int32_t _level;
13216 level = ndr_pull_get_switch_value(ndr, r);
13217 if (ndr_flags & NDR_SCALARS) {
13218 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13219 if (_level != level) {
13220 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13222 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13223 switch (level) {
13224 case 1: {
13225 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13226 break; }
13228 default:
13229 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13232 if (ndr_flags & NDR_BUFFERS) {
13233 switch (level) {
13234 case 1:
13235 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13236 break;
13238 default:
13239 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13242 return NDR_ERR_SUCCESS;
13245 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13247 int level;
13248 level = ndr_print_get_switch_value(ndr, r);
13249 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13250 switch (level) {
13251 case 1:
13252 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13253 break;
13255 default:
13256 ndr_print_bad_level(ndr, name, level);
13260 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13262 if (flags & NDR_IN) {
13263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13264 if (r->in.bind_guid) {
13265 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13267 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13268 if (r->in.bind_info) {
13269 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13272 if (flags & NDR_OUT) {
13273 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13274 if (r->out.bind_info) {
13275 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13277 if (r->out.bind_handle == NULL) {
13278 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13280 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13281 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13283 return NDR_ERR_SUCCESS;
13286 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13288 uint32_t _ptr_bind_guid;
13289 uint32_t _ptr_bind_info;
13290 TALLOC_CTX *_mem_save_bind_guid_0;
13291 TALLOC_CTX *_mem_save_bind_info_0;
13292 TALLOC_CTX *_mem_save_bind_handle_0;
13293 if (flags & NDR_IN) {
13294 ZERO_STRUCT(r->out);
13296 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13297 if (_ptr_bind_guid) {
13298 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13299 } else {
13300 r->in.bind_guid = NULL;
13302 if (r->in.bind_guid) {
13303 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13304 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13305 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13308 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13309 if (_ptr_bind_info) {
13310 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13311 } else {
13312 r->in.bind_info = NULL;
13314 if (r->in.bind_info) {
13315 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13316 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13317 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13320 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13321 ZERO_STRUCTP(r->out.bind_handle);
13323 if (flags & NDR_OUT) {
13324 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13325 if (_ptr_bind_info) {
13326 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13327 } else {
13328 r->out.bind_info = NULL;
13330 if (r->out.bind_info) {
13331 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13332 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13333 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13336 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13337 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13339 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13340 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13341 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13343 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13345 return NDR_ERR_SUCCESS;
13348 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13350 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13351 ndr->depth++;
13352 if (flags & NDR_SET_VALUES) {
13353 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13355 if (flags & NDR_IN) {
13356 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13357 ndr->depth++;
13358 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13359 ndr->depth++;
13360 if (r->in.bind_guid) {
13361 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13363 ndr->depth--;
13364 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13365 ndr->depth++;
13366 if (r->in.bind_info) {
13367 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13369 ndr->depth--;
13370 ndr->depth--;
13372 if (flags & NDR_OUT) {
13373 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13374 ndr->depth++;
13375 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13376 ndr->depth++;
13377 if (r->out.bind_info) {
13378 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13380 ndr->depth--;
13381 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13382 ndr->depth++;
13383 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13384 ndr->depth--;
13385 ndr_print_WERROR(ndr, "result", r->out.result);
13386 ndr->depth--;
13388 ndr->depth--;
13391 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13393 if (flags & NDR_IN) {
13394 if (r->in.bind_handle == NULL) {
13395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13397 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13399 if (flags & NDR_OUT) {
13400 if (r->out.bind_handle == NULL) {
13401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13403 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13404 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13406 return NDR_ERR_SUCCESS;
13409 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13411 TALLOC_CTX *_mem_save_bind_handle_0;
13412 if (flags & NDR_IN) {
13413 ZERO_STRUCT(r->out);
13415 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13416 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13418 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13419 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13420 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13422 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13423 *r->out.bind_handle = *r->in.bind_handle;
13425 if (flags & NDR_OUT) {
13426 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13427 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13429 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13430 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13431 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13433 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13435 return NDR_ERR_SUCCESS;
13438 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13440 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13441 ndr->depth++;
13442 if (flags & NDR_SET_VALUES) {
13443 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13445 if (flags & NDR_IN) {
13446 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13447 ndr->depth++;
13448 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13449 ndr->depth++;
13450 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13451 ndr->depth--;
13452 ndr->depth--;
13454 if (flags & NDR_OUT) {
13455 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13456 ndr->depth++;
13457 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13458 ndr->depth++;
13459 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13460 ndr->depth--;
13461 ndr_print_WERROR(ndr, "result", r->out.result);
13462 ndr->depth--;
13464 ndr->depth--;
13467 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13469 if (flags & NDR_IN) {
13470 if (r->in.bind_handle == NULL) {
13471 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13473 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13475 if (r->in.req == NULL) {
13476 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13478 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13479 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13481 if (flags & NDR_OUT) {
13482 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13484 return NDR_ERR_SUCCESS;
13487 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13489 TALLOC_CTX *_mem_save_bind_handle_0;
13490 TALLOC_CTX *_mem_save_req_0;
13491 if (flags & NDR_IN) {
13492 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13493 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13495 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13496 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13497 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13500 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13501 NDR_PULL_ALLOC(ndr, r->in.req);
13503 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13504 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13505 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13509 if (flags & NDR_OUT) {
13510 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13512 return NDR_ERR_SUCCESS;
13515 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13517 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13518 ndr->depth++;
13519 if (flags & NDR_SET_VALUES) {
13520 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13522 if (flags & NDR_IN) {
13523 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13524 ndr->depth++;
13525 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13526 ndr->depth++;
13527 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13528 ndr->depth--;
13529 ndr_print_uint32(ndr, "level", r->in.level);
13530 ndr_print_ptr(ndr, "req", r->in.req);
13531 ndr->depth++;
13532 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13533 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
13534 ndr->depth--;
13535 ndr->depth--;
13537 if (flags & NDR_OUT) {
13538 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13539 ndr->depth++;
13540 ndr_print_WERROR(ndr, "result", r->out.result);
13541 ndr->depth--;
13543 ndr->depth--;
13546 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13548 if (flags & NDR_IN) {
13549 if (r->in.bind_handle == NULL) {
13550 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13552 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13553 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13554 if (r->in.req == NULL) {
13555 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13557 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13558 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13560 if (flags & NDR_OUT) {
13561 if (r->out.level_out == NULL) {
13562 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13564 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13565 if (r->out.ctr == NULL) {
13566 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13568 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13569 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13570 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13572 return NDR_ERR_SUCCESS;
13575 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13577 TALLOC_CTX *_mem_save_bind_handle_0;
13578 TALLOC_CTX *_mem_save_req_0;
13579 TALLOC_CTX *_mem_save_level_out_0;
13580 TALLOC_CTX *_mem_save_ctr_0;
13581 if (flags & NDR_IN) {
13582 ZERO_STRUCT(r->out);
13584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13585 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13587 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13588 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13589 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13591 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13592 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13593 NDR_PULL_ALLOC(ndr, r->in.req);
13595 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13596 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13597 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13598 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13600 NDR_PULL_ALLOC(ndr, r->out.level_out);
13601 ZERO_STRUCTP(r->out.level_out);
13602 NDR_PULL_ALLOC(ndr, r->out.ctr);
13603 ZERO_STRUCTP(r->out.ctr);
13605 if (flags & NDR_OUT) {
13606 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13607 NDR_PULL_ALLOC(ndr, r->out.level_out);
13609 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13610 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13611 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13613 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13614 NDR_PULL_ALLOC(ndr, r->out.ctr);
13616 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13617 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13618 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13621 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13623 return NDR_ERR_SUCCESS;
13626 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13628 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13629 ndr->depth++;
13630 if (flags & NDR_SET_VALUES) {
13631 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13633 if (flags & NDR_IN) {
13634 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13635 ndr->depth++;
13636 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13637 ndr->depth++;
13638 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13639 ndr->depth--;
13640 ndr_print_int32(ndr, "level", r->in.level);
13641 ndr_print_ptr(ndr, "req", r->in.req);
13642 ndr->depth++;
13643 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13644 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13645 ndr->depth--;
13646 ndr->depth--;
13648 if (flags & NDR_OUT) {
13649 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13650 ndr->depth++;
13651 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13652 ndr->depth++;
13653 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13654 ndr->depth--;
13655 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13656 ndr->depth++;
13657 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13658 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13659 ndr->depth--;
13660 ndr_print_WERROR(ndr, "result", r->out.result);
13661 ndr->depth--;
13663 ndr->depth--;
13666 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13668 if (flags & NDR_IN) {
13669 if (r->in.bind_handle == NULL) {
13670 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13672 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13673 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13674 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13675 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13677 if (flags & NDR_OUT) {
13678 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13680 return NDR_ERR_SUCCESS;
13683 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13685 TALLOC_CTX *_mem_save_bind_handle_0;
13686 if (flags & NDR_IN) {
13687 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13688 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13690 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13691 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13692 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13694 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13695 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13696 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13698 if (flags & NDR_OUT) {
13699 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13701 return NDR_ERR_SUCCESS;
13704 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13706 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13707 ndr->depth++;
13708 if (flags & NDR_SET_VALUES) {
13709 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13711 if (flags & NDR_IN) {
13712 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13713 ndr->depth++;
13714 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13715 ndr->depth++;
13716 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13717 ndr->depth--;
13718 ndr_print_int32(ndr, "level", r->in.level);
13719 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13720 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13721 ndr->depth--;
13723 if (flags & NDR_OUT) {
13724 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13725 ndr->depth++;
13726 ndr_print_WERROR(ndr, "result", r->out.result);
13727 ndr->depth--;
13729 ndr->depth--;
13732 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13734 if (flags & NDR_IN) {
13735 if (r->in.bind_handle == NULL) {
13736 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13738 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13739 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13740 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13741 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13743 if (flags & NDR_OUT) {
13744 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13746 return NDR_ERR_SUCCESS;
13749 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13751 TALLOC_CTX *_mem_save_bind_handle_0;
13752 if (flags & NDR_IN) {
13753 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13754 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13756 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13757 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13758 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13760 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13761 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13764 if (flags & NDR_OUT) {
13765 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13767 return NDR_ERR_SUCCESS;
13770 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13772 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13773 ndr->depth++;
13774 if (flags & NDR_SET_VALUES) {
13775 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13777 if (flags & NDR_IN) {
13778 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13779 ndr->depth++;
13780 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13781 ndr->depth++;
13782 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13783 ndr->depth--;
13784 ndr_print_int32(ndr, "level", r->in.level);
13785 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13786 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13787 ndr->depth--;
13789 if (flags & NDR_OUT) {
13790 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13791 ndr->depth++;
13792 ndr_print_WERROR(ndr, "result", r->out.result);
13793 ndr->depth--;
13795 ndr->depth--;
13798 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13800 if (flags & NDR_IN) {
13801 if (r->in.bind_handle == NULL) {
13802 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13804 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13805 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13806 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13807 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13809 if (flags & NDR_OUT) {
13810 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13812 return NDR_ERR_SUCCESS;
13815 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
13817 TALLOC_CTX *_mem_save_bind_handle_0;
13818 if (flags & NDR_IN) {
13819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13820 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13822 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13823 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13824 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13826 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13827 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13828 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13830 if (flags & NDR_OUT) {
13831 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13833 return NDR_ERR_SUCCESS;
13836 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
13838 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
13839 ndr->depth++;
13840 if (flags & NDR_SET_VALUES) {
13841 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13843 if (flags & NDR_IN) {
13844 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
13845 ndr->depth++;
13846 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13847 ndr->depth++;
13848 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13849 ndr->depth--;
13850 ndr_print_int32(ndr, "level", r->in.level);
13851 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13852 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
13853 ndr->depth--;
13855 if (flags & NDR_OUT) {
13856 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
13857 ndr->depth++;
13858 ndr_print_WERROR(ndr, "result", r->out.result);
13859 ndr->depth--;
13861 ndr->depth--;
13864 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
13866 if (flags & NDR_IN) {
13867 if (r->in.bind_handle == NULL) {
13868 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13870 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13871 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13872 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13873 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13875 if (flags & NDR_OUT) {
13876 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13878 return NDR_ERR_SUCCESS;
13881 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
13883 TALLOC_CTX *_mem_save_bind_handle_0;
13884 if (flags & NDR_IN) {
13885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13886 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13888 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13889 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13890 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13892 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13893 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13894 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13896 if (flags & NDR_OUT) {
13897 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13899 return NDR_ERR_SUCCESS;
13902 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
13904 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
13905 ndr->depth++;
13906 if (flags & NDR_SET_VALUES) {
13907 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13909 if (flags & NDR_IN) {
13910 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
13911 ndr->depth++;
13912 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13913 ndr->depth++;
13914 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13915 ndr->depth--;
13916 ndr_print_int32(ndr, "level", r->in.level);
13917 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13918 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
13919 ndr->depth--;
13921 if (flags & NDR_OUT) {
13922 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
13923 ndr->depth++;
13924 ndr_print_WERROR(ndr, "result", r->out.result);
13925 ndr->depth--;
13927 ndr->depth--;
13930 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13932 if (flags & NDR_IN) {
13934 if (flags & NDR_OUT) {
13935 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13937 return NDR_ERR_SUCCESS;
13940 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13942 if (flags & NDR_IN) {
13944 if (flags & NDR_OUT) {
13945 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13947 return NDR_ERR_SUCCESS;
13950 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13952 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13953 ndr->depth++;
13954 if (flags & NDR_SET_VALUES) {
13955 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13957 if (flags & NDR_IN) {
13958 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13959 ndr->depth++;
13960 ndr->depth--;
13962 if (flags & NDR_OUT) {
13963 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13964 ndr->depth++;
13965 ndr_print_WERROR(ndr, "result", r->out.result);
13966 ndr->depth--;
13968 ndr->depth--;
13971 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13973 if (flags & NDR_IN) {
13974 if (r->in.bind_handle == NULL) {
13975 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13977 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13978 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13979 if (r->in.req == NULL) {
13980 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13982 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13983 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13985 if (flags & NDR_OUT) {
13986 if (r->out.level_out == NULL) {
13987 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13989 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13990 if (r->out.ctr == NULL) {
13991 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13993 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13994 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13995 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13997 return NDR_ERR_SUCCESS;
14000 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14002 TALLOC_CTX *_mem_save_bind_handle_0;
14003 TALLOC_CTX *_mem_save_req_0;
14004 TALLOC_CTX *_mem_save_level_out_0;
14005 TALLOC_CTX *_mem_save_ctr_0;
14006 if (flags & NDR_IN) {
14007 ZERO_STRUCT(r->out);
14009 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14010 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14012 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14013 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14014 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14016 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14017 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14018 NDR_PULL_ALLOC(ndr, r->in.req);
14020 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14021 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14022 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14023 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14024 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14025 NDR_PULL_ALLOC(ndr, r->out.level_out);
14026 ZERO_STRUCTP(r->out.level_out);
14027 NDR_PULL_ALLOC(ndr, r->out.ctr);
14028 ZERO_STRUCTP(r->out.ctr);
14030 if (flags & NDR_OUT) {
14031 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14032 NDR_PULL_ALLOC(ndr, r->out.level_out);
14034 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14035 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14036 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14039 NDR_PULL_ALLOC(ndr, r->out.ctr);
14041 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14042 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14043 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14044 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14046 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14048 return NDR_ERR_SUCCESS;
14051 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14053 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14054 ndr->depth++;
14055 if (flags & NDR_SET_VALUES) {
14056 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14058 if (flags & NDR_IN) {
14059 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14060 ndr->depth++;
14061 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14062 ndr->depth++;
14063 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14064 ndr->depth--;
14065 ndr_print_int32(ndr, "level", r->in.level);
14066 ndr_print_ptr(ndr, "req", r->in.req);
14067 ndr->depth++;
14068 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14069 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14070 ndr->depth--;
14071 ndr->depth--;
14073 if (flags & NDR_OUT) {
14074 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14075 ndr->depth++;
14076 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14077 ndr->depth++;
14078 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14079 ndr->depth--;
14080 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14081 ndr->depth++;
14082 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14083 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14084 ndr->depth--;
14085 ndr_print_WERROR(ndr, "result", r->out.result);
14086 ndr->depth--;
14088 ndr->depth--;
14091 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14093 if (flags & NDR_IN) {
14095 if (flags & NDR_OUT) {
14096 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14098 return NDR_ERR_SUCCESS;
14101 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14103 if (flags & NDR_IN) {
14105 if (flags & NDR_OUT) {
14106 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14108 return NDR_ERR_SUCCESS;
14111 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14113 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14114 ndr->depth++;
14115 if (flags & NDR_SET_VALUES) {
14116 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14118 if (flags & NDR_IN) {
14119 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14120 ndr->depth++;
14121 ndr->depth--;
14123 if (flags & NDR_OUT) {
14124 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14125 ndr->depth++;
14126 ndr_print_WERROR(ndr, "result", r->out.result);
14127 ndr->depth--;
14129 ndr->depth--;
14132 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14134 if (flags & NDR_IN) {
14135 if (r->in.bind_handle == NULL) {
14136 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14138 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14140 if (r->in.req == NULL) {
14141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14143 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14144 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14146 if (flags & NDR_OUT) {
14147 if (r->out.level_out == NULL) {
14148 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14151 if (r->out.info == NULL) {
14152 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14154 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14155 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14156 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14158 return NDR_ERR_SUCCESS;
14161 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14163 TALLOC_CTX *_mem_save_bind_handle_0;
14164 TALLOC_CTX *_mem_save_req_0;
14165 TALLOC_CTX *_mem_save_level_out_0;
14166 TALLOC_CTX *_mem_save_info_0;
14167 if (flags & NDR_IN) {
14168 ZERO_STRUCT(r->out);
14170 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14171 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14173 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14174 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14175 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14178 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14179 NDR_PULL_ALLOC(ndr, r->in.req);
14181 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14182 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14183 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14184 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14186 NDR_PULL_ALLOC(ndr, r->out.level_out);
14187 ZERO_STRUCTP(r->out.level_out);
14188 NDR_PULL_ALLOC(ndr, r->out.info);
14189 ZERO_STRUCTP(r->out.info);
14191 if (flags & NDR_OUT) {
14192 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14193 NDR_PULL_ALLOC(ndr, r->out.level_out);
14195 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14196 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14199 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14200 NDR_PULL_ALLOC(ndr, r->out.info);
14202 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14203 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14204 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14205 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14207 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14209 return NDR_ERR_SUCCESS;
14212 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14214 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14215 ndr->depth++;
14216 if (flags & NDR_SET_VALUES) {
14217 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14219 if (flags & NDR_IN) {
14220 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14221 ndr->depth++;
14222 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14223 ndr->depth++;
14224 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14225 ndr->depth--;
14226 ndr_print_uint32(ndr, "level", r->in.level);
14227 ndr_print_ptr(ndr, "req", r->in.req);
14228 ndr->depth++;
14229 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14230 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14231 ndr->depth--;
14232 ndr->depth--;
14234 if (flags & NDR_OUT) {
14235 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14236 ndr->depth++;
14237 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14238 ndr->depth++;
14239 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14240 ndr->depth--;
14241 ndr_print_ptr(ndr, "info", r->out.info);
14242 ndr->depth++;
14243 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14244 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14245 ndr->depth--;
14246 ndr_print_WERROR(ndr, "result", r->out.result);
14247 ndr->depth--;
14249 ndr->depth--;
14252 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14254 if (flags & NDR_IN) {
14255 if (r->in.bind_handle == NULL) {
14256 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14258 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14259 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14260 if (r->in.req == NULL) {
14261 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14263 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14264 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14266 if (flags & NDR_OUT) {
14267 if (r->out.level_out == NULL) {
14268 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14270 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14271 if (r->out.ctr == NULL) {
14272 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14274 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14275 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14276 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14278 return NDR_ERR_SUCCESS;
14281 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14283 TALLOC_CTX *_mem_save_bind_handle_0;
14284 TALLOC_CTX *_mem_save_req_0;
14285 TALLOC_CTX *_mem_save_level_out_0;
14286 TALLOC_CTX *_mem_save_ctr_0;
14287 if (flags & NDR_IN) {
14288 ZERO_STRUCT(r->out);
14290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14291 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14293 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14294 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14295 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14297 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14298 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14299 NDR_PULL_ALLOC(ndr, r->in.req);
14301 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14302 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14303 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14304 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14306 NDR_PULL_ALLOC(ndr, r->out.level_out);
14307 ZERO_STRUCTP(r->out.level_out);
14308 NDR_PULL_ALLOC(ndr, r->out.ctr);
14309 ZERO_STRUCTP(r->out.ctr);
14311 if (flags & NDR_OUT) {
14312 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14313 NDR_PULL_ALLOC(ndr, r->out.level_out);
14315 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14316 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14317 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14319 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14320 NDR_PULL_ALLOC(ndr, r->out.ctr);
14322 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14323 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14324 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14325 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14327 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14329 return NDR_ERR_SUCCESS;
14332 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14334 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14335 ndr->depth++;
14336 if (flags & NDR_SET_VALUES) {
14337 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14339 if (flags & NDR_IN) {
14340 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14341 ndr->depth++;
14342 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14343 ndr->depth++;
14344 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14345 ndr->depth--;
14346 ndr_print_int32(ndr, "level", r->in.level);
14347 ndr_print_ptr(ndr, "req", r->in.req);
14348 ndr->depth++;
14349 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14350 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14351 ndr->depth--;
14352 ndr->depth--;
14354 if (flags & NDR_OUT) {
14355 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14356 ndr->depth++;
14357 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14358 ndr->depth++;
14359 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14360 ndr->depth--;
14361 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14362 ndr->depth++;
14363 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14364 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14365 ndr->depth--;
14366 ndr_print_WERROR(ndr, "result", r->out.result);
14367 ndr->depth--;
14369 ndr->depth--;
14372 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14374 if (flags & NDR_IN) {
14375 if (r->in.bind_handle == NULL) {
14376 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14378 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14379 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14380 if (r->in.req == NULL) {
14381 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14383 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14384 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14386 if (flags & NDR_OUT) {
14387 if (r->out.level_out == NULL) {
14388 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14390 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14391 if (r->out.res == NULL) {
14392 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14394 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14395 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14396 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14398 return NDR_ERR_SUCCESS;
14401 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14403 TALLOC_CTX *_mem_save_bind_handle_0;
14404 TALLOC_CTX *_mem_save_req_0;
14405 TALLOC_CTX *_mem_save_level_out_0;
14406 TALLOC_CTX *_mem_save_res_0;
14407 if (flags & NDR_IN) {
14408 ZERO_STRUCT(r->out);
14410 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14411 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14413 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14414 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14415 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14417 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14418 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14419 NDR_PULL_ALLOC(ndr, r->in.req);
14421 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14422 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14423 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14424 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14426 NDR_PULL_ALLOC(ndr, r->out.level_out);
14427 ZERO_STRUCTP(r->out.level_out);
14428 NDR_PULL_ALLOC(ndr, r->out.res);
14429 ZERO_STRUCTP(r->out.res);
14431 if (flags & NDR_OUT) {
14432 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14433 NDR_PULL_ALLOC(ndr, r->out.level_out);
14435 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14436 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14437 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14439 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14440 NDR_PULL_ALLOC(ndr, r->out.res);
14442 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14443 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14444 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14445 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14447 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14449 return NDR_ERR_SUCCESS;
14452 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14454 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14455 ndr->depth++;
14456 if (flags & NDR_SET_VALUES) {
14457 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14459 if (flags & NDR_IN) {
14460 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14461 ndr->depth++;
14462 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14463 ndr->depth++;
14464 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14465 ndr->depth--;
14466 ndr_print_int32(ndr, "level", r->in.level);
14467 ndr_print_ptr(ndr, "req", r->in.req);
14468 ndr->depth++;
14469 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14470 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14471 ndr->depth--;
14472 ndr->depth--;
14474 if (flags & NDR_OUT) {
14475 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14476 ndr->depth++;
14477 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14478 ndr->depth++;
14479 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14480 ndr->depth--;
14481 ndr_print_ptr(ndr, "res", r->out.res);
14482 ndr->depth++;
14483 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14484 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14485 ndr->depth--;
14486 ndr_print_WERROR(ndr, "result", r->out.result);
14487 ndr->depth--;
14489 ndr->depth--;
14492 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14494 if (flags & NDR_IN) {
14495 if (r->in.bind_handle == NULL) {
14496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14498 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14499 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14500 if (r->in.req == NULL) {
14501 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14503 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14504 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14506 if (flags & NDR_OUT) {
14507 if (r->out.level_out == NULL) {
14508 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14510 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14511 if (r->out.res == NULL) {
14512 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14514 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14515 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14516 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14518 return NDR_ERR_SUCCESS;
14521 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14523 TALLOC_CTX *_mem_save_bind_handle_0;
14524 TALLOC_CTX *_mem_save_req_0;
14525 TALLOC_CTX *_mem_save_level_out_0;
14526 TALLOC_CTX *_mem_save_res_0;
14527 if (flags & NDR_IN) {
14528 ZERO_STRUCT(r->out);
14530 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14531 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14533 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14534 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14535 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14537 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14538 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14539 NDR_PULL_ALLOC(ndr, r->in.req);
14541 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14542 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14543 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14544 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14546 NDR_PULL_ALLOC(ndr, r->out.level_out);
14547 ZERO_STRUCTP(r->out.level_out);
14548 NDR_PULL_ALLOC(ndr, r->out.res);
14549 ZERO_STRUCTP(r->out.res);
14551 if (flags & NDR_OUT) {
14552 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14553 NDR_PULL_ALLOC(ndr, r->out.level_out);
14555 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14556 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14557 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14559 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14560 NDR_PULL_ALLOC(ndr, r->out.res);
14562 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14563 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14564 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14565 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14567 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14569 return NDR_ERR_SUCCESS;
14572 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14574 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14575 ndr->depth++;
14576 if (flags & NDR_SET_VALUES) {
14577 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14579 if (flags & NDR_IN) {
14580 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14581 ndr->depth++;
14582 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14583 ndr->depth++;
14584 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14585 ndr->depth--;
14586 ndr_print_int32(ndr, "level", r->in.level);
14587 ndr_print_ptr(ndr, "req", r->in.req);
14588 ndr->depth++;
14589 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14590 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14591 ndr->depth--;
14592 ndr->depth--;
14594 if (flags & NDR_OUT) {
14595 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14596 ndr->depth++;
14597 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14598 ndr->depth++;
14599 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14600 ndr->depth--;
14601 ndr_print_ptr(ndr, "res", r->out.res);
14602 ndr->depth++;
14603 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14604 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14605 ndr->depth--;
14606 ndr_print_WERROR(ndr, "result", r->out.result);
14607 ndr->depth--;
14609 ndr->depth--;
14612 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14614 if (flags & NDR_IN) {
14616 if (flags & NDR_OUT) {
14617 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14619 return NDR_ERR_SUCCESS;
14622 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14624 if (flags & NDR_IN) {
14626 if (flags & NDR_OUT) {
14627 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14629 return NDR_ERR_SUCCESS;
14632 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14634 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14635 ndr->depth++;
14636 if (flags & NDR_SET_VALUES) {
14637 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14639 if (flags & NDR_IN) {
14640 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14641 ndr->depth++;
14642 ndr->depth--;
14644 if (flags & NDR_OUT) {
14645 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14646 ndr->depth++;
14647 ndr_print_WERROR(ndr, "result", r->out.result);
14648 ndr->depth--;
14650 ndr->depth--;
14653 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14655 if (flags & NDR_IN) {
14656 if (r->in.bind_handle == NULL) {
14657 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14659 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14660 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14661 if (r->in.req == NULL) {
14662 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14664 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14665 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14667 if (flags & NDR_OUT) {
14668 if (r->out.level_out == NULL) {
14669 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14671 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14672 if (r->out.ctr == NULL) {
14673 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14675 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14676 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14677 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14679 return NDR_ERR_SUCCESS;
14682 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14684 TALLOC_CTX *_mem_save_bind_handle_0;
14685 TALLOC_CTX *_mem_save_req_0;
14686 TALLOC_CTX *_mem_save_level_out_0;
14687 TALLOC_CTX *_mem_save_ctr_0;
14688 if (flags & NDR_IN) {
14689 ZERO_STRUCT(r->out);
14691 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14692 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14694 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14695 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14696 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14698 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14699 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14700 NDR_PULL_ALLOC(ndr, r->in.req);
14702 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14703 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14704 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14705 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14707 NDR_PULL_ALLOC(ndr, r->out.level_out);
14708 ZERO_STRUCTP(r->out.level_out);
14709 NDR_PULL_ALLOC(ndr, r->out.ctr);
14710 ZERO_STRUCTP(r->out.ctr);
14712 if (flags & NDR_OUT) {
14713 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14714 NDR_PULL_ALLOC(ndr, r->out.level_out);
14716 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14717 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14718 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14720 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14721 NDR_PULL_ALLOC(ndr, r->out.ctr);
14723 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14724 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14725 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14726 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14728 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14730 return NDR_ERR_SUCCESS;
14733 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14735 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14736 ndr->depth++;
14737 if (flags & NDR_SET_VALUES) {
14738 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14740 if (flags & NDR_IN) {
14741 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14742 ndr->depth++;
14743 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14744 ndr->depth++;
14745 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14746 ndr->depth--;
14747 ndr_print_int32(ndr, "level", r->in.level);
14748 ndr_print_ptr(ndr, "req", r->in.req);
14749 ndr->depth++;
14750 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14751 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14752 ndr->depth--;
14753 ndr->depth--;
14755 if (flags & NDR_OUT) {
14756 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14757 ndr->depth++;
14758 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14759 ndr->depth++;
14760 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14761 ndr->depth--;
14762 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14763 ndr->depth++;
14764 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14765 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14766 ndr->depth--;
14767 ndr_print_WERROR(ndr, "result", r->out.result);
14768 ndr->depth--;
14770 ndr->depth--;
14773 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14775 if (flags & NDR_IN) {
14776 if (r->in.bind_handle == NULL) {
14777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14779 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14780 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14781 if (r->in.req == NULL) {
14782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14784 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14785 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14787 if (flags & NDR_OUT) {
14788 if (r->out.level_out == NULL) {
14789 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14791 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14792 if (r->out.ctr == NULL) {
14793 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14795 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14796 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14797 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14799 return NDR_ERR_SUCCESS;
14802 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14804 TALLOC_CTX *_mem_save_bind_handle_0;
14805 TALLOC_CTX *_mem_save_req_0;
14806 TALLOC_CTX *_mem_save_level_out_0;
14807 TALLOC_CTX *_mem_save_ctr_0;
14808 if (flags & NDR_IN) {
14809 ZERO_STRUCT(r->out);
14811 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14812 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14814 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14815 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14816 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14818 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14820 NDR_PULL_ALLOC(ndr, r->in.req);
14822 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14823 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14824 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14825 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14827 NDR_PULL_ALLOC(ndr, r->out.level_out);
14828 ZERO_STRUCTP(r->out.level_out);
14829 NDR_PULL_ALLOC(ndr, r->out.ctr);
14830 ZERO_STRUCTP(r->out.ctr);
14832 if (flags & NDR_OUT) {
14833 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14834 NDR_PULL_ALLOC(ndr, r->out.level_out);
14836 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14837 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14838 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14839 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14840 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14841 NDR_PULL_ALLOC(ndr, r->out.ctr);
14843 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14844 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14845 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14846 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14848 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14850 return NDR_ERR_SUCCESS;
14853 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14855 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14856 ndr->depth++;
14857 if (flags & NDR_SET_VALUES) {
14858 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14860 if (flags & NDR_IN) {
14861 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14862 ndr->depth++;
14863 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14864 ndr->depth++;
14865 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14866 ndr->depth--;
14867 ndr_print_int32(ndr, "level", r->in.level);
14868 ndr_print_ptr(ndr, "req", r->in.req);
14869 ndr->depth++;
14870 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14871 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14872 ndr->depth--;
14873 ndr->depth--;
14875 if (flags & NDR_OUT) {
14876 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14877 ndr->depth++;
14878 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14879 ndr->depth++;
14880 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14881 ndr->depth--;
14882 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14883 ndr->depth++;
14884 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14885 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14886 ndr->depth--;
14887 ndr_print_WERROR(ndr, "result", r->out.result);
14888 ndr->depth--;
14890 ndr->depth--;
14893 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
14895 if (flags & NDR_IN) {
14896 if (r->in.bind_handle == NULL) {
14897 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14899 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14900 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14901 if (r->in.req == NULL) {
14902 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14904 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14905 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14907 if (flags & NDR_OUT) {
14908 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14910 return NDR_ERR_SUCCESS;
14913 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
14915 TALLOC_CTX *_mem_save_bind_handle_0;
14916 TALLOC_CTX *_mem_save_req_0;
14917 if (flags & NDR_IN) {
14918 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14919 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14921 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14922 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14923 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14924 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14926 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14927 NDR_PULL_ALLOC(ndr, r->in.req);
14929 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14930 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14931 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14932 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14935 if (flags & NDR_OUT) {
14936 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14938 return NDR_ERR_SUCCESS;
14941 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
14943 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
14944 ndr->depth++;
14945 if (flags & NDR_SET_VALUES) {
14946 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14948 if (flags & NDR_IN) {
14949 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
14950 ndr->depth++;
14951 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14952 ndr->depth++;
14953 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14954 ndr->depth--;
14955 ndr_print_uint32(ndr, "level", r->in.level);
14956 ndr_print_ptr(ndr, "req", r->in.req);
14957 ndr->depth++;
14958 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14959 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
14960 ndr->depth--;
14961 ndr->depth--;
14963 if (flags & NDR_OUT) {
14964 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
14965 ndr->depth++;
14966 ndr_print_WERROR(ndr, "result", r->out.result);
14967 ndr->depth--;
14969 ndr->depth--;
14972 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14974 if (flags & NDR_IN) {
14975 if (r->in.bind_handle == NULL) {
14976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14978 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14979 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14980 if (r->in.req == NULL) {
14981 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14983 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14984 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14986 if (flags & NDR_OUT) {
14987 if (r->out.info_type == NULL) {
14988 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14990 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14991 if (r->out.info == NULL) {
14992 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14994 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14995 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14996 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14998 return NDR_ERR_SUCCESS;
15001 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15003 TALLOC_CTX *_mem_save_bind_handle_0;
15004 TALLOC_CTX *_mem_save_req_0;
15005 TALLOC_CTX *_mem_save_info_type_0;
15006 TALLOC_CTX *_mem_save_info_0;
15007 if (flags & NDR_IN) {
15008 ZERO_STRUCT(r->out);
15010 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15011 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15013 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15014 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15015 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15017 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15018 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15019 NDR_PULL_ALLOC(ndr, r->in.req);
15021 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15022 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15023 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15026 NDR_PULL_ALLOC(ndr, r->out.info_type);
15027 ZERO_STRUCTP(r->out.info_type);
15028 NDR_PULL_ALLOC(ndr, r->out.info);
15029 ZERO_STRUCTP(r->out.info);
15031 if (flags & NDR_OUT) {
15032 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15033 NDR_PULL_ALLOC(ndr, r->out.info_type);
15035 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15036 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15038 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15039 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15040 NDR_PULL_ALLOC(ndr, r->out.info);
15042 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15043 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15044 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15045 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15047 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15049 return NDR_ERR_SUCCESS;
15052 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15054 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15055 ndr->depth++;
15056 if (flags & NDR_SET_VALUES) {
15057 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15059 if (flags & NDR_IN) {
15060 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15061 ndr->depth++;
15062 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15063 ndr->depth++;
15064 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15065 ndr->depth--;
15066 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15067 ndr_print_ptr(ndr, "req", r->in.req);
15068 ndr->depth++;
15069 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15070 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15071 ndr->depth--;
15072 ndr->depth--;
15074 if (flags & NDR_OUT) {
15075 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15076 ndr->depth++;
15077 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15078 ndr->depth++;
15079 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15080 ndr->depth--;
15081 ndr_print_ptr(ndr, "info", r->out.info);
15082 ndr->depth++;
15083 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15084 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15085 ndr->depth--;
15086 ndr_print_WERROR(ndr, "result", r->out.result);
15087 ndr->depth--;
15089 ndr->depth--;
15092 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15094 if (flags & NDR_IN) {
15096 if (flags & NDR_OUT) {
15097 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15099 return NDR_ERR_SUCCESS;
15102 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15104 if (flags & NDR_IN) {
15106 if (flags & NDR_OUT) {
15107 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15109 return NDR_ERR_SUCCESS;
15112 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15114 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15115 ndr->depth++;
15116 if (flags & NDR_SET_VALUES) {
15117 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15119 if (flags & NDR_IN) {
15120 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15121 ndr->depth++;
15122 ndr->depth--;
15124 if (flags & NDR_OUT) {
15125 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15126 ndr->depth++;
15127 ndr_print_WERROR(ndr, "result", r->out.result);
15128 ndr->depth--;
15130 ndr->depth--;
15133 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15135 if (flags & NDR_IN) {
15136 if (r->in.bind_handle == NULL) {
15137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15139 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15140 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15141 if (r->in.req == NULL) {
15142 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15144 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15145 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15147 if (flags & NDR_OUT) {
15148 if (r->out.level_out == NULL) {
15149 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15151 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15152 if (r->out.ctr == NULL) {
15153 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15155 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15156 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15157 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15159 return NDR_ERR_SUCCESS;
15162 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15164 TALLOC_CTX *_mem_save_bind_handle_0;
15165 TALLOC_CTX *_mem_save_req_0;
15166 TALLOC_CTX *_mem_save_level_out_0;
15167 TALLOC_CTX *_mem_save_ctr_0;
15168 if (flags & NDR_IN) {
15169 ZERO_STRUCT(r->out);
15171 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15172 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15174 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15175 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15176 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15178 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15179 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15180 NDR_PULL_ALLOC(ndr, r->in.req);
15182 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15183 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15184 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15185 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15187 NDR_PULL_ALLOC(ndr, r->out.level_out);
15188 ZERO_STRUCTP(r->out.level_out);
15189 NDR_PULL_ALLOC(ndr, r->out.ctr);
15190 ZERO_STRUCTP(r->out.ctr);
15192 if (flags & NDR_OUT) {
15193 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15194 NDR_PULL_ALLOC(ndr, r->out.level_out);
15196 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15197 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15198 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15200 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15201 NDR_PULL_ALLOC(ndr, r->out.ctr);
15203 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15204 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15205 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15206 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15208 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15210 return NDR_ERR_SUCCESS;
15213 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15215 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15216 ndr->depth++;
15217 if (flags & NDR_SET_VALUES) {
15218 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15220 if (flags & NDR_IN) {
15221 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15222 ndr->depth++;
15223 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15224 ndr->depth++;
15225 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15226 ndr->depth--;
15227 ndr_print_int32(ndr, "level", r->in.level);
15228 ndr_print_ptr(ndr, "req", r->in.req);
15229 ndr->depth++;
15230 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15231 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15232 ndr->depth--;
15233 ndr->depth--;
15235 if (flags & NDR_OUT) {
15236 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15237 ndr->depth++;
15238 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15239 ndr->depth++;
15240 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15241 ndr->depth--;
15242 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15243 ndr->depth++;
15244 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15245 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15246 ndr->depth--;
15247 ndr_print_WERROR(ndr, "result", r->out.result);
15248 ndr->depth--;
15250 ndr->depth--;
15253 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15255 if (flags & NDR_IN) {
15257 if (flags & NDR_OUT) {
15258 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15260 return NDR_ERR_SUCCESS;
15263 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15265 if (flags & NDR_IN) {
15267 if (flags & NDR_OUT) {
15268 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15270 return NDR_ERR_SUCCESS;
15273 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15275 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15276 ndr->depth++;
15277 if (flags & NDR_SET_VALUES) {
15278 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15280 if (flags & NDR_IN) {
15281 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15282 ndr->depth++;
15283 ndr->depth--;
15285 if (flags & NDR_OUT) {
15286 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15287 ndr->depth++;
15288 ndr_print_WERROR(ndr, "result", r->out.result);
15289 ndr->depth--;
15291 ndr->depth--;
15294 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15296 if (flags & NDR_IN) {
15298 if (flags & NDR_OUT) {
15299 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15301 return NDR_ERR_SUCCESS;
15304 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15306 if (flags & NDR_IN) {
15308 if (flags & NDR_OUT) {
15309 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15311 return NDR_ERR_SUCCESS;
15314 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15316 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15317 ndr->depth++;
15318 if (flags & NDR_SET_VALUES) {
15319 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15321 if (flags & NDR_IN) {
15322 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15323 ndr->depth++;
15324 ndr->depth--;
15326 if (flags & NDR_OUT) {
15327 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15328 ndr->depth++;
15329 ndr_print_WERROR(ndr, "result", r->out.result);
15330 ndr->depth--;
15332 ndr->depth--;
15335 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15337 if (flags & NDR_IN) {
15338 if (r->in.bind_handle == NULL) {
15339 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15341 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15342 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15343 if (r->in.req == NULL) {
15344 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15346 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15347 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15349 if (flags & NDR_OUT) {
15350 if (r->out.level_out == NULL) {
15351 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15353 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15354 if (r->out.ctr == NULL) {
15355 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15357 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15358 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15359 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15361 return NDR_ERR_SUCCESS;
15364 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15366 TALLOC_CTX *_mem_save_bind_handle_0;
15367 TALLOC_CTX *_mem_save_req_0;
15368 TALLOC_CTX *_mem_save_level_out_0;
15369 TALLOC_CTX *_mem_save_ctr_0;
15370 if (flags & NDR_IN) {
15371 ZERO_STRUCT(r->out);
15373 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15374 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15376 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15377 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15378 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15380 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15381 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15382 NDR_PULL_ALLOC(ndr, r->in.req);
15384 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15385 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15386 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15387 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15389 NDR_PULL_ALLOC(ndr, r->out.level_out);
15390 ZERO_STRUCTP(r->out.level_out);
15391 NDR_PULL_ALLOC(ndr, r->out.ctr);
15392 ZERO_STRUCTP(r->out.ctr);
15394 if (flags & NDR_OUT) {
15395 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15396 NDR_PULL_ALLOC(ndr, r->out.level_out);
15398 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15399 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15400 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15402 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15403 NDR_PULL_ALLOC(ndr, r->out.ctr);
15405 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15406 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15407 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15408 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15410 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15412 return NDR_ERR_SUCCESS;
15415 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15417 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15418 ndr->depth++;
15419 if (flags & NDR_SET_VALUES) {
15420 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15422 if (flags & NDR_IN) {
15423 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15424 ndr->depth++;
15425 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15426 ndr->depth++;
15427 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15428 ndr->depth--;
15429 ndr_print_int32(ndr, "level", r->in.level);
15430 ndr_print_ptr(ndr, "req", r->in.req);
15431 ndr->depth++;
15432 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15433 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15434 ndr->depth--;
15435 ndr->depth--;
15437 if (flags & NDR_OUT) {
15438 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15439 ndr->depth++;
15440 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15441 ndr->depth++;
15442 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15443 ndr->depth--;
15444 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15445 ndr->depth++;
15446 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15447 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15448 ndr->depth--;
15449 ndr_print_WERROR(ndr, "result", r->out.result);
15450 ndr->depth--;
15452 ndr->depth--;
15455 static const struct ndr_interface_call drsuapi_calls[] = {
15457 "drsuapi_DsBind",
15458 sizeof(struct drsuapi_DsBind),
15459 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15460 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15461 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15462 false,
15465 "drsuapi_DsUnbind",
15466 sizeof(struct drsuapi_DsUnbind),
15467 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15468 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15469 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15470 false,
15473 "drsuapi_DsReplicaSync",
15474 sizeof(struct drsuapi_DsReplicaSync),
15475 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15476 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15477 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15478 false,
15481 "drsuapi_DsGetNCChanges",
15482 sizeof(struct drsuapi_DsGetNCChanges),
15483 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15484 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15485 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15486 false,
15489 "drsuapi_DsReplicaUpdateRefs",
15490 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15491 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15492 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15493 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15494 false,
15497 "drsuapi_DsReplicaAdd",
15498 sizeof(struct drsuapi_DsReplicaAdd),
15499 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15500 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15501 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15502 false,
15505 "drsuapi_DsReplicaDel",
15506 sizeof(struct drsuapi_DsReplicaDel),
15507 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15508 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15509 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15510 false,
15513 "drsuapi_DsReplicaMod",
15514 sizeof(struct drsuapi_DsReplicaMod),
15515 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15516 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15517 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15518 false,
15521 "DRSUAPI_VERIFY_NAMES",
15522 sizeof(struct DRSUAPI_VERIFY_NAMES),
15523 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15524 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15525 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15526 false,
15529 "drsuapi_DsGetMemberships",
15530 sizeof(struct drsuapi_DsGetMemberships),
15531 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15532 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15533 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15534 false,
15537 "DRSUAPI_INTER_DOMAIN_MOVE",
15538 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15539 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15540 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15541 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15542 false,
15545 "drsuapi_DsGetNT4ChangeLog",
15546 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15547 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15548 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15549 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15550 false,
15553 "drsuapi_DsCrackNames",
15554 sizeof(struct drsuapi_DsCrackNames),
15555 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15556 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15557 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15558 false,
15561 "drsuapi_DsWriteAccountSpn",
15562 sizeof(struct drsuapi_DsWriteAccountSpn),
15563 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15564 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15565 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15566 false,
15569 "drsuapi_DsRemoveDSServer",
15570 sizeof(struct drsuapi_DsRemoveDSServer),
15571 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15572 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15573 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15574 false,
15577 "DRSUAPI_REMOVE_DS_DOMAIN",
15578 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15579 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15580 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15581 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15582 false,
15585 "drsuapi_DsGetDomainControllerInfo",
15586 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15587 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15588 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15589 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15590 false,
15593 "drsuapi_DsAddEntry",
15594 sizeof(struct drsuapi_DsAddEntry),
15595 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15596 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15597 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15598 false,
15601 "drsuapi_DsExecuteKCC",
15602 sizeof(struct drsuapi_DsExecuteKCC),
15603 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15604 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15605 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15606 false,
15609 "drsuapi_DsReplicaGetInfo",
15610 sizeof(struct drsuapi_DsReplicaGetInfo),
15611 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15612 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15613 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15614 false,
15617 "DRSUAPI_ADD_SID_HISTORY",
15618 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15619 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15620 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15621 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15622 false,
15625 "drsuapi_DsGetMemberships2",
15626 sizeof(struct drsuapi_DsGetMemberships2),
15627 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15628 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15629 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15630 false,
15633 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15634 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15635 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15636 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15637 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15638 false,
15641 "DRSUAPI_GET_OBJECT_EXISTENCE",
15642 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15643 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15644 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15645 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15646 false,
15649 "drsuapi_QuerySitesByCost",
15650 sizeof(struct drsuapi_QuerySitesByCost),
15651 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15652 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15653 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15654 false,
15656 { NULL, 0, NULL, NULL, NULL, false }
15659 static const char * const drsuapi_endpoint_strings[] = {
15660 "ncacn_np:[\\pipe\\lsass]",
15661 "ncacn_np:[\\pipe\\protected_storage]",
15662 "ncacn_ip_tcp:",
15663 "ncalrpc:",
15666 static const struct ndr_interface_string_array drsuapi_endpoints = {
15667 .count = 4,
15668 .names = drsuapi_endpoint_strings
15671 static const char * const drsuapi_authservice_strings[] = {
15672 "ldap",
15675 static const struct ndr_interface_string_array drsuapi_authservices = {
15676 .count = 1,
15677 .names = drsuapi_authservice_strings
15681 const struct ndr_interface_table ndr_table_drsuapi = {
15682 .name = "drsuapi",
15683 .syntax_id = {
15684 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15685 NDR_DRSUAPI_VERSION
15687 .helpstring = NDR_DRSUAPI_HELPSTRING,
15688 .num_calls = 25,
15689 .calls = drsuapi_calls,
15690 .endpoints = &drsuapi_endpoints,
15691 .authservices = &drsuapi_authservices