librpc: rerun make idl
[Samba/nascimento.git] / librpc / gen_ndr / ndr_drsuapi.c
blob240076665de0150b5515a4452e5bd153f8325884
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 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
572 if (ndr_flags & NDR_SCALARS) {
573 NDR_CHECK(ndr_push_align(ndr, 5));
574 if (r->naming_context == NULL) {
575 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
577 NDR_CHECK(ndr_push_ref_ptr(ndr));
578 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
580 uint32_t _flags_save_string = ndr->flags;
581 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
583 ndr->flags = _flags_save_string;
585 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
586 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
588 if (ndr_flags & NDR_BUFFERS) {
589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
591 uint32_t _flags_save_string = ndr->flags;
592 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
593 if (r->source_dsa_dns) {
594 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_dsa_dns));
596 ndr->flags = _flags_save_string;
599 return NDR_ERR_SUCCESS;
602 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
604 uint32_t _ptr_naming_context;
605 TALLOC_CTX *_mem_save_naming_context_0;
606 uint32_t _ptr_source_dsa_dns;
607 TALLOC_CTX *_mem_save_source_dsa_dns_0;
608 if (ndr_flags & NDR_SCALARS) {
609 NDR_CHECK(ndr_pull_align(ndr, 5));
610 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
611 if (_ptr_naming_context) {
612 NDR_PULL_ALLOC(ndr, r->naming_context);
613 } else {
614 r->naming_context = NULL;
616 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
618 uint32_t _flags_save_string = ndr->flags;
619 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
621 if (_ptr_source_dsa_dns) {
622 NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
623 } else {
624 r->source_dsa_dns = NULL;
626 ndr->flags = _flags_save_string;
628 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
629 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
631 if (ndr_flags & NDR_BUFFERS) {
632 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
633 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
637 uint32_t _flags_save_string = ndr->flags;
638 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
639 if (r->source_dsa_dns) {
640 _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
641 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
642 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_dsa_dns));
643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
645 ndr->flags = _flags_save_string;
648 return NDR_ERR_SUCCESS;
651 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
653 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
654 ndr->depth++;
655 ndr_print_ptr(ndr, "naming_context", r->naming_context);
656 ndr->depth++;
657 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
658 ndr->depth--;
659 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
660 ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
661 ndr->depth++;
662 if (r->source_dsa_dns) {
663 ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
665 ndr->depth--;
666 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
667 ndr->depth--;
670 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
672 if (ndr_flags & NDR_SCALARS) {
673 int level = ndr_push_get_switch_value(ndr, r);
674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
675 NDR_CHECK(ndr_push_union_align(ndr, 5));
676 switch (level) {
677 case 1: {
678 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
679 break; }
681 default:
682 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
685 if (ndr_flags & NDR_BUFFERS) {
686 int level = ndr_push_get_switch_value(ndr, r);
687 switch (level) {
688 case 1:
689 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
690 break;
692 default:
693 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
696 return NDR_ERR_SUCCESS;
699 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
701 int level;
702 uint32_t _level;
703 level = ndr_pull_get_switch_value(ndr, r);
704 if (ndr_flags & NDR_SCALARS) {
705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
706 if (_level != level) {
707 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
709 NDR_CHECK(ndr_pull_union_align(ndr, 5));
710 switch (level) {
711 case 1: {
712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
713 break; }
715 default:
716 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
719 if (ndr_flags & NDR_BUFFERS) {
720 switch (level) {
721 case 1:
722 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
723 break;
725 default:
726 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
729 return NDR_ERR_SUCCESS;
732 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
734 int level;
735 level = ndr_print_get_switch_value(ndr, r);
736 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
737 switch (level) {
738 case 1:
739 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
740 break;
742 default:
743 ndr_print_bad_level(ndr, name, level);
747 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
749 if (ndr_flags & NDR_SCALARS) {
750 NDR_CHECK(ndr_push_align(ndr, 8));
751 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
752 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
753 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
754 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
756 if (ndr_flags & NDR_BUFFERS) {
758 return NDR_ERR_SUCCESS;
761 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
763 if (ndr_flags & NDR_SCALARS) {
764 NDR_CHECK(ndr_pull_align(ndr, 8));
765 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
766 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
767 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
768 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
770 if (ndr_flags & NDR_BUFFERS) {
772 return NDR_ERR_SUCCESS;
775 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
777 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
778 ndr->depth++;
779 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
780 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
781 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
782 ndr->depth--;
785 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
787 if (ndr_flags & NDR_SCALARS) {
788 NDR_CHECK(ndr_push_align(ndr, 8));
789 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
790 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
791 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
793 if (ndr_flags & NDR_BUFFERS) {
795 return NDR_ERR_SUCCESS;
798 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
800 if (ndr_flags & NDR_SCALARS) {
801 NDR_CHECK(ndr_pull_align(ndr, 8));
802 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
803 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
804 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
806 if (ndr_flags & NDR_BUFFERS) {
808 return NDR_ERR_SUCCESS;
811 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
813 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
814 ndr->depth++;
815 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
816 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
817 ndr->depth--;
820 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
822 uint32_t cntr_cursors_0;
823 if (ndr_flags & NDR_SCALARS) {
824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
825 NDR_CHECK(ndr_push_align(ndr, 8));
826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
830 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
831 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
833 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
835 if (ndr_flags & NDR_BUFFERS) {
837 return NDR_ERR_SUCCESS;
840 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
842 uint32_t cntr_cursors_0;
843 TALLOC_CTX *_mem_save_cursors_0;
844 if (ndr_flags & NDR_SCALARS) {
845 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
846 NDR_CHECK(ndr_pull_align(ndr, 8));
847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
850 if (r->count > 0x100000) {
851 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
854 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
855 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
856 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
857 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
861 if (r->cursors) {
862 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
864 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
866 if (ndr_flags & NDR_BUFFERS) {
868 return NDR_ERR_SUCCESS;
871 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
873 uint32_t cntr_cursors_0;
874 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
875 ndr->depth++;
876 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
877 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
878 ndr_print_uint32(ndr, "count", r->count);
879 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
880 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
881 ndr->depth++;
882 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
883 char *idx_0=NULL;
884 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
885 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
886 free(idx_0);
889 ndr->depth--;
890 ndr->depth--;
893 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
896 uint32_t _flags_save_ENUM = ndr->flags;
897 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
898 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
899 ndr->flags = _flags_save_ENUM;
901 return NDR_ERR_SUCCESS;
904 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
906 uint32_t v;
908 uint32_t _flags_save_ENUM = ndr->flags;
909 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
910 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
911 *r = v;
912 ndr->flags = _flags_save_ENUM;
914 return NDR_ERR_SUCCESS;
917 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
919 const char *val = NULL;
922 uint32_t _flags_save_ENUM = ndr->flags;
923 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
924 switch (r) {
925 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
926 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
927 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
928 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
929 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
930 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
931 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
932 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
934 ndr_print_enum(ndr, name, "ENUM", val, r);
935 ndr->flags = _flags_save_ENUM;
939 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
942 uint32_t _flags_save_ENUM = ndr->flags;
943 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
944 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
945 ndr->flags = _flags_save_ENUM;
947 return NDR_ERR_SUCCESS;
950 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
952 uint32_t v;
954 uint32_t _flags_save_ENUM = ndr->flags;
955 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
956 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
957 *r = v;
958 ndr->flags = _flags_save_ENUM;
960 return NDR_ERR_SUCCESS;
963 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
965 const char *val = NULL;
968 uint32_t _flags_save_ENUM = ndr->flags;
969 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
970 switch (r) {
971 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
972 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
973 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
974 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
975 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
976 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
977 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
978 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
979 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
980 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
981 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
982 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
983 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
984 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
985 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
986 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
987 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
989 ndr_print_enum(ndr, name, "ENUM", val, r);
990 ndr->flags = _flags_save_ENUM;
994 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
996 if (ndr_flags & NDR_SCALARS) {
997 NDR_CHECK(ndr_push_align(ndr, 8));
998 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
999 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1000 if (r->naming_context == NULL) {
1001 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1003 NDR_CHECK(ndr_push_ref_ptr(ndr));
1004 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1005 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1006 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1009 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1010 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1011 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1013 if (ndr_flags & NDR_BUFFERS) {
1014 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1015 if (r->uptodateness_vector) {
1016 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1019 return NDR_ERR_SUCCESS;
1022 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1024 uint32_t _ptr_naming_context;
1025 TALLOC_CTX *_mem_save_naming_context_0;
1026 uint32_t _ptr_uptodateness_vector;
1027 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1028 if (ndr_flags & NDR_SCALARS) {
1029 NDR_CHECK(ndr_pull_align(ndr, 8));
1030 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1031 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1032 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1033 if (_ptr_naming_context) {
1034 NDR_PULL_ALLOC(ndr, r->naming_context);
1035 } else {
1036 r->naming_context = NULL;
1038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1039 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1040 if (_ptr_uptodateness_vector) {
1041 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1042 } else {
1043 r->uptodateness_vector = NULL;
1045 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1048 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1049 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1050 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1052 if (ndr_flags & NDR_BUFFERS) {
1053 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1054 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1055 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1057 if (r->uptodateness_vector) {
1058 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1059 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1060 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1064 return NDR_ERR_SUCCESS;
1067 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1069 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1070 ndr->depth++;
1071 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1072 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1073 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1074 ndr->depth++;
1075 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1076 ndr->depth--;
1077 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1078 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1079 ndr->depth++;
1080 if (r->uptodateness_vector) {
1081 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1083 ndr->depth--;
1084 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1085 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1086 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1087 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1088 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1089 ndr->depth--;
1092 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1094 if (ndr_flags & NDR_SCALARS) {
1095 NDR_CHECK(ndr_push_align(ndr, 5));
1096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1098 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1100 if (ndr_flags & NDR_BUFFERS) {
1101 if (r->binary_oid) {
1102 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1103 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1106 return NDR_ERR_SUCCESS;
1109 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1111 uint32_t _ptr_binary_oid;
1112 TALLOC_CTX *_mem_save_binary_oid_0;
1113 if (ndr_flags & NDR_SCALARS) {
1114 NDR_CHECK(ndr_pull_align(ndr, 5));
1115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1116 if (r->length > 10000) {
1117 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1120 if (_ptr_binary_oid) {
1121 NDR_PULL_ALLOC(ndr, r->binary_oid);
1122 } else {
1123 r->binary_oid = NULL;
1125 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1127 if (ndr_flags & NDR_BUFFERS) {
1128 if (r->binary_oid) {
1129 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1130 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1131 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1132 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1133 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1136 if (r->binary_oid) {
1137 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1140 return NDR_ERR_SUCCESS;
1143 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1145 if (ndr_flags & NDR_SCALARS) {
1146 NDR_CHECK(ndr_push_align(ndr, 5));
1147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1148 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1149 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1151 if (ndr_flags & NDR_BUFFERS) {
1152 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1154 return NDR_ERR_SUCCESS;
1157 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1159 if (ndr_flags & NDR_SCALARS) {
1160 NDR_CHECK(ndr_pull_align(ndr, 5));
1161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1162 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1163 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1165 if (ndr_flags & NDR_BUFFERS) {
1166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1168 return NDR_ERR_SUCCESS;
1171 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1173 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1174 ndr->depth++;
1175 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1176 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1177 ndr->depth--;
1180 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1182 uint32_t cntr_mappings_1;
1183 if (ndr_flags & NDR_SCALARS) {
1184 NDR_CHECK(ndr_push_align(ndr, 5));
1185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1186 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1187 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1189 if (ndr_flags & NDR_BUFFERS) {
1190 if (r->mappings) {
1191 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1192 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1193 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1195 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1196 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1200 return NDR_ERR_SUCCESS;
1203 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1205 uint32_t _ptr_mappings;
1206 uint32_t cntr_mappings_1;
1207 TALLOC_CTX *_mem_save_mappings_0;
1208 TALLOC_CTX *_mem_save_mappings_1;
1209 if (ndr_flags & NDR_SCALARS) {
1210 NDR_CHECK(ndr_pull_align(ndr, 5));
1211 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1212 if (r->num_mappings > 0x100000) {
1213 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1216 if (_ptr_mappings) {
1217 NDR_PULL_ALLOC(ndr, r->mappings);
1218 } else {
1219 r->mappings = NULL;
1221 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1223 if (ndr_flags & NDR_BUFFERS) {
1224 if (r->mappings) {
1225 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1226 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1227 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1228 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1229 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1230 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1231 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1232 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1234 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1235 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1240 if (r->mappings) {
1241 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1244 return NDR_ERR_SUCCESS;
1247 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1249 uint32_t cntr_mappings_1;
1250 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1251 ndr->depth++;
1252 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1253 ndr_print_ptr(ndr, "mappings", r->mappings);
1254 ndr->depth++;
1255 if (r->mappings) {
1256 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1257 ndr->depth++;
1258 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1259 char *idx_1=NULL;
1260 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1261 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1262 free(idx_1);
1265 ndr->depth--;
1267 ndr->depth--;
1268 ndr->depth--;
1271 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1274 uint32_t _flags_save_ENUM = ndr->flags;
1275 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1276 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1277 ndr->flags = _flags_save_ENUM;
1279 return NDR_ERR_SUCCESS;
1282 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1284 uint32_t v;
1286 uint32_t _flags_save_ENUM = ndr->flags;
1287 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1288 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1289 *r = v;
1290 ndr->flags = _flags_save_ENUM;
1292 return NDR_ERR_SUCCESS;
1295 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1297 const char *val = NULL;
1300 uint32_t _flags_save_ENUM = ndr->flags;
1301 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1302 switch (r) {
1303 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1304 case DRSUAPI_ATTRIBUTE_cn: val = "DRSUAPI_ATTRIBUTE_cn"; break;
1305 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1306 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1307 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1308 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1309 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1310 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1311 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1312 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1313 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1314 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1315 case DRSUAPI_ATTRIBUTE_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1316 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1317 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1318 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1319 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1320 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1321 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1322 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1323 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1324 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1325 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1326 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1327 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1328 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1329 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1330 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1331 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1332 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1333 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1334 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1335 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1336 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1337 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1338 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1339 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1340 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1341 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1342 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1343 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1344 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1345 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1346 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1347 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1348 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1349 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1350 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1351 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1352 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1353 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1354 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1355 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1356 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1357 case DRSUAPI_ATTRIBUTE_options: val = "DRSUAPI_ATTRIBUTE_options"; break;
1358 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1359 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1360 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1361 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1362 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1363 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1364 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1365 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1366 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1367 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1368 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1369 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1370 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1371 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1372 case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1373 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1374 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1375 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1376 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1377 case DRSUAPI_ATTRIBUTE_NONE: val = "DRSUAPI_ATTRIBUTE_NONE"; break;
1379 ndr_print_enum(ndr, name, "ENUM", val, r);
1380 ndr->flags = _flags_save_ENUM;
1384 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1386 uint32_t cntr_attids_0;
1387 if (ndr_flags & NDR_SCALARS) {
1388 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1389 NDR_CHECK(ndr_push_align(ndr, 4));
1390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1393 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1394 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1396 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1398 if (ndr_flags & NDR_BUFFERS) {
1400 return NDR_ERR_SUCCESS;
1403 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1405 uint32_t cntr_attids_0;
1406 TALLOC_CTX *_mem_save_attids_0;
1407 if (ndr_flags & NDR_SCALARS) {
1408 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1409 NDR_CHECK(ndr_pull_align(ndr, 4));
1410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1413 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1414 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1416 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1417 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1418 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1419 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1420 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1423 if (r->attids) {
1424 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1426 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1428 if (ndr_flags & NDR_BUFFERS) {
1430 return NDR_ERR_SUCCESS;
1433 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1435 uint32_t cntr_attids_0;
1436 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1437 ndr->depth++;
1438 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1439 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1440 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1441 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1442 ndr->depth++;
1443 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1444 char *idx_0=NULL;
1445 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1446 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1447 free(idx_0);
1450 ndr->depth--;
1451 ndr->depth--;
1454 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1456 if (ndr_flags & NDR_SCALARS) {
1457 NDR_CHECK(ndr_push_align(ndr, 8));
1458 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1459 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1460 if (r->naming_context == NULL) {
1461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1463 NDR_CHECK(ndr_push_ref_ptr(ndr));
1464 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1465 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1466 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1469 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1470 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1471 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1473 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1474 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1476 if (ndr_flags & NDR_BUFFERS) {
1477 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1478 if (r->uptodateness_vector) {
1479 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1481 if (r->partial_attribute_set) {
1482 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1484 if (r->partial_attribute_set_ex) {
1485 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1487 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1489 return NDR_ERR_SUCCESS;
1492 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1494 uint32_t _ptr_naming_context;
1495 TALLOC_CTX *_mem_save_naming_context_0;
1496 uint32_t _ptr_uptodateness_vector;
1497 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1498 uint32_t _ptr_partial_attribute_set;
1499 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1500 uint32_t _ptr_partial_attribute_set_ex;
1501 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1502 if (ndr_flags & NDR_SCALARS) {
1503 NDR_CHECK(ndr_pull_align(ndr, 8));
1504 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1505 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1506 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1507 if (_ptr_naming_context) {
1508 NDR_PULL_ALLOC(ndr, r->naming_context);
1509 } else {
1510 r->naming_context = NULL;
1512 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1513 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1514 if (_ptr_uptodateness_vector) {
1515 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1516 } else {
1517 r->uptodateness_vector = NULL;
1519 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1520 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1522 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1523 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1524 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1525 if (_ptr_partial_attribute_set) {
1526 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1527 } else {
1528 r->partial_attribute_set = NULL;
1530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1531 if (_ptr_partial_attribute_set_ex) {
1532 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1533 } else {
1534 r->partial_attribute_set_ex = NULL;
1536 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1537 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1539 if (ndr_flags & NDR_BUFFERS) {
1540 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1541 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1544 if (r->uptodateness_vector) {
1545 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1546 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1547 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1548 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1550 if (r->partial_attribute_set) {
1551 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1552 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1553 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1556 if (r->partial_attribute_set_ex) {
1557 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1558 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1559 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1562 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1564 return NDR_ERR_SUCCESS;
1567 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1569 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1570 ndr->depth++;
1571 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1572 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1573 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1574 ndr->depth++;
1575 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1576 ndr->depth--;
1577 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1578 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1579 ndr->depth++;
1580 if (r->uptodateness_vector) {
1581 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1583 ndr->depth--;
1584 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1585 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1586 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1587 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1588 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1589 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1590 ndr->depth++;
1591 if (r->partial_attribute_set) {
1592 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1594 ndr->depth--;
1595 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1596 ndr->depth++;
1597 if (r->partial_attribute_set_ex) {
1598 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1600 ndr->depth--;
1601 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1602 ndr->depth--;
1605 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1607 if (ndr_flags & NDR_SCALARS) {
1608 NDR_CHECK(ndr_push_align(ndr, 8));
1609 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1610 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1611 if (r->naming_context == NULL) {
1612 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1614 NDR_CHECK(ndr_push_ref_ptr(ndr));
1615 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1616 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1617 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1620 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1621 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1622 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1624 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1626 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1628 if (ndr_flags & NDR_BUFFERS) {
1629 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1630 if (r->uptodateness_vector) {
1631 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1633 if (r->partial_attribute_set) {
1634 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1636 if (r->partial_attribute_set_ex) {
1637 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1639 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1641 return NDR_ERR_SUCCESS;
1644 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1646 uint32_t _ptr_naming_context;
1647 TALLOC_CTX *_mem_save_naming_context_0;
1648 uint32_t _ptr_uptodateness_vector;
1649 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1650 uint32_t _ptr_partial_attribute_set;
1651 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1652 uint32_t _ptr_partial_attribute_set_ex;
1653 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1654 if (ndr_flags & NDR_SCALARS) {
1655 NDR_CHECK(ndr_pull_align(ndr, 8));
1656 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1657 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1658 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1659 if (_ptr_naming_context) {
1660 NDR_PULL_ALLOC(ndr, r->naming_context);
1661 } else {
1662 r->naming_context = NULL;
1664 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1666 if (_ptr_uptodateness_vector) {
1667 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1668 } else {
1669 r->uptodateness_vector = NULL;
1671 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1672 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1674 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1675 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1677 if (_ptr_partial_attribute_set) {
1678 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1679 } else {
1680 r->partial_attribute_set = NULL;
1682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1683 if (_ptr_partial_attribute_set_ex) {
1684 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1685 } else {
1686 r->partial_attribute_set_ex = NULL;
1688 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1689 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1690 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1692 if (ndr_flags & NDR_BUFFERS) {
1693 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1694 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1695 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1697 if (r->uptodateness_vector) {
1698 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1699 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1700 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1703 if (r->partial_attribute_set) {
1704 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1705 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1706 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1709 if (r->partial_attribute_set_ex) {
1710 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1711 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1712 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1715 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1717 return NDR_ERR_SUCCESS;
1720 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1722 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1723 ndr->depth++;
1724 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1725 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1726 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1727 ndr->depth++;
1728 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1729 ndr->depth--;
1730 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1731 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1732 ndr->depth++;
1733 if (r->uptodateness_vector) {
1734 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1736 ndr->depth--;
1737 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1738 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1739 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1740 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1741 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1742 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1743 ndr->depth++;
1744 if (r->partial_attribute_set) {
1745 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1747 ndr->depth--;
1748 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1749 ndr->depth++;
1750 if (r->partial_attribute_set_ex) {
1751 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1753 ndr->depth--;
1754 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1755 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1756 ndr->depth--;
1759 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1761 if (ndr_flags & NDR_SCALARS) {
1762 int level = ndr_push_get_switch_value(ndr, r);
1763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
1764 NDR_CHECK(ndr_push_union_align(ndr, 8));
1765 switch (level) {
1766 case 5: {
1767 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1768 break; }
1770 case 8: {
1771 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1772 break; }
1774 case 10: {
1775 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1776 break; }
1778 default:
1779 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1782 if (ndr_flags & NDR_BUFFERS) {
1783 int level = ndr_push_get_switch_value(ndr, r);
1784 switch (level) {
1785 case 5:
1786 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1787 break;
1789 case 8:
1790 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1791 break;
1793 case 10:
1794 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1795 break;
1797 default:
1798 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1801 return NDR_ERR_SUCCESS;
1804 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1806 int level;
1807 uint32_t _level;
1808 level = ndr_pull_get_switch_value(ndr, r);
1809 if (ndr_flags & NDR_SCALARS) {
1810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1811 if (_level != level) {
1812 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1814 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1815 switch (level) {
1816 case 5: {
1817 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1818 break; }
1820 case 8: {
1821 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1822 break; }
1824 case 10: {
1825 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1826 break; }
1828 default:
1829 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1832 if (ndr_flags & NDR_BUFFERS) {
1833 switch (level) {
1834 case 5:
1835 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1836 break;
1838 case 8:
1839 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1840 break;
1842 case 10:
1843 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1844 break;
1846 default:
1847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1850 return NDR_ERR_SUCCESS;
1853 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1855 int level;
1856 level = ndr_print_get_switch_value(ndr, r);
1857 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1858 switch (level) {
1859 case 5:
1860 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1861 break;
1863 case 8:
1864 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1865 break;
1867 case 10:
1868 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1869 break;
1871 default:
1872 ndr_print_bad_level(ndr, name, level);
1876 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1878 if (ndr_flags & NDR_SCALARS) {
1879 NDR_CHECK(ndr_push_align(ndr, 8));
1880 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1881 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1882 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1883 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1885 if (ndr_flags & NDR_BUFFERS) {
1887 return NDR_ERR_SUCCESS;
1890 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1892 if (ndr_flags & NDR_SCALARS) {
1893 NDR_CHECK(ndr_pull_align(ndr, 8));
1894 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1895 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1896 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1897 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1899 if (ndr_flags & NDR_BUFFERS) {
1901 return NDR_ERR_SUCCESS;
1904 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1906 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1907 ndr->depth++;
1908 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1909 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1910 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1911 ndr->depth--;
1914 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1916 uint32_t cntr_cursors_0;
1917 if (ndr_flags & NDR_SCALARS) {
1918 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1919 NDR_CHECK(ndr_push_align(ndr, 8));
1920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1924 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1925 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1927 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1929 if (ndr_flags & NDR_BUFFERS) {
1931 return NDR_ERR_SUCCESS;
1934 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1936 uint32_t cntr_cursors_0;
1937 TALLOC_CTX *_mem_save_cursors_0;
1938 if (ndr_flags & NDR_SCALARS) {
1939 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1940 NDR_CHECK(ndr_pull_align(ndr, 8));
1941 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1944 if (r->count > 0x100000) {
1945 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1947 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1948 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1949 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1950 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1951 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1955 if (r->cursors) {
1956 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1958 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1960 if (ndr_flags & NDR_BUFFERS) {
1962 return NDR_ERR_SUCCESS;
1965 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1967 uint32_t cntr_cursors_0;
1968 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1969 ndr->depth++;
1970 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1971 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1972 ndr_print_uint32(ndr, "count", r->count);
1973 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1974 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1975 ndr->depth++;
1976 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1977 char *idx_0=NULL;
1978 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1979 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1980 free(idx_0);
1983 ndr->depth--;
1984 ndr->depth--;
1987 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1989 if (ndr_flags & NDR_SCALARS) {
1990 NDR_CHECK(ndr_push_align(ndr, 5));
1991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1993 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1995 if (ndr_flags & NDR_BUFFERS) {
1996 if (r->blob) {
1997 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2000 return NDR_ERR_SUCCESS;
2003 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2005 uint32_t _ptr_blob;
2006 TALLOC_CTX *_mem_save_blob_0;
2007 if (ndr_flags & NDR_SCALARS) {
2008 NDR_CHECK(ndr_pull_align(ndr, 5));
2009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2010 if (r->__ndr_size > 10485760) {
2011 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2014 if (_ptr_blob) {
2015 NDR_PULL_ALLOC(ndr, r->blob);
2016 } else {
2017 r->blob = NULL;
2019 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2021 if (ndr_flags & NDR_BUFFERS) {
2022 if (r->blob) {
2023 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2024 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2025 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2029 return NDR_ERR_SUCCESS;
2032 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2034 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2035 ndr->depth++;
2036 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2037 ndr_print_ptr(ndr, "blob", r->blob);
2038 ndr->depth++;
2039 if (r->blob) {
2040 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2042 ndr->depth--;
2043 ndr->depth--;
2046 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2048 uint32_t cntr_values_1;
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_push_align(ndr, 5));
2051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2053 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2055 if (ndr_flags & NDR_BUFFERS) {
2056 if (r->values) {
2057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2058 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2059 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2061 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2062 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2066 return NDR_ERR_SUCCESS;
2069 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2071 uint32_t _ptr_values;
2072 uint32_t cntr_values_1;
2073 TALLOC_CTX *_mem_save_values_0;
2074 TALLOC_CTX *_mem_save_values_1;
2075 if (ndr_flags & NDR_SCALARS) {
2076 NDR_CHECK(ndr_pull_align(ndr, 5));
2077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2078 if (r->num_values > 10485760) {
2079 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2082 if (_ptr_values) {
2083 NDR_PULL_ALLOC(ndr, r->values);
2084 } else {
2085 r->values = NULL;
2087 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2089 if (ndr_flags & NDR_BUFFERS) {
2090 if (r->values) {
2091 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2092 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2093 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2094 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2095 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2096 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2097 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2098 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2100 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2101 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2104 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2106 if (r->values) {
2107 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2110 return NDR_ERR_SUCCESS;
2113 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2115 uint32_t cntr_values_1;
2116 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2117 ndr->depth++;
2118 ndr_print_uint32(ndr, "num_values", r->num_values);
2119 ndr_print_ptr(ndr, "values", r->values);
2120 ndr->depth++;
2121 if (r->values) {
2122 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2123 ndr->depth++;
2124 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2125 char *idx_1=NULL;
2126 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2127 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2128 free(idx_1);
2131 ndr->depth--;
2133 ndr->depth--;
2134 ndr->depth--;
2137 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2139 if (ndr_flags & NDR_SCALARS) {
2140 NDR_CHECK(ndr_push_align(ndr, 4));
2141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2143 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2144 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2146 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2147 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2149 if (ndr_flags & NDR_BUFFERS) {
2150 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2152 return NDR_ERR_SUCCESS;
2155 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2157 if (ndr_flags & NDR_SCALARS) {
2158 NDR_CHECK(ndr_pull_align(ndr, 4));
2159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2161 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2162 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2164 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2165 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2167 if (ndr_flags & NDR_BUFFERS) {
2168 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2170 return NDR_ERR_SUCCESS;
2173 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2175 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2176 ndr->depth++;
2177 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2178 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2179 ndr_print_GUID(ndr, "guid", &r->guid);
2180 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2181 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2182 ndr_print_string(ndr, "dn", r->dn);
2183 ndr->depth--;
2186 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2188 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2191 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2193 if (ndr_flags & NDR_SCALARS) {
2194 NDR_CHECK(ndr_push_align(ndr, 4));
2195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2197 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2198 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2200 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2203 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2204 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2205 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2206 ndr->flags = _flags_save_DATA_BLOB;
2208 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2210 if (ndr_flags & NDR_BUFFERS) {
2211 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2213 return NDR_ERR_SUCCESS;
2216 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2218 if (ndr_flags & NDR_SCALARS) {
2219 NDR_CHECK(ndr_pull_align(ndr, 4));
2220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2222 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2223 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2224 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2225 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2228 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2229 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2230 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2231 ndr->flags = _flags_save_DATA_BLOB;
2233 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2235 if (ndr_flags & NDR_BUFFERS) {
2236 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2238 return NDR_ERR_SUCCESS;
2241 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2243 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2244 ndr->depth++;
2245 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2246 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2247 ndr_print_GUID(ndr, "guid", &r->guid);
2248 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2249 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2250 ndr_print_string(ndr, "dn", r->dn);
2251 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2252 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2253 ndr->depth--;
2256 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2258 if (ndr_flags & NDR_SCALARS) {
2259 NDR_CHECK(ndr_push_align(ndr, 5));
2260 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2261 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2262 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2264 if (ndr_flags & NDR_BUFFERS) {
2265 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2267 return NDR_ERR_SUCCESS;
2270 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2272 if (ndr_flags & NDR_SCALARS) {
2273 NDR_CHECK(ndr_pull_align(ndr, 5));
2274 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2275 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2276 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2278 if (ndr_flags & NDR_BUFFERS) {
2279 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2281 return NDR_ERR_SUCCESS;
2284 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2286 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2287 ndr->depth++;
2288 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2289 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2290 ndr->depth--;
2293 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2295 uint32_t cntr_attributes_1;
2296 if (ndr_flags & NDR_SCALARS) {
2297 NDR_CHECK(ndr_push_align(ndr, 5));
2298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2299 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2300 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2302 if (ndr_flags & NDR_BUFFERS) {
2303 if (r->attributes) {
2304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2305 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2308 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2309 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2313 return NDR_ERR_SUCCESS;
2316 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2318 uint32_t _ptr_attributes;
2319 uint32_t cntr_attributes_1;
2320 TALLOC_CTX *_mem_save_attributes_0;
2321 TALLOC_CTX *_mem_save_attributes_1;
2322 if (ndr_flags & NDR_SCALARS) {
2323 NDR_CHECK(ndr_pull_align(ndr, 5));
2324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2325 if (r->num_attributes > 1048576) {
2326 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2329 if (_ptr_attributes) {
2330 NDR_PULL_ALLOC(ndr, r->attributes);
2331 } else {
2332 r->attributes = NULL;
2334 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2336 if (ndr_flags & NDR_BUFFERS) {
2337 if (r->attributes) {
2338 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2339 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2340 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2341 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2342 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2343 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2344 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2347 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2348 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2353 if (r->attributes) {
2354 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2357 return NDR_ERR_SUCCESS;
2360 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2362 uint32_t cntr_attributes_1;
2363 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2364 ndr->depth++;
2365 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2366 ndr_print_ptr(ndr, "attributes", r->attributes);
2367 ndr->depth++;
2368 if (r->attributes) {
2369 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2370 ndr->depth++;
2371 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2372 char *idx_1=NULL;
2373 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2374 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2375 free(idx_1);
2378 ndr->depth--;
2380 ndr->depth--;
2381 ndr->depth--;
2384 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2387 return NDR_ERR_SUCCESS;
2390 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2392 uint32_t v;
2393 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2394 *r = v;
2395 return NDR_ERR_SUCCESS;
2398 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2400 ndr_print_uint32(ndr, name, r);
2401 ndr->depth++;
2402 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2403 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2404 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2405 ndr->depth--;
2408 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2410 if (ndr_flags & NDR_SCALARS) {
2411 NDR_CHECK(ndr_push_align(ndr, 5));
2412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2413 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2415 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2417 if (ndr_flags & NDR_BUFFERS) {
2418 if (r->identifier) {
2419 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2421 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2423 return NDR_ERR_SUCCESS;
2426 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2428 uint32_t _ptr_identifier;
2429 TALLOC_CTX *_mem_save_identifier_0;
2430 if (ndr_flags & NDR_SCALARS) {
2431 NDR_CHECK(ndr_pull_align(ndr, 5));
2432 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2433 if (_ptr_identifier) {
2434 NDR_PULL_ALLOC(ndr, r->identifier);
2435 } else {
2436 r->identifier = NULL;
2438 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2439 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2440 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2442 if (ndr_flags & NDR_BUFFERS) {
2443 if (r->identifier) {
2444 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2445 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2446 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2449 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2451 return NDR_ERR_SUCCESS;
2454 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2456 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2457 ndr->depth++;
2458 ndr_print_ptr(ndr, "identifier", r->identifier);
2459 ndr->depth++;
2460 if (r->identifier) {
2461 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2463 ndr->depth--;
2464 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2465 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2466 ndr->depth--;
2469 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2471 if (ndr_flags & NDR_SCALARS) {
2472 NDR_CHECK(ndr_push_align(ndr, 8));
2473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2474 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2475 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2476 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2477 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2479 if (ndr_flags & NDR_BUFFERS) {
2481 return NDR_ERR_SUCCESS;
2484 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2486 if (ndr_flags & NDR_SCALARS) {
2487 NDR_CHECK(ndr_pull_align(ndr, 8));
2488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2489 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2490 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2491 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2492 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2494 if (ndr_flags & NDR_BUFFERS) {
2496 return NDR_ERR_SUCCESS;
2499 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2501 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2502 ndr->depth++;
2503 ndr_print_uint32(ndr, "version", r->version);
2504 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2505 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2506 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2507 ndr->depth--;
2510 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2512 uint32_t cntr_meta_data_0;
2513 if (ndr_flags & NDR_SCALARS) {
2514 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2515 NDR_CHECK(ndr_push_align(ndr, 8));
2516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2517 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2518 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2520 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2522 if (ndr_flags & NDR_BUFFERS) {
2524 return NDR_ERR_SUCCESS;
2527 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2529 uint32_t cntr_meta_data_0;
2530 TALLOC_CTX *_mem_save_meta_data_0;
2531 if (ndr_flags & NDR_SCALARS) {
2532 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2533 NDR_CHECK(ndr_pull_align(ndr, 8));
2534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2535 if (r->count > 1048576) {
2536 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2538 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2539 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2540 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2541 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2545 if (r->meta_data) {
2546 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2548 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2550 if (ndr_flags & NDR_BUFFERS) {
2552 return NDR_ERR_SUCCESS;
2555 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2557 uint32_t cntr_meta_data_0;
2558 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2559 ndr->depth++;
2560 ndr_print_uint32(ndr, "count", r->count);
2561 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2562 ndr->depth++;
2563 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2564 char *idx_0=NULL;
2565 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2566 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2567 free(idx_0);
2570 ndr->depth--;
2571 ndr->depth--;
2574 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2576 if (ndr_flags & NDR_SCALARS) {
2577 NDR_CHECK(ndr_push_align(ndr, 5));
2578 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2579 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2581 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2583 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2585 if (ndr_flags & NDR_BUFFERS) {
2586 if (r->next_object) {
2587 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2590 if (r->parent_object_guid) {
2591 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2593 if (r->meta_data_ctr) {
2594 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2597 return NDR_ERR_SUCCESS;
2600 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2602 uint32_t _ptr_next_object;
2603 TALLOC_CTX *_mem_save_next_object_0;
2604 uint32_t _ptr_parent_object_guid;
2605 TALLOC_CTX *_mem_save_parent_object_guid_0;
2606 uint32_t _ptr_meta_data_ctr;
2607 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2608 if (ndr_flags & NDR_SCALARS) {
2609 NDR_CHECK(ndr_pull_align(ndr, 5));
2610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2611 if (_ptr_next_object) {
2612 NDR_PULL_ALLOC(ndr, r->next_object);
2613 } else {
2614 r->next_object = NULL;
2616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2617 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2619 if (_ptr_parent_object_guid) {
2620 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2621 } else {
2622 r->parent_object_guid = NULL;
2624 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2625 if (_ptr_meta_data_ctr) {
2626 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2627 } else {
2628 r->meta_data_ctr = NULL;
2630 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2632 if (ndr_flags & NDR_BUFFERS) {
2633 if (r->next_object) {
2634 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2635 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2636 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2640 if (r->parent_object_guid) {
2641 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2642 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2643 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2646 if (r->meta_data_ctr) {
2647 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2648 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2649 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2650 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2653 return NDR_ERR_SUCCESS;
2656 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2658 if (ndr_flags & NDR_SCALARS) {
2659 NDR_CHECK(ndr_push_align(ndr, 8));
2660 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2661 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2662 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2663 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2665 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2667 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2670 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2672 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2674 if (ndr_flags & NDR_BUFFERS) {
2675 if (r->naming_context) {
2676 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2678 if (r->uptodateness_vector) {
2679 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2681 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2682 if (r->first_object) {
2683 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2686 return NDR_ERR_SUCCESS;
2689 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2691 uint32_t _ptr_naming_context;
2692 TALLOC_CTX *_mem_save_naming_context_0;
2693 uint32_t _ptr_uptodateness_vector;
2694 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2695 uint32_t _ptr_first_object;
2696 TALLOC_CTX *_mem_save_first_object_0;
2697 if (ndr_flags & NDR_SCALARS) {
2698 NDR_CHECK(ndr_pull_align(ndr, 8));
2699 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2700 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2702 if (_ptr_naming_context) {
2703 NDR_PULL_ALLOC(ndr, r->naming_context);
2704 } else {
2705 r->naming_context = NULL;
2707 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2710 if (_ptr_uptodateness_vector) {
2711 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2712 } else {
2713 r->uptodateness_vector = NULL;
2715 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2716 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2717 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2720 if (_ptr_first_object) {
2721 NDR_PULL_ALLOC(ndr, r->first_object);
2722 } else {
2723 r->first_object = NULL;
2725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2726 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2728 if (ndr_flags & NDR_BUFFERS) {
2729 if (r->naming_context) {
2730 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2731 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2732 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2735 if (r->uptodateness_vector) {
2736 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2737 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2738 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2742 if (r->first_object) {
2743 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2744 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2749 return NDR_ERR_SUCCESS;
2752 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2754 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2755 ndr->depth++;
2756 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2757 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2758 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2759 ndr->depth++;
2760 if (r->naming_context) {
2761 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2763 ndr->depth--;
2764 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2765 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2766 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2767 ndr->depth++;
2768 if (r->uptodateness_vector) {
2769 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2771 ndr->depth--;
2772 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2773 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2774 ndr_print_uint32(ndr, "object_count", r->object_count);
2775 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
2776 ndr_print_ptr(ndr, "first_object", r->first_object);
2777 ndr->depth++;
2778 if (r->first_object) {
2779 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2781 ndr->depth--;
2782 ndr_print_uint32(ndr, "more_data", r->more_data);
2783 ndr->depth--;
2786 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2788 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2791 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2794 return NDR_ERR_SUCCESS;
2797 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2799 uint32_t v;
2800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2801 *r = v;
2802 return NDR_ERR_SUCCESS;
2805 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2807 ndr_print_uint32(ndr, name, r);
2808 ndr->depth++;
2809 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2810 ndr->depth--;
2813 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2815 if (ndr_flags & NDR_SCALARS) {
2816 NDR_CHECK(ndr_push_align(ndr, 8));
2817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2818 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2819 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2820 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2821 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2822 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2823 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2825 if (ndr_flags & NDR_BUFFERS) {
2826 if (r->identifier) {
2827 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2829 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2831 return NDR_ERR_SUCCESS;
2834 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2836 uint32_t _ptr_identifier;
2837 TALLOC_CTX *_mem_save_identifier_0;
2838 if (ndr_flags & NDR_SCALARS) {
2839 NDR_CHECK(ndr_pull_align(ndr, 8));
2840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2841 if (_ptr_identifier) {
2842 NDR_PULL_ALLOC(ndr, r->identifier);
2843 } else {
2844 r->identifier = NULL;
2846 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2847 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2848 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2849 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2850 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2851 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2853 if (ndr_flags & NDR_BUFFERS) {
2854 if (r->identifier) {
2855 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2856 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2857 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2860 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2862 return NDR_ERR_SUCCESS;
2865 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2867 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2868 ndr->depth++;
2869 ndr_print_ptr(ndr, "identifier", r->identifier);
2870 ndr->depth++;
2871 if (r->identifier) {
2872 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2874 ndr->depth--;
2875 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2876 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2877 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2878 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2879 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2880 ndr->depth--;
2883 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2885 uint32_t cntr_linked_attributes_1;
2886 if (ndr_flags & NDR_SCALARS) {
2887 NDR_CHECK(ndr_push_align(ndr, 8));
2888 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2889 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2890 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2891 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2892 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2893 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2894 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2895 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2898 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2899 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2900 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2903 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2904 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2905 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2907 if (ndr_flags & NDR_BUFFERS) {
2908 if (r->naming_context) {
2909 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2911 if (r->uptodateness_vector) {
2912 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2914 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2915 if (r->first_object) {
2916 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2918 if (r->linked_attributes) {
2919 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2920 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2921 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2923 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2924 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2928 return NDR_ERR_SUCCESS;
2931 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2933 uint32_t _ptr_naming_context;
2934 TALLOC_CTX *_mem_save_naming_context_0;
2935 uint32_t _ptr_uptodateness_vector;
2936 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2937 uint32_t _ptr_first_object;
2938 TALLOC_CTX *_mem_save_first_object_0;
2939 uint32_t _ptr_linked_attributes;
2940 uint32_t cntr_linked_attributes_1;
2941 TALLOC_CTX *_mem_save_linked_attributes_0;
2942 TALLOC_CTX *_mem_save_linked_attributes_1;
2943 if (ndr_flags & NDR_SCALARS) {
2944 NDR_CHECK(ndr_pull_align(ndr, 8));
2945 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2946 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2947 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2948 if (_ptr_naming_context) {
2949 NDR_PULL_ALLOC(ndr, r->naming_context);
2950 } else {
2951 r->naming_context = NULL;
2953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2954 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2955 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2956 if (_ptr_uptodateness_vector) {
2957 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2958 } else {
2959 r->uptodateness_vector = NULL;
2961 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2962 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2964 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2965 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2966 if (_ptr_first_object) {
2967 NDR_PULL_ALLOC(ndr, r->first_object);
2968 } else {
2969 r->first_object = NULL;
2971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2975 if (r->linked_attributes_count > 1048576) {
2976 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2978 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2979 if (_ptr_linked_attributes) {
2980 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2981 } else {
2982 r->linked_attributes = NULL;
2984 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2985 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2987 if (ndr_flags & NDR_BUFFERS) {
2988 if (r->naming_context) {
2989 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2990 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2991 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2994 if (r->uptodateness_vector) {
2995 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2996 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3000 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3001 if (r->first_object) {
3002 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3003 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3004 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3007 if (r->linked_attributes) {
3008 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3009 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3010 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3011 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3012 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3013 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3014 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3017 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3023 if (r->linked_attributes) {
3024 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3027 return NDR_ERR_SUCCESS;
3030 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3032 uint32_t cntr_linked_attributes_1;
3033 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3034 ndr->depth++;
3035 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3036 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3037 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3038 ndr->depth++;
3039 if (r->naming_context) {
3040 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3042 ndr->depth--;
3043 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3044 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3045 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3046 ndr->depth++;
3047 if (r->uptodateness_vector) {
3048 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3050 ndr->depth--;
3051 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3052 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3053 ndr_print_uint32(ndr, "object_count", r->object_count);
3054 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
3055 ndr_print_ptr(ndr, "first_object", r->first_object);
3056 ndr->depth++;
3057 if (r->first_object) {
3058 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3060 ndr->depth--;
3061 ndr_print_uint32(ndr, "more_data", r->more_data);
3062 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3063 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3064 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3065 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3066 ndr->depth++;
3067 if (r->linked_attributes) {
3068 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3069 ndr->depth++;
3070 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3071 char *idx_1=NULL;
3072 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3073 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3074 free(idx_1);
3077 ndr->depth--;
3079 ndr->depth--;
3080 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3081 ndr->depth--;
3084 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3086 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3089 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3091 if (ndr_flags & NDR_SCALARS) {
3092 NDR_CHECK(ndr_push_align(ndr, 1));
3094 struct ndr_push *_ndr_ctr1;
3095 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3096 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3097 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3099 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3101 if (ndr_flags & NDR_BUFFERS) {
3103 return NDR_ERR_SUCCESS;
3106 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3108 if (ndr_flags & NDR_SCALARS) {
3109 NDR_CHECK(ndr_pull_align(ndr, 1));
3111 struct ndr_pull *_ndr_ctr1;
3112 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3113 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3114 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3116 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3118 if (ndr_flags & NDR_BUFFERS) {
3120 return NDR_ERR_SUCCESS;
3123 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3125 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3126 ndr->depth++;
3127 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3128 ndr->depth--;
3131 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3133 if (ndr_flags & NDR_SCALARS) {
3134 NDR_CHECK(ndr_push_align(ndr, 1));
3136 struct ndr_push *_ndr_ctr6;
3137 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3138 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3139 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3141 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3143 if (ndr_flags & NDR_BUFFERS) {
3145 return NDR_ERR_SUCCESS;
3148 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3150 if (ndr_flags & NDR_SCALARS) {
3151 NDR_CHECK(ndr_pull_align(ndr, 1));
3153 struct ndr_pull *_ndr_ctr6;
3154 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3155 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3156 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3158 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3160 if (ndr_flags & NDR_BUFFERS) {
3162 return NDR_ERR_SUCCESS;
3165 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3167 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3168 ndr->depth++;
3169 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3170 ndr->depth--;
3173 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3175 uint32_t _ptr_ts;
3176 TALLOC_CTX *_mem_save_ts_0;
3177 if (ndr_flags & NDR_SCALARS) {
3178 NDR_CHECK(ndr_pull_align(ndr, 5));
3179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3181 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3182 if (_ptr_ts) {
3183 NDR_PULL_ALLOC(ndr, r->ts);
3184 } else {
3185 r->ts = NULL;
3187 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3189 if (ndr_flags & NDR_BUFFERS) {
3190 if (r->ts) {
3191 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3192 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3194 struct ndr_pull *_ndr_ts;
3195 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3197 struct ndr_pull *_ndr_ts_compressed;
3198 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3199 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3200 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3202 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3207 return NDR_ERR_SUCCESS;
3210 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3212 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3213 ndr->depth++;
3214 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3215 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3216 ndr_print_ptr(ndr, "ts", r->ts);
3217 ndr->depth++;
3218 if (r->ts) {
3219 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3221 ndr->depth--;
3222 ndr->depth--;
3225 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3227 uint32_t _ptr_ts;
3228 TALLOC_CTX *_mem_save_ts_0;
3229 if (ndr_flags & NDR_SCALARS) {
3230 NDR_CHECK(ndr_pull_align(ndr, 5));
3231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3234 if (_ptr_ts) {
3235 NDR_PULL_ALLOC(ndr, r->ts);
3236 } else {
3237 r->ts = NULL;
3239 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3241 if (ndr_flags & NDR_BUFFERS) {
3242 if (r->ts) {
3243 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3244 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3246 struct ndr_pull *_ndr_ts;
3247 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3249 struct ndr_pull *_ndr_ts_compressed;
3250 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3251 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3252 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3254 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3259 return NDR_ERR_SUCCESS;
3262 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3264 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3265 ndr->depth++;
3266 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3267 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3268 ndr_print_ptr(ndr, "ts", r->ts);
3269 ndr->depth++;
3270 if (r->ts) {
3271 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3273 ndr->depth--;
3274 ndr->depth--;
3277 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3279 uint32_t _ptr_ts;
3280 TALLOC_CTX *_mem_save_ts_0;
3281 if (ndr_flags & NDR_SCALARS) {
3282 NDR_CHECK(ndr_pull_align(ndr, 5));
3283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3285 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3286 if (_ptr_ts) {
3287 NDR_PULL_ALLOC(ndr, r->ts);
3288 } else {
3289 r->ts = NULL;
3291 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3293 if (ndr_flags & NDR_BUFFERS) {
3294 if (r->ts) {
3295 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3296 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3298 struct ndr_pull *_ndr_ts;
3299 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3301 struct ndr_pull *_ndr_ts_compressed;
3302 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3303 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3304 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3306 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3311 return NDR_ERR_SUCCESS;
3314 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3316 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3317 ndr->depth++;
3318 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3319 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3320 ndr_print_ptr(ndr, "ts", r->ts);
3321 ndr->depth++;
3322 if (r->ts) {
3323 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3325 ndr->depth--;
3326 ndr->depth--;
3329 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3331 uint32_t _ptr_ts;
3332 TALLOC_CTX *_mem_save_ts_0;
3333 if (ndr_flags & NDR_SCALARS) {
3334 NDR_CHECK(ndr_pull_align(ndr, 5));
3335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3338 if (_ptr_ts) {
3339 NDR_PULL_ALLOC(ndr, r->ts);
3340 } else {
3341 r->ts = NULL;
3343 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3345 if (ndr_flags & NDR_BUFFERS) {
3346 if (r->ts) {
3347 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3348 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3350 struct ndr_pull *_ndr_ts;
3351 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3353 struct ndr_pull *_ndr_ts_compressed;
3354 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3355 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3356 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3358 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3363 return NDR_ERR_SUCCESS;
3366 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3368 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3369 ndr->depth++;
3370 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3371 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3372 ndr_print_ptr(ndr, "ts", r->ts);
3373 ndr->depth++;
3374 if (r->ts) {
3375 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3377 ndr->depth--;
3378 ndr->depth--;
3381 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3383 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3384 return NDR_ERR_SUCCESS;
3387 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3389 uint16_t v;
3390 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3391 *r = v;
3392 return NDR_ERR_SUCCESS;
3395 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3397 const char *val = NULL;
3399 switch (r) {
3400 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3401 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3403 ndr_print_enum(ndr, name, "ENUM", val, r);
3406 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3409 uint32_t _flags_save_UNION = ndr->flags;
3410 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3411 if (ndr_flags & NDR_SCALARS) {
3412 int level = ndr_push_get_switch_value(ndr, r);
3413 NDR_CHECK(ndr_push_union_align(ndr, 5));
3414 switch (level) {
3415 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3416 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3417 break; }
3419 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3420 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3421 break; }
3423 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3424 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3425 break; }
3427 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3428 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3429 break; }
3431 default:
3432 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3435 if (ndr_flags & NDR_BUFFERS) {
3436 int level = ndr_push_get_switch_value(ndr, r);
3437 switch (level) {
3438 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3439 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3440 break;
3442 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3443 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3444 break;
3446 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3447 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3448 break;
3450 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3451 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3452 break;
3454 default:
3455 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3458 ndr->flags = _flags_save_UNION;
3460 return NDR_ERR_SUCCESS;
3463 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3465 int level;
3467 uint32_t _flags_save_UNION = ndr->flags;
3468 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3469 level = ndr_pull_get_switch_value(ndr, r);
3470 if (ndr_flags & NDR_SCALARS) {
3471 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3472 switch (level) {
3473 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3474 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3475 break; }
3477 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3478 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3479 break; }
3481 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3482 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3483 break; }
3485 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3486 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3487 break; }
3489 default:
3490 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3493 if (ndr_flags & NDR_BUFFERS) {
3494 switch (level) {
3495 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3496 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3497 break;
3499 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3500 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3501 break;
3503 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3504 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3505 break;
3507 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3508 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3509 break;
3511 default:
3512 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3515 ndr->flags = _flags_save_UNION;
3517 return NDR_ERR_SUCCESS;
3520 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3522 int level;
3524 uint32_t _flags_save_UNION = ndr->flags;
3525 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3526 level = ndr_print_get_switch_value(ndr, r);
3527 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3528 switch (level) {
3529 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3530 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3531 break;
3533 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3534 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3535 break;
3537 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3538 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3539 break;
3541 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3542 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3543 break;
3545 default:
3546 ndr_print_bad_level(ndr, name, level);
3548 ndr->flags = _flags_save_UNION;
3552 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3554 if (ndr_flags & NDR_SCALARS) {
3555 NDR_CHECK(ndr_push_align(ndr, 5));
3556 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3557 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3559 if (ndr_flags & NDR_BUFFERS) {
3560 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3562 return NDR_ERR_SUCCESS;
3565 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3567 if (ndr_flags & NDR_SCALARS) {
3568 NDR_CHECK(ndr_pull_align(ndr, 5));
3569 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3570 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3572 if (ndr_flags & NDR_BUFFERS) {
3573 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3575 return NDR_ERR_SUCCESS;
3578 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3580 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3581 ndr->depth++;
3582 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3583 ndr->depth--;
3586 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3588 if (ndr_flags & NDR_SCALARS) {
3589 NDR_CHECK(ndr_push_align(ndr, 5));
3590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
3591 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3592 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3593 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3594 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3596 if (ndr_flags & NDR_BUFFERS) {
3597 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3599 return NDR_ERR_SUCCESS;
3602 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3604 if (ndr_flags & NDR_SCALARS) {
3605 NDR_CHECK(ndr_pull_align(ndr, 5));
3606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
3607 if (r->level > 6) {
3608 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3610 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3611 if (r->type < 2 || r->type > 3) {
3612 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3614 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3615 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3616 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3618 if (ndr_flags & NDR_BUFFERS) {
3619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3621 return NDR_ERR_SUCCESS;
3624 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3626 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3627 ndr->depth++;
3628 ndr_print_uint32(ndr, "level", r->level);
3629 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3630 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3631 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3632 ndr->depth--;
3635 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3637 if (ndr_flags & NDR_SCALARS) {
3638 int level = ndr_push_get_switch_value(ndr, r);
3639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3640 NDR_CHECK(ndr_push_union_align(ndr, 8));
3641 switch (level) {
3642 case 1: {
3643 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3644 break; }
3646 case 2: {
3647 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3648 break; }
3650 case 6: {
3651 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3652 break; }
3654 case 7: {
3655 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3656 break; }
3658 default:
3659 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3662 if (ndr_flags & NDR_BUFFERS) {
3663 int level = ndr_push_get_switch_value(ndr, r);
3664 switch (level) {
3665 case 1:
3666 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3667 break;
3669 case 2:
3670 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3671 break;
3673 case 6:
3674 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3675 break;
3677 case 7:
3678 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3679 break;
3681 default:
3682 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3685 return NDR_ERR_SUCCESS;
3688 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3690 int level;
3691 uint32_t _level;
3692 level = ndr_pull_get_switch_value(ndr, r);
3693 if (ndr_flags & NDR_SCALARS) {
3694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3695 if (_level != level) {
3696 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3698 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3699 switch (level) {
3700 case 1: {
3701 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3702 break; }
3704 case 2: {
3705 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3706 break; }
3708 case 6: {
3709 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3710 break; }
3712 case 7: {
3713 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3714 break; }
3716 default:
3717 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3720 if (ndr_flags & NDR_BUFFERS) {
3721 switch (level) {
3722 case 1:
3723 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3724 break;
3726 case 2:
3727 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3728 break;
3730 case 6:
3731 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3732 break;
3734 case 7:
3735 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3736 break;
3738 default:
3739 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3742 return NDR_ERR_SUCCESS;
3745 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3747 int level;
3748 level = ndr_print_get_switch_value(ndr, r);
3749 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3750 switch (level) {
3751 case 1:
3752 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3753 break;
3755 case 2:
3756 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3757 break;
3759 case 6:
3760 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3761 break;
3763 case 7:
3764 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3765 break;
3767 default:
3768 ndr_print_bad_level(ndr, name, level);
3772 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3774 if (ndr_flags & NDR_SCALARS) {
3775 NDR_CHECK(ndr_push_align(ndr, 5));
3776 if (r->naming_context == NULL) {
3777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3779 NDR_CHECK(ndr_push_ref_ptr(ndr));
3780 if (r->dest_dsa_dns_name == NULL) {
3781 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3783 NDR_CHECK(ndr_push_ref_ptr(ndr));
3784 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3785 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3786 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3788 if (ndr_flags & NDR_BUFFERS) {
3789 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3790 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3791 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3792 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3793 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dest_dsa_dns_name, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS), sizeof(uint8_t), CH_DOS));
3795 return NDR_ERR_SUCCESS;
3798 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3800 uint32_t _ptr_naming_context;
3801 TALLOC_CTX *_mem_save_naming_context_0;
3802 uint32_t _ptr_dest_dsa_dns_name;
3803 if (ndr_flags & NDR_SCALARS) {
3804 NDR_CHECK(ndr_pull_align(ndr, 5));
3805 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3806 if (_ptr_naming_context) {
3807 NDR_PULL_ALLOC(ndr, r->naming_context);
3808 } else {
3809 r->naming_context = NULL;
3811 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3812 if (_ptr_dest_dsa_dns_name) {
3813 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3814 } else {
3815 r->dest_dsa_dns_name = NULL;
3817 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3818 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3819 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3821 if (ndr_flags & NDR_BUFFERS) {
3822 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3823 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3824 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3826 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3827 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3828 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3829 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dest_dsa_dns_name), ndr_get_array_length(ndr, &r->dest_dsa_dns_name));
3831 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3832 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t), CH_DOS));
3834 return NDR_ERR_SUCCESS;
3837 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3839 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3840 ndr->depth++;
3841 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3842 ndr->depth++;
3843 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3844 ndr->depth--;
3845 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3846 ndr->depth++;
3847 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3848 ndr->depth--;
3849 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3850 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
3851 ndr->depth--;
3854 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3856 if (ndr_flags & NDR_SCALARS) {
3857 int level = ndr_push_get_switch_value(ndr, r);
3858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3859 NDR_CHECK(ndr_push_union_align(ndr, 5));
3860 switch (level) {
3861 case 1: {
3862 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3863 break; }
3865 default:
3866 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3869 if (ndr_flags & NDR_BUFFERS) {
3870 int level = ndr_push_get_switch_value(ndr, r);
3871 switch (level) {
3872 case 1:
3873 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3874 break;
3876 default:
3877 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3880 return NDR_ERR_SUCCESS;
3883 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3885 int level;
3886 uint32_t _level;
3887 level = ndr_pull_get_switch_value(ndr, r);
3888 if (ndr_flags & NDR_SCALARS) {
3889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3890 if (_level != level) {
3891 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3893 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3894 switch (level) {
3895 case 1: {
3896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3897 break; }
3899 default:
3900 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3903 if (ndr_flags & NDR_BUFFERS) {
3904 switch (level) {
3905 case 1:
3906 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3907 break;
3909 default:
3910 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3913 return NDR_ERR_SUCCESS;
3916 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3918 int level;
3919 level = ndr_print_get_switch_value(ndr, r);
3920 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3921 switch (level) {
3922 case 1:
3923 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3924 break;
3926 default:
3927 ndr_print_bad_level(ndr, name, level);
3931 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3933 if (ndr_flags & NDR_SCALARS) {
3934 NDR_CHECK(ndr_push_align(ndr, 5));
3935 if (r->naming_context == NULL) {
3936 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3938 NDR_CHECK(ndr_push_ref_ptr(ndr));
3939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3940 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3941 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3942 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3944 if (ndr_flags & NDR_BUFFERS) {
3945 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3946 if (r->source_dsa_address) {
3947 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3950 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
3953 return NDR_ERR_SUCCESS;
3956 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
3958 uint32_t _ptr_naming_context;
3959 TALLOC_CTX *_mem_save_naming_context_0;
3960 uint32_t _ptr_source_dsa_address;
3961 TALLOC_CTX *_mem_save_source_dsa_address_0;
3962 if (ndr_flags & NDR_SCALARS) {
3963 NDR_CHECK(ndr_pull_align(ndr, 5));
3964 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3965 if (_ptr_naming_context) {
3966 NDR_PULL_ALLOC(ndr, r->naming_context);
3967 } else {
3968 r->naming_context = NULL;
3970 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
3971 if (_ptr_source_dsa_address) {
3972 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
3973 } else {
3974 r->source_dsa_address = NULL;
3976 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3977 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3978 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3980 if (ndr_flags & NDR_BUFFERS) {
3981 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3982 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3983 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3984 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3985 if (r->source_dsa_address) {
3986 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
3987 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
3988 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
3989 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
3990 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
3991 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
3993 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
3994 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
3995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
3998 return NDR_ERR_SUCCESS;
4001 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4003 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4004 ndr->depth++;
4005 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4006 ndr->depth++;
4007 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4008 ndr->depth--;
4009 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4010 ndr->depth++;
4011 if (r->source_dsa_address) {
4012 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4014 ndr->depth--;
4015 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4016 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4017 ndr->depth--;
4020 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4022 if (ndr_flags & NDR_SCALARS) {
4023 NDR_CHECK(ndr_push_align(ndr, 5));
4024 if (r->naming_context == NULL) {
4025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4027 NDR_CHECK(ndr_push_ref_ptr(ndr));
4028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4031 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4032 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4033 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4035 if (ndr_flags & NDR_BUFFERS) {
4036 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4037 if (r->source_dsa_dn) {
4038 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4040 if (r->transport_dn) {
4041 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4043 if (r->source_dsa_address) {
4044 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4045 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4046 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4047 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4050 return NDR_ERR_SUCCESS;
4053 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4055 uint32_t _ptr_naming_context;
4056 TALLOC_CTX *_mem_save_naming_context_0;
4057 uint32_t _ptr_source_dsa_dn;
4058 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4059 uint32_t _ptr_transport_dn;
4060 TALLOC_CTX *_mem_save_transport_dn_0;
4061 uint32_t _ptr_source_dsa_address;
4062 TALLOC_CTX *_mem_save_source_dsa_address_0;
4063 if (ndr_flags & NDR_SCALARS) {
4064 NDR_CHECK(ndr_pull_align(ndr, 5));
4065 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4066 if (_ptr_naming_context) {
4067 NDR_PULL_ALLOC(ndr, r->naming_context);
4068 } else {
4069 r->naming_context = NULL;
4071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4072 if (_ptr_source_dsa_dn) {
4073 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4074 } else {
4075 r->source_dsa_dn = NULL;
4077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4078 if (_ptr_transport_dn) {
4079 NDR_PULL_ALLOC(ndr, r->transport_dn);
4080 } else {
4081 r->transport_dn = NULL;
4083 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4084 if (_ptr_source_dsa_address) {
4085 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4086 } else {
4087 r->source_dsa_address = NULL;
4089 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4090 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4091 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4093 if (ndr_flags & NDR_BUFFERS) {
4094 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4095 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4096 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4098 if (r->source_dsa_dn) {
4099 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4100 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4104 if (r->transport_dn) {
4105 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4106 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4110 if (r->source_dsa_address) {
4111 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4112 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4113 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4114 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4115 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4116 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4118 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4119 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4123 return NDR_ERR_SUCCESS;
4126 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4128 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4129 ndr->depth++;
4130 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4131 ndr->depth++;
4132 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4133 ndr->depth--;
4134 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4135 ndr->depth++;
4136 if (r->source_dsa_dn) {
4137 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4139 ndr->depth--;
4140 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4141 ndr->depth++;
4142 if (r->transport_dn) {
4143 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4145 ndr->depth--;
4146 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4147 ndr->depth++;
4148 if (r->source_dsa_address) {
4149 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4151 ndr->depth--;
4152 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4153 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4154 ndr->depth--;
4157 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4159 if (ndr_flags & NDR_SCALARS) {
4160 int level = ndr_push_get_switch_value(ndr, r);
4161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4162 NDR_CHECK(ndr_push_union_align(ndr, 5));
4163 switch (level) {
4164 case 1: {
4165 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4166 break; }
4168 case 2: {
4169 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4170 break; }
4172 default:
4173 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4176 if (ndr_flags & NDR_BUFFERS) {
4177 int level = ndr_push_get_switch_value(ndr, r);
4178 switch (level) {
4179 case 1:
4180 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4181 break;
4183 case 2:
4184 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4185 break;
4187 default:
4188 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4191 return NDR_ERR_SUCCESS;
4194 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4196 int level;
4197 uint32_t _level;
4198 level = ndr_pull_get_switch_value(ndr, r);
4199 if (ndr_flags & NDR_SCALARS) {
4200 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4201 if (_level != level) {
4202 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4204 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4205 switch (level) {
4206 case 1: {
4207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4208 break; }
4210 case 2: {
4211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4212 break; }
4214 default:
4215 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4218 if (ndr_flags & NDR_BUFFERS) {
4219 switch (level) {
4220 case 1:
4221 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4222 break;
4224 case 2:
4225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4226 break;
4228 default:
4229 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4232 return NDR_ERR_SUCCESS;
4235 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4237 int level;
4238 level = ndr_print_get_switch_value(ndr, r);
4239 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4240 switch (level) {
4241 case 1:
4242 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4243 break;
4245 case 2:
4246 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4247 break;
4249 default:
4250 ndr_print_bad_level(ndr, name, level);
4254 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4256 if (ndr_flags & NDR_SCALARS) {
4257 NDR_CHECK(ndr_push_align(ndr, 5));
4258 if (r->naming_context == NULL) {
4259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4261 NDR_CHECK(ndr_push_ref_ptr(ndr));
4262 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4263 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4264 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4266 if (ndr_flags & NDR_BUFFERS) {
4267 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4268 if (r->source_dsa_address) {
4269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4270 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4272 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4275 return NDR_ERR_SUCCESS;
4278 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4280 uint32_t _ptr_naming_context;
4281 TALLOC_CTX *_mem_save_naming_context_0;
4282 uint32_t _ptr_source_dsa_address;
4283 TALLOC_CTX *_mem_save_source_dsa_address_0;
4284 if (ndr_flags & NDR_SCALARS) {
4285 NDR_CHECK(ndr_pull_align(ndr, 5));
4286 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4287 if (_ptr_naming_context) {
4288 NDR_PULL_ALLOC(ndr, r->naming_context);
4289 } else {
4290 r->naming_context = NULL;
4292 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4293 if (_ptr_source_dsa_address) {
4294 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4295 } else {
4296 r->source_dsa_address = NULL;
4298 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4299 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4301 if (ndr_flags & NDR_BUFFERS) {
4302 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4303 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4304 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4306 if (r->source_dsa_address) {
4307 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4308 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4309 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4310 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4311 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4312 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4314 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4315 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4319 return NDR_ERR_SUCCESS;
4322 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4324 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4325 ndr->depth++;
4326 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4327 ndr->depth++;
4328 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4329 ndr->depth--;
4330 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4331 ndr->depth++;
4332 if (r->source_dsa_address) {
4333 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4335 ndr->depth--;
4336 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4337 ndr->depth--;
4340 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4342 if (ndr_flags & NDR_SCALARS) {
4343 int level = ndr_push_get_switch_value(ndr, r);
4344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4345 NDR_CHECK(ndr_push_union_align(ndr, 5));
4346 switch (level) {
4347 case 1: {
4348 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4349 break; }
4351 default:
4352 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4355 if (ndr_flags & NDR_BUFFERS) {
4356 int level = ndr_push_get_switch_value(ndr, r);
4357 switch (level) {
4358 case 1:
4359 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4360 break;
4362 default:
4363 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4366 return NDR_ERR_SUCCESS;
4369 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4371 int level;
4372 uint32_t _level;
4373 level = ndr_pull_get_switch_value(ndr, r);
4374 if (ndr_flags & NDR_SCALARS) {
4375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4376 if (_level != level) {
4377 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4379 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4380 switch (level) {
4381 case 1: {
4382 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4383 break; }
4385 default:
4386 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4389 if (ndr_flags & NDR_BUFFERS) {
4390 switch (level) {
4391 case 1:
4392 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4393 break;
4395 default:
4396 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4399 return NDR_ERR_SUCCESS;
4402 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4404 int level;
4405 level = ndr_print_get_switch_value(ndr, r);
4406 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4407 switch (level) {
4408 case 1:
4409 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4410 break;
4412 default:
4413 ndr_print_bad_level(ndr, name, level);
4417 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4419 if (ndr_flags & NDR_SCALARS) {
4420 NDR_CHECK(ndr_push_align(ndr, 5));
4421 if (r->naming_context == NULL) {
4422 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4424 NDR_CHECK(ndr_push_ref_ptr(ndr));
4425 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4426 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4427 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4430 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4431 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4433 if (ndr_flags & NDR_BUFFERS) {
4434 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4435 if (r->source_dra_address) {
4436 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4437 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4439 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4442 return NDR_ERR_SUCCESS;
4445 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4447 uint32_t _ptr_naming_context;
4448 TALLOC_CTX *_mem_save_naming_context_0;
4449 uint32_t _ptr_source_dra_address;
4450 TALLOC_CTX *_mem_save_source_dra_address_0;
4451 if (ndr_flags & NDR_SCALARS) {
4452 NDR_CHECK(ndr_pull_align(ndr, 5));
4453 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4454 if (_ptr_naming_context) {
4455 NDR_PULL_ALLOC(ndr, r->naming_context);
4456 } else {
4457 r->naming_context = NULL;
4459 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4461 if (_ptr_source_dra_address) {
4462 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4463 } else {
4464 r->source_dra_address = NULL;
4466 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4469 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4470 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4472 if (ndr_flags & NDR_BUFFERS) {
4473 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4474 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4475 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4477 if (r->source_dra_address) {
4478 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4479 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4480 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4481 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4482 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4483 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address));
4485 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4486 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16));
4487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4490 return NDR_ERR_SUCCESS;
4493 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4495 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4496 ndr->depth++;
4497 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4498 ndr->depth++;
4499 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4500 ndr->depth--;
4501 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4502 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4503 ndr->depth++;
4504 if (r->source_dra_address) {
4505 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4507 ndr->depth--;
4508 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4509 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4510 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4511 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4512 ndr->depth--;
4515 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4517 if (ndr_flags & NDR_SCALARS) {
4518 int level = ndr_push_get_switch_value(ndr, r);
4519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4520 NDR_CHECK(ndr_push_union_align(ndr, 5));
4521 switch (level) {
4522 case 1: {
4523 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4524 break; }
4526 default:
4527 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4530 if (ndr_flags & NDR_BUFFERS) {
4531 int level = ndr_push_get_switch_value(ndr, r);
4532 switch (level) {
4533 case 1:
4534 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4535 break;
4537 default:
4538 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4541 return NDR_ERR_SUCCESS;
4544 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4546 int level;
4547 uint32_t _level;
4548 level = ndr_pull_get_switch_value(ndr, r);
4549 if (ndr_flags & NDR_SCALARS) {
4550 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4551 if (_level != level) {
4552 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4554 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4555 switch (level) {
4556 case 1: {
4557 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4558 break; }
4560 default:
4561 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4564 if (ndr_flags & NDR_BUFFERS) {
4565 switch (level) {
4566 case 1:
4567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4568 break;
4570 default:
4571 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4574 return NDR_ERR_SUCCESS;
4577 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4579 int level;
4580 level = ndr_print_get_switch_value(ndr, r);
4581 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4582 switch (level) {
4583 case 1:
4584 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4585 break;
4587 default:
4588 ndr_print_bad_level(ndr, name, level);
4592 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4594 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4595 return NDR_ERR_SUCCESS;
4598 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4600 uint32_t v;
4601 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4602 *r = v;
4603 return NDR_ERR_SUCCESS;
4606 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4608 const char *val = NULL;
4610 switch (r) {
4611 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4612 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4613 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4614 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4615 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4616 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4617 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4619 ndr_print_enum(ndr, name, "ENUM", val, r);
4622 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4624 uint32_t cntr_info_array_1;
4625 uint32_t cntr_group_attrs_1;
4626 uint32_t cntr_sids_1;
4627 if (ndr_flags & NDR_SCALARS) {
4628 NDR_CHECK(ndr_push_align(ndr, 5));
4629 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4634 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4635 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4637 if (ndr_flags & NDR_BUFFERS) {
4638 if (r->info_array) {
4639 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4640 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4641 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4643 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4644 if (r->info_array[cntr_info_array_1]) {
4645 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4649 if (r->group_attrs) {
4650 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4651 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4652 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4655 if (r->sids) {
4656 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4657 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4660 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4661 if (r->sids[cntr_sids_1]) {
4662 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4667 return NDR_ERR_SUCCESS;
4670 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4672 uint32_t _ptr_info_array;
4673 uint32_t cntr_info_array_1;
4674 TALLOC_CTX *_mem_save_info_array_0;
4675 TALLOC_CTX *_mem_save_info_array_1;
4676 TALLOC_CTX *_mem_save_info_array_2;
4677 uint32_t _ptr_group_attrs;
4678 uint32_t cntr_group_attrs_1;
4679 TALLOC_CTX *_mem_save_group_attrs_0;
4680 TALLOC_CTX *_mem_save_group_attrs_1;
4681 uint32_t _ptr_sids;
4682 uint32_t cntr_sids_1;
4683 TALLOC_CTX *_mem_save_sids_0;
4684 TALLOC_CTX *_mem_save_sids_1;
4685 TALLOC_CTX *_mem_save_sids_2;
4686 if (ndr_flags & NDR_SCALARS) {
4687 NDR_CHECK(ndr_pull_align(ndr, 5));
4688 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4689 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4690 if (r->num_memberships > 10000) {
4691 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4694 if (r->num_sids > 10000) {
4695 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4697 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4698 if (_ptr_info_array) {
4699 NDR_PULL_ALLOC(ndr, r->info_array);
4700 } else {
4701 r->info_array = NULL;
4703 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4704 if (_ptr_group_attrs) {
4705 NDR_PULL_ALLOC(ndr, r->group_attrs);
4706 } else {
4707 r->group_attrs = NULL;
4709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4710 if (_ptr_sids) {
4711 NDR_PULL_ALLOC(ndr, r->sids);
4712 } else {
4713 r->sids = NULL;
4715 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4717 if (ndr_flags & NDR_BUFFERS) {
4718 if (r->info_array) {
4719 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4720 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4721 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4722 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4723 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4724 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4725 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4726 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4727 if (_ptr_info_array) {
4728 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4729 } else {
4730 r->info_array[cntr_info_array_1] = NULL;
4733 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4734 if (r->info_array[cntr_info_array_1]) {
4735 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4736 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4737 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4744 if (r->group_attrs) {
4745 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4746 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4747 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4748 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4749 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4750 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4751 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4752 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4754 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4757 if (r->sids) {
4758 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4759 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4760 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4761 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4762 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4763 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4764 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4765 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4766 if (_ptr_sids) {
4767 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4768 } else {
4769 r->sids[cntr_sids_1] = NULL;
4772 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4773 if (r->sids[cntr_sids_1]) {
4774 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4775 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4776 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4783 if (r->info_array) {
4784 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4786 if (r->group_attrs) {
4787 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4789 if (r->sids) {
4790 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4793 return NDR_ERR_SUCCESS;
4796 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4798 uint32_t cntr_info_array_1;
4799 uint32_t cntr_group_attrs_1;
4800 uint32_t cntr_sids_1;
4801 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4802 ndr->depth++;
4803 ndr_print_NTSTATUS(ndr, "status", r->status);
4804 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4805 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4806 ndr_print_ptr(ndr, "info_array", r->info_array);
4807 ndr->depth++;
4808 if (r->info_array) {
4809 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4810 ndr->depth++;
4811 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4812 char *idx_1=NULL;
4813 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4814 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4815 ndr->depth++;
4816 if (r->info_array[cntr_info_array_1]) {
4817 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4819 ndr->depth--;
4820 free(idx_1);
4823 ndr->depth--;
4825 ndr->depth--;
4826 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4827 ndr->depth++;
4828 if (r->group_attrs) {
4829 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4830 ndr->depth++;
4831 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4832 char *idx_1=NULL;
4833 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4834 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4835 free(idx_1);
4838 ndr->depth--;
4840 ndr->depth--;
4841 ndr_print_ptr(ndr, "sids", r->sids);
4842 ndr->depth++;
4843 if (r->sids) {
4844 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4845 ndr->depth++;
4846 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4847 char *idx_1=NULL;
4848 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4849 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4850 ndr->depth++;
4851 if (r->sids[cntr_sids_1]) {
4852 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4854 ndr->depth--;
4855 free(idx_1);
4858 ndr->depth--;
4860 ndr->depth--;
4861 ndr->depth--;
4864 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4866 if (ndr_flags & NDR_SCALARS) {
4867 int level = ndr_push_get_switch_value(ndr, r);
4868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4869 NDR_CHECK(ndr_push_union_align(ndr, 5));
4870 switch (level) {
4871 case 1: {
4872 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4873 break; }
4875 default:
4876 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4879 if (ndr_flags & NDR_BUFFERS) {
4880 int level = ndr_push_get_switch_value(ndr, r);
4881 switch (level) {
4882 case 1:
4883 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4884 break;
4886 default:
4887 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4890 return NDR_ERR_SUCCESS;
4893 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4895 int level;
4896 uint32_t _level;
4897 level = ndr_pull_get_switch_value(ndr, r);
4898 if (ndr_flags & NDR_SCALARS) {
4899 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4900 if (_level != level) {
4901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4903 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4904 switch (level) {
4905 case 1: {
4906 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4907 break; }
4909 default:
4910 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4913 if (ndr_flags & NDR_BUFFERS) {
4914 switch (level) {
4915 case 1:
4916 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4917 break;
4919 default:
4920 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4923 return NDR_ERR_SUCCESS;
4926 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4928 int level;
4929 level = ndr_print_get_switch_value(ndr, r);
4930 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4931 switch (level) {
4932 case 1:
4933 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4934 break;
4936 default:
4937 ndr_print_bad_level(ndr, name, level);
4941 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4943 uint32_t cntr_info_array_1;
4944 if (ndr_flags & NDR_SCALARS) {
4945 NDR_CHECK(ndr_push_align(ndr, 5));
4946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4947 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4949 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4950 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4951 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4953 if (ndr_flags & NDR_BUFFERS) {
4954 if (r->info_array) {
4955 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4956 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4959 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4960 if (r->info_array[cntr_info_array_1]) {
4961 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4965 if (r->domain) {
4966 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4969 return NDR_ERR_SUCCESS;
4972 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
4974 uint32_t _ptr_info_array;
4975 uint32_t cntr_info_array_1;
4976 TALLOC_CTX *_mem_save_info_array_0;
4977 TALLOC_CTX *_mem_save_info_array_1;
4978 TALLOC_CTX *_mem_save_info_array_2;
4979 uint32_t _ptr_domain;
4980 TALLOC_CTX *_mem_save_domain_0;
4981 if (ndr_flags & NDR_SCALARS) {
4982 NDR_CHECK(ndr_pull_align(ndr, 5));
4983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4984 if (r->count < 1 || r->count > 10000) {
4985 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4988 if (_ptr_info_array) {
4989 NDR_PULL_ALLOC(ndr, r->info_array);
4990 } else {
4991 r->info_array = NULL;
4993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4994 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
4995 if (r->type < 1 || r->type > 7) {
4996 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4999 if (_ptr_domain) {
5000 NDR_PULL_ALLOC(ndr, r->domain);
5001 } else {
5002 r->domain = NULL;
5004 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5006 if (ndr_flags & NDR_BUFFERS) {
5007 if (r->info_array) {
5008 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5009 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5010 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5011 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5012 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5013 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5014 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5016 if (_ptr_info_array) {
5017 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5018 } else {
5019 r->info_array[cntr_info_array_1] = NULL;
5022 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5023 if (r->info_array[cntr_info_array_1]) {
5024 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5025 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5033 if (r->domain) {
5034 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5035 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5039 if (r->info_array) {
5040 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5043 return NDR_ERR_SUCCESS;
5046 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5048 uint32_t cntr_info_array_1;
5049 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5050 ndr->depth++;
5051 ndr_print_uint32(ndr, "count", r->count);
5052 ndr_print_ptr(ndr, "info_array", r->info_array);
5053 ndr->depth++;
5054 if (r->info_array) {
5055 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5056 ndr->depth++;
5057 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5058 char *idx_1=NULL;
5059 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5060 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5061 ndr->depth++;
5062 if (r->info_array[cntr_info_array_1]) {
5063 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5065 ndr->depth--;
5066 free(idx_1);
5069 ndr->depth--;
5071 ndr->depth--;
5072 ndr_print_uint32(ndr, "flags", r->flags);
5073 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5074 ndr_print_ptr(ndr, "domain", r->domain);
5075 ndr->depth++;
5076 if (r->domain) {
5077 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5079 ndr->depth--;
5080 ndr->depth--;
5083 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5085 if (ndr_flags & NDR_SCALARS) {
5086 int level = ndr_push_get_switch_value(ndr, r);
5087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5088 NDR_CHECK(ndr_push_union_align(ndr, 5));
5089 switch (level) {
5090 case 1: {
5091 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5092 break; }
5094 default:
5095 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5098 if (ndr_flags & NDR_BUFFERS) {
5099 int level = ndr_push_get_switch_value(ndr, r);
5100 switch (level) {
5101 case 1:
5102 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5103 break;
5105 default:
5106 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5109 return NDR_ERR_SUCCESS;
5112 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5114 int level;
5115 uint32_t _level;
5116 level = ndr_pull_get_switch_value(ndr, r);
5117 if (ndr_flags & NDR_SCALARS) {
5118 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5119 if (_level != level) {
5120 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5122 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5123 switch (level) {
5124 case 1: {
5125 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5126 break; }
5128 default:
5129 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5132 if (ndr_flags & NDR_BUFFERS) {
5133 switch (level) {
5134 case 1:
5135 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5136 break;
5138 default:
5139 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5142 return NDR_ERR_SUCCESS;
5145 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5147 int level;
5148 level = ndr_print_get_switch_value(ndr, r);
5149 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5150 switch (level) {
5151 case 1:
5152 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5153 break;
5155 default:
5156 ndr_print_bad_level(ndr, name, level);
5160 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5163 return NDR_ERR_SUCCESS;
5166 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5168 uint32_t v;
5169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5170 *r = v;
5171 return NDR_ERR_SUCCESS;
5174 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5176 ndr_print_uint32(ndr, name, r);
5177 ndr->depth++;
5178 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r);
5179 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r);
5180 ndr->depth--;
5183 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5185 if (ndr_flags & NDR_SCALARS) {
5186 NDR_CHECK(ndr_push_align(ndr, 5));
5187 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
5188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length));
5189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5190 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5191 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5193 if (ndr_flags & NDR_BUFFERS) {
5194 if (r->restart_data) {
5195 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5196 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5199 return NDR_ERR_SUCCESS;
5202 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5204 uint32_t _ptr_restart_data;
5205 TALLOC_CTX *_mem_save_restart_data_0;
5206 if (ndr_flags & NDR_SCALARS) {
5207 NDR_CHECK(ndr_pull_align(ndr, 5));
5208 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
5209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length));
5210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5211 if (r->restart_length > 0x00A00000) {
5212 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5214 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5215 if (_ptr_restart_data) {
5216 NDR_PULL_ALLOC(ndr, r->restart_data);
5217 } else {
5218 r->restart_data = NULL;
5220 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5222 if (ndr_flags & NDR_BUFFERS) {
5223 if (r->restart_data) {
5224 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5225 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5226 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5227 NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data));
5228 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)));
5229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5231 if (r->restart_data) {
5232 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5235 return NDR_ERR_SUCCESS;
5238 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5240 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5241 ndr->depth++;
5242 ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags);
5243 ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length);
5244 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5245 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5246 ndr->depth++;
5247 if (r->restart_data) {
5248 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5250 ndr->depth--;
5251 ndr->depth--;
5254 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5256 if (ndr_flags & NDR_SCALARS) {
5257 int level = ndr_push_get_switch_value(ndr, r);
5258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5259 NDR_CHECK(ndr_push_union_align(ndr, 5));
5260 switch (level) {
5261 case 1: {
5262 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5263 break; }
5265 default:
5266 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5269 if (ndr_flags & NDR_BUFFERS) {
5270 int level = ndr_push_get_switch_value(ndr, r);
5271 switch (level) {
5272 case 1:
5273 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5274 break;
5276 default:
5277 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5280 return NDR_ERR_SUCCESS;
5283 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5285 int level;
5286 uint32_t _level;
5287 level = ndr_pull_get_switch_value(ndr, r);
5288 if (ndr_flags & NDR_SCALARS) {
5289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5290 if (_level != level) {
5291 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5293 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5294 switch (level) {
5295 case 1: {
5296 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5297 break; }
5299 default:
5300 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5303 if (ndr_flags & NDR_BUFFERS) {
5304 switch (level) {
5305 case 1:
5306 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5307 break;
5309 default:
5310 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5313 return NDR_ERR_SUCCESS;
5316 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5318 int level;
5319 level = ndr_print_get_switch_value(ndr, r);
5320 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5321 switch (level) {
5322 case 1:
5323 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5324 break;
5326 default:
5327 ndr_print_bad_level(ndr, name, level);
5331 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5333 if (ndr_flags & NDR_SCALARS) {
5334 NDR_CHECK(ndr_push_align(ndr, 8));
5335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length));
5337 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number));
5338 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time));
5339 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number));
5340 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time));
5341 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number));
5342 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time));
5343 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5344 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data));
5346 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5348 if (ndr_flags & NDR_BUFFERS) {
5349 if (r->restart_data) {
5350 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5351 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5353 if (r->log_data) {
5354 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length));
5355 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length));
5358 return NDR_ERR_SUCCESS;
5361 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5363 uint32_t _ptr_restart_data;
5364 TALLOC_CTX *_mem_save_restart_data_0;
5365 uint32_t _ptr_log_data;
5366 TALLOC_CTX *_mem_save_log_data_0;
5367 if (ndr_flags & NDR_SCALARS) {
5368 NDR_CHECK(ndr_pull_align(ndr, 8));
5369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5370 if (r->restart_length > 0x00A00000) {
5371 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5373 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length));
5374 if (r->log_length > 0x00A00000) {
5375 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5377 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number));
5378 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time));
5379 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number));
5380 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time));
5381 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number));
5382 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time));
5383 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5384 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5385 if (_ptr_restart_data) {
5386 NDR_PULL_ALLOC(ndr, r->restart_data);
5387 } else {
5388 r->restart_data = NULL;
5390 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data));
5391 if (_ptr_log_data) {
5392 NDR_PULL_ALLOC(ndr, r->log_data);
5393 } else {
5394 r->log_data = NULL;
5396 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5398 if (ndr_flags & NDR_BUFFERS) {
5399 if (r->restart_data) {
5400 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5401 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5402 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5403 NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data));
5404 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)));
5405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5407 if (r->log_data) {
5408 _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5409 NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0);
5410 NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data));
5411 NDR_PULL_ALLOC_N(ndr, r->log_data, ndr_get_array_size(ndr, &r->log_data));
5412 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, ndr_get_array_size(ndr, &r->log_data)));
5413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0);
5415 if (r->restart_data) {
5416 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5418 if (r->log_data) {
5419 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->log_data, r->log_length));
5422 return NDR_ERR_SUCCESS;
5425 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5427 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5428 ndr->depth++;
5429 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5430 ndr_print_uint32(ndr, "log_length", r->log_length);
5431 ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number);
5432 ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time);
5433 ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number);
5434 ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time);
5435 ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number);
5436 ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time);
5437 ndr_print_NTSTATUS(ndr, "status", r->status);
5438 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5439 ndr->depth++;
5440 if (r->restart_data) {
5441 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5443 ndr->depth--;
5444 ndr_print_ptr(ndr, "log_data", r->log_data);
5445 ndr->depth++;
5446 if (r->log_data) {
5447 ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length);
5449 ndr->depth--;
5450 ndr->depth--;
5453 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5455 if (ndr_flags & NDR_SCALARS) {
5456 int level = ndr_push_get_switch_value(ndr, r);
5457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5458 NDR_CHECK(ndr_push_union_align(ndr, 8));
5459 switch (level) {
5460 case 1: {
5461 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5462 break; }
5464 default:
5465 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5468 if (ndr_flags & NDR_BUFFERS) {
5469 int level = ndr_push_get_switch_value(ndr, r);
5470 switch (level) {
5471 case 1:
5472 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5473 break;
5475 default:
5476 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5479 return NDR_ERR_SUCCESS;
5482 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5484 int level;
5485 uint32_t _level;
5486 level = ndr_pull_get_switch_value(ndr, r);
5487 if (ndr_flags & NDR_SCALARS) {
5488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5489 if (_level != level) {
5490 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5492 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5493 switch (level) {
5494 case 1: {
5495 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5496 break; }
5498 default:
5499 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5502 if (ndr_flags & NDR_BUFFERS) {
5503 switch (level) {
5504 case 1:
5505 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5506 break;
5508 default:
5509 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5512 return NDR_ERR_SUCCESS;
5515 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5517 int level;
5518 level = ndr_print_get_switch_value(ndr, r);
5519 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5520 switch (level) {
5521 case 1:
5522 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5523 break;
5525 default:
5526 ndr_print_bad_level(ndr, name, level);
5530 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5532 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5533 return NDR_ERR_SUCCESS;
5536 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5538 uint32_t v;
5539 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5540 *r = v;
5541 return NDR_ERR_SUCCESS;
5544 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5546 const char *val = NULL;
5548 switch (r) {
5549 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5550 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5551 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5552 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5553 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5554 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5555 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5556 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5558 ndr_print_enum(ndr, name, "ENUM", val, r);
5561 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5563 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5564 return NDR_ERR_SUCCESS;
5567 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5569 uint32_t v;
5570 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5571 *r = v;
5572 return NDR_ERR_SUCCESS;
5575 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5577 const char *val = NULL;
5579 switch (r) {
5580 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5581 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5582 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5583 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5584 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5586 ndr_print_enum(ndr, name, "ENUM", val, r);
5589 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5591 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5592 return NDR_ERR_SUCCESS;
5595 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5597 uint32_t v;
5598 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5599 *r = v;
5600 return NDR_ERR_SUCCESS;
5603 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5605 const char *val = NULL;
5607 switch (r) {
5608 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5609 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5610 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5611 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5612 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5613 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5614 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5615 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5616 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5617 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5618 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5620 ndr_print_enum(ndr, name, "ENUM", val, r);
5623 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5625 if (ndr_flags & NDR_SCALARS) {
5626 NDR_CHECK(ndr_push_align(ndr, 5));
5627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5628 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5630 if (ndr_flags & NDR_BUFFERS) {
5631 if (r->str) {
5632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5635 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5638 return NDR_ERR_SUCCESS;
5641 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5643 uint32_t _ptr_str;
5644 TALLOC_CTX *_mem_save_str_0;
5645 if (ndr_flags & NDR_SCALARS) {
5646 NDR_CHECK(ndr_pull_align(ndr, 5));
5647 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5648 if (_ptr_str) {
5649 NDR_PULL_ALLOC(ndr, r->str);
5650 } else {
5651 r->str = NULL;
5653 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5655 if (ndr_flags & NDR_BUFFERS) {
5656 if (r->str) {
5657 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5658 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5659 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5660 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5661 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5662 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));
5664 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5665 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5666 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5669 return NDR_ERR_SUCCESS;
5672 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5674 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5675 ndr->depth++;
5676 ndr_print_ptr(ndr, "str", r->str);
5677 ndr->depth++;
5678 if (r->str) {
5679 ndr_print_string(ndr, "str", r->str);
5681 ndr->depth--;
5682 ndr->depth--;
5685 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5687 uint32_t cntr_names_1;
5688 if (ndr_flags & NDR_SCALARS) {
5689 NDR_CHECK(ndr_push_align(ndr, 5));
5690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5692 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5693 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5694 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5697 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5699 if (ndr_flags & NDR_BUFFERS) {
5700 if (r->names) {
5701 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5702 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5703 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5705 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5706 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5710 return NDR_ERR_SUCCESS;
5713 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5715 uint32_t _ptr_names;
5716 uint32_t cntr_names_1;
5717 TALLOC_CTX *_mem_save_names_0;
5718 TALLOC_CTX *_mem_save_names_1;
5719 if (ndr_flags & NDR_SCALARS) {
5720 NDR_CHECK(ndr_pull_align(ndr, 5));
5721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5723 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5724 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5725 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5727 if (r->count < 1 || r->count > 10000) {
5728 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5730 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5731 if (_ptr_names) {
5732 NDR_PULL_ALLOC(ndr, r->names);
5733 } else {
5734 r->names = NULL;
5736 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5738 if (ndr_flags & NDR_BUFFERS) {
5739 if (r->names) {
5740 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5741 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5742 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5743 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5744 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5745 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5746 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5747 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5749 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5750 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5752 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5755 if (r->names) {
5756 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5759 return NDR_ERR_SUCCESS;
5762 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5764 uint32_t cntr_names_1;
5765 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5766 ndr->depth++;
5767 ndr_print_uint32(ndr, "codepage", r->codepage);
5768 ndr_print_uint32(ndr, "language", r->language);
5769 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5770 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5771 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5772 ndr_print_uint32(ndr, "count", r->count);
5773 ndr_print_ptr(ndr, "names", r->names);
5774 ndr->depth++;
5775 if (r->names) {
5776 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5777 ndr->depth++;
5778 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5779 char *idx_1=NULL;
5780 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5781 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5782 free(idx_1);
5785 ndr->depth--;
5787 ndr->depth--;
5788 ndr->depth--;
5791 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5793 if (ndr_flags & NDR_SCALARS) {
5794 int level = ndr_push_get_switch_value(ndr, r);
5795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5796 NDR_CHECK(ndr_push_union_align(ndr, 5));
5797 switch (level) {
5798 case 1: {
5799 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5800 break; }
5802 default:
5803 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5806 if (ndr_flags & NDR_BUFFERS) {
5807 int level = ndr_push_get_switch_value(ndr, r);
5808 switch (level) {
5809 case 1:
5810 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5811 break;
5813 default:
5814 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5817 return NDR_ERR_SUCCESS;
5820 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5822 int level;
5823 uint32_t _level;
5824 level = ndr_pull_get_switch_value(ndr, r);
5825 if (ndr_flags & NDR_SCALARS) {
5826 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5827 if (_level != level) {
5828 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5830 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5831 switch (level) {
5832 case 1: {
5833 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5834 break; }
5836 default:
5837 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5840 if (ndr_flags & NDR_BUFFERS) {
5841 switch (level) {
5842 case 1:
5843 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5844 break;
5846 default:
5847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5850 return NDR_ERR_SUCCESS;
5853 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5855 int level;
5856 level = ndr_print_get_switch_value(ndr, r);
5857 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5858 switch (level) {
5859 case 1:
5860 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5861 break;
5863 default:
5864 ndr_print_bad_level(ndr, name, level);
5868 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5870 if (ndr_flags & NDR_SCALARS) {
5871 NDR_CHECK(ndr_push_align(ndr, 5));
5872 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5873 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5874 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5875 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5877 if (ndr_flags & NDR_BUFFERS) {
5878 if (r->dns_domain_name) {
5879 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5880 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5881 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5882 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));
5884 if (r->result_name) {
5885 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5886 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5887 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5888 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5891 return NDR_ERR_SUCCESS;
5894 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5896 uint32_t _ptr_dns_domain_name;
5897 TALLOC_CTX *_mem_save_dns_domain_name_0;
5898 uint32_t _ptr_result_name;
5899 TALLOC_CTX *_mem_save_result_name_0;
5900 if (ndr_flags & NDR_SCALARS) {
5901 NDR_CHECK(ndr_pull_align(ndr, 5));
5902 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5903 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5904 if (_ptr_dns_domain_name) {
5905 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5906 } else {
5907 r->dns_domain_name = NULL;
5909 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5910 if (_ptr_result_name) {
5911 NDR_PULL_ALLOC(ndr, r->result_name);
5912 } else {
5913 r->result_name = NULL;
5915 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5917 if (ndr_flags & NDR_BUFFERS) {
5918 if (r->dns_domain_name) {
5919 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5920 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5921 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5922 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5923 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5924 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));
5926 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5927 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));
5928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5930 if (r->result_name) {
5931 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5932 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5933 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5934 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5935 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5936 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));
5938 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5939 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5943 return NDR_ERR_SUCCESS;
5946 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5948 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5949 ndr->depth++;
5950 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5951 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5952 ndr->depth++;
5953 if (r->dns_domain_name) {
5954 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5956 ndr->depth--;
5957 ndr_print_ptr(ndr, "result_name", r->result_name);
5958 ndr->depth++;
5959 if (r->result_name) {
5960 ndr_print_string(ndr, "result_name", r->result_name);
5962 ndr->depth--;
5963 ndr->depth--;
5966 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5968 uint32_t cntr_array_1;
5969 if (ndr_flags & NDR_SCALARS) {
5970 NDR_CHECK(ndr_push_align(ndr, 5));
5971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5973 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5975 if (ndr_flags & NDR_BUFFERS) {
5976 if (r->array) {
5977 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5978 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5979 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5981 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5982 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5986 return NDR_ERR_SUCCESS;
5989 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5991 uint32_t _ptr_array;
5992 uint32_t cntr_array_1;
5993 TALLOC_CTX *_mem_save_array_0;
5994 TALLOC_CTX *_mem_save_array_1;
5995 if (ndr_flags & NDR_SCALARS) {
5996 NDR_CHECK(ndr_pull_align(ndr, 5));
5997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
5999 if (_ptr_array) {
6000 NDR_PULL_ALLOC(ndr, r->array);
6001 } else {
6002 r->array = NULL;
6004 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6006 if (ndr_flags & NDR_BUFFERS) {
6007 if (r->array) {
6008 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6009 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6010 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6011 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6012 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6013 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6014 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6015 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6017 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6018 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6023 if (r->array) {
6024 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6027 return NDR_ERR_SUCCESS;
6030 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6032 uint32_t cntr_array_1;
6033 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6034 ndr->depth++;
6035 ndr_print_uint32(ndr, "count", r->count);
6036 ndr_print_ptr(ndr, "array", r->array);
6037 ndr->depth++;
6038 if (r->array) {
6039 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6040 ndr->depth++;
6041 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6042 char *idx_1=NULL;
6043 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6044 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6045 free(idx_1);
6048 ndr->depth--;
6050 ndr->depth--;
6051 ndr->depth--;
6054 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6056 if (ndr_flags & NDR_SCALARS) {
6057 int level = ndr_push_get_switch_value(ndr, r);
6058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6059 NDR_CHECK(ndr_push_union_align(ndr, 5));
6060 switch (level) {
6061 case 1: {
6062 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6063 break; }
6065 default:
6066 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6069 if (ndr_flags & NDR_BUFFERS) {
6070 int level = ndr_push_get_switch_value(ndr, r);
6071 switch (level) {
6072 case 1:
6073 if (r->ctr1) {
6074 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6076 break;
6078 default:
6079 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6082 return NDR_ERR_SUCCESS;
6085 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6087 int level;
6088 uint32_t _level;
6089 TALLOC_CTX *_mem_save_ctr1_0;
6090 level = ndr_pull_get_switch_value(ndr, r);
6091 if (ndr_flags & NDR_SCALARS) {
6092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6093 if (_level != level) {
6094 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6096 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6097 switch (level) {
6098 case 1: {
6099 uint32_t _ptr_ctr1;
6100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6101 if (_ptr_ctr1) {
6102 NDR_PULL_ALLOC(ndr, r->ctr1);
6103 } else {
6104 r->ctr1 = NULL;
6106 break; }
6108 default:
6109 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6112 if (ndr_flags & NDR_BUFFERS) {
6113 switch (level) {
6114 case 1:
6115 if (r->ctr1) {
6116 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6117 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6118 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6121 break;
6123 default:
6124 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6127 return NDR_ERR_SUCCESS;
6130 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6132 int level;
6133 level = ndr_print_get_switch_value(ndr, r);
6134 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6135 switch (level) {
6136 case 1:
6137 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6138 ndr->depth++;
6139 if (r->ctr1) {
6140 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6142 ndr->depth--;
6143 break;
6145 default:
6146 ndr_print_bad_level(ndr, name, level);
6150 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6152 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6153 return NDR_ERR_SUCCESS;
6156 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6158 uint32_t v;
6159 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6160 *r = v;
6161 return NDR_ERR_SUCCESS;
6164 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6166 const char *val = NULL;
6168 switch (r) {
6169 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6170 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6171 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6173 ndr_print_enum(ndr, name, "ENUM", val, r);
6176 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6178 uint32_t cntr_spn_names_1;
6179 if (ndr_flags & NDR_SCALARS) {
6180 NDR_CHECK(ndr_push_align(ndr, 5));
6181 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6183 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6185 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6186 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6188 if (ndr_flags & NDR_BUFFERS) {
6189 if (r->object_dn) {
6190 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6191 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6192 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6193 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6195 if (r->spn_names) {
6196 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6197 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6198 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6200 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6201 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6205 return NDR_ERR_SUCCESS;
6208 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6210 uint32_t _ptr_object_dn;
6211 TALLOC_CTX *_mem_save_object_dn_0;
6212 uint32_t _ptr_spn_names;
6213 uint32_t cntr_spn_names_1;
6214 TALLOC_CTX *_mem_save_spn_names_0;
6215 TALLOC_CTX *_mem_save_spn_names_1;
6216 if (ndr_flags & NDR_SCALARS) {
6217 NDR_CHECK(ndr_pull_align(ndr, 5));
6218 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6220 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6221 if (_ptr_object_dn) {
6222 NDR_PULL_ALLOC(ndr, r->object_dn);
6223 } else {
6224 r->object_dn = NULL;
6226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6227 if (r->count > 10000) {
6228 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6230 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6231 if (_ptr_spn_names) {
6232 NDR_PULL_ALLOC(ndr, r->spn_names);
6233 } else {
6234 r->spn_names = NULL;
6236 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6238 if (ndr_flags & NDR_BUFFERS) {
6239 if (r->object_dn) {
6240 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6241 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6242 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6243 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6244 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6245 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));
6247 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6248 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6251 if (r->spn_names) {
6252 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6253 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6254 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6255 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6256 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6257 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6258 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6259 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6261 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6262 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6267 if (r->spn_names) {
6268 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6271 return NDR_ERR_SUCCESS;
6274 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6276 uint32_t cntr_spn_names_1;
6277 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6278 ndr->depth++;
6279 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6280 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6281 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6282 ndr->depth++;
6283 if (r->object_dn) {
6284 ndr_print_string(ndr, "object_dn", r->object_dn);
6286 ndr->depth--;
6287 ndr_print_uint32(ndr, "count", r->count);
6288 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6289 ndr->depth++;
6290 if (r->spn_names) {
6291 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6292 ndr->depth++;
6293 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6294 char *idx_1=NULL;
6295 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6296 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6297 free(idx_1);
6300 ndr->depth--;
6302 ndr->depth--;
6303 ndr->depth--;
6306 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6308 if (ndr_flags & NDR_SCALARS) {
6309 int level = ndr_push_get_switch_value(ndr, r);
6310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6311 NDR_CHECK(ndr_push_union_align(ndr, 5));
6312 switch (level) {
6313 case 1: {
6314 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6315 break; }
6317 default:
6318 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6321 if (ndr_flags & NDR_BUFFERS) {
6322 int level = ndr_push_get_switch_value(ndr, r);
6323 switch (level) {
6324 case 1:
6325 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6326 break;
6328 default:
6329 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6332 return NDR_ERR_SUCCESS;
6335 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6337 int level;
6338 uint32_t _level;
6339 level = ndr_pull_get_switch_value(ndr, r);
6340 if (ndr_flags & NDR_SCALARS) {
6341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6342 if (_level != level) {
6343 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6345 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6346 switch (level) {
6347 case 1: {
6348 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6349 break; }
6351 default:
6352 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6355 if (ndr_flags & NDR_BUFFERS) {
6356 switch (level) {
6357 case 1:
6358 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6359 break;
6361 default:
6362 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6365 return NDR_ERR_SUCCESS;
6368 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6370 int level;
6371 level = ndr_print_get_switch_value(ndr, r);
6372 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6373 switch (level) {
6374 case 1:
6375 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6376 break;
6378 default:
6379 ndr_print_bad_level(ndr, name, level);
6383 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6385 if (ndr_flags & NDR_SCALARS) {
6386 NDR_CHECK(ndr_push_align(ndr, 4));
6387 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6388 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6390 if (ndr_flags & NDR_BUFFERS) {
6392 return NDR_ERR_SUCCESS;
6395 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6397 if (ndr_flags & NDR_SCALARS) {
6398 NDR_CHECK(ndr_pull_align(ndr, 4));
6399 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6400 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6402 if (ndr_flags & NDR_BUFFERS) {
6404 return NDR_ERR_SUCCESS;
6407 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6409 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6410 ndr->depth++;
6411 ndr_print_WERROR(ndr, "status", r->status);
6412 ndr->depth--;
6415 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6417 if (ndr_flags & NDR_SCALARS) {
6418 int level = ndr_push_get_switch_value(ndr, r);
6419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6420 NDR_CHECK(ndr_push_union_align(ndr, 4));
6421 switch (level) {
6422 case 1: {
6423 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6424 break; }
6426 default:
6427 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6430 if (ndr_flags & NDR_BUFFERS) {
6431 int level = ndr_push_get_switch_value(ndr, r);
6432 switch (level) {
6433 case 1:
6434 break;
6436 default:
6437 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6440 return NDR_ERR_SUCCESS;
6443 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6445 int level;
6446 uint32_t _level;
6447 level = ndr_pull_get_switch_value(ndr, r);
6448 if (ndr_flags & NDR_SCALARS) {
6449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6450 if (_level != level) {
6451 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6453 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6454 switch (level) {
6455 case 1: {
6456 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6457 break; }
6459 default:
6460 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6463 if (ndr_flags & NDR_BUFFERS) {
6464 switch (level) {
6465 case 1:
6466 break;
6468 default:
6469 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6472 return NDR_ERR_SUCCESS;
6475 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6477 int level;
6478 level = ndr_print_get_switch_value(ndr, r);
6479 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6480 switch (level) {
6481 case 1:
6482 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6483 break;
6485 default:
6486 ndr_print_bad_level(ndr, name, level);
6490 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6492 if (ndr_flags & NDR_SCALARS) {
6493 NDR_CHECK(ndr_push_align(ndr, 5));
6494 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6497 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6499 if (ndr_flags & NDR_BUFFERS) {
6500 if (r->server_dn) {
6501 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6502 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6503 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6504 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6506 if (r->domain_dn) {
6507 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6509 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6510 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6513 return NDR_ERR_SUCCESS;
6516 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6518 uint32_t _ptr_server_dn;
6519 TALLOC_CTX *_mem_save_server_dn_0;
6520 uint32_t _ptr_domain_dn;
6521 TALLOC_CTX *_mem_save_domain_dn_0;
6522 if (ndr_flags & NDR_SCALARS) {
6523 NDR_CHECK(ndr_pull_align(ndr, 5));
6524 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6525 if (_ptr_server_dn) {
6526 NDR_PULL_ALLOC(ndr, r->server_dn);
6527 } else {
6528 r->server_dn = NULL;
6530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6531 if (_ptr_domain_dn) {
6532 NDR_PULL_ALLOC(ndr, r->domain_dn);
6533 } else {
6534 r->domain_dn = NULL;
6536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6537 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6539 if (ndr_flags & NDR_BUFFERS) {
6540 if (r->server_dn) {
6541 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6542 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6543 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6544 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6545 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6546 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));
6548 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6549 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6552 if (r->domain_dn) {
6553 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6554 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6555 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6556 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6557 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6558 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));
6560 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6561 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6565 return NDR_ERR_SUCCESS;
6568 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6570 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6571 ndr->depth++;
6572 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6573 ndr->depth++;
6574 if (r->server_dn) {
6575 ndr_print_string(ndr, "server_dn", r->server_dn);
6577 ndr->depth--;
6578 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6579 ndr->depth++;
6580 if (r->domain_dn) {
6581 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6583 ndr->depth--;
6584 ndr_print_uint32(ndr, "commit", r->commit);
6585 ndr->depth--;
6588 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6590 if (ndr_flags & NDR_SCALARS) {
6591 int level = ndr_push_get_switch_value(ndr, r);
6592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6593 NDR_CHECK(ndr_push_union_align(ndr, 5));
6594 switch (level) {
6595 case 1: {
6596 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6597 break; }
6599 default:
6600 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6603 if (ndr_flags & NDR_BUFFERS) {
6604 int level = ndr_push_get_switch_value(ndr, r);
6605 switch (level) {
6606 case 1:
6607 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6608 break;
6610 default:
6611 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6614 return NDR_ERR_SUCCESS;
6617 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6619 int level;
6620 uint32_t _level;
6621 level = ndr_pull_get_switch_value(ndr, r);
6622 if (ndr_flags & NDR_SCALARS) {
6623 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6624 if (_level != level) {
6625 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6627 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6628 switch (level) {
6629 case 1: {
6630 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6631 break; }
6633 default:
6634 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6637 if (ndr_flags & NDR_BUFFERS) {
6638 switch (level) {
6639 case 1:
6640 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6641 break;
6643 default:
6644 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6647 return NDR_ERR_SUCCESS;
6650 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6652 int level;
6653 level = ndr_print_get_switch_value(ndr, r);
6654 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6655 switch (level) {
6656 case 1:
6657 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6658 break;
6660 default:
6661 ndr_print_bad_level(ndr, name, level);
6665 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6667 if (ndr_flags & NDR_SCALARS) {
6668 NDR_CHECK(ndr_push_align(ndr, 4));
6669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6670 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6672 if (ndr_flags & NDR_BUFFERS) {
6674 return NDR_ERR_SUCCESS;
6677 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6679 if (ndr_flags & NDR_SCALARS) {
6680 NDR_CHECK(ndr_pull_align(ndr, 4));
6681 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6682 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6684 if (ndr_flags & NDR_BUFFERS) {
6686 return NDR_ERR_SUCCESS;
6689 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6691 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6692 ndr->depth++;
6693 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6694 ndr->depth--;
6697 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6699 if (ndr_flags & NDR_SCALARS) {
6700 int level = ndr_push_get_switch_value(ndr, r);
6701 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6702 NDR_CHECK(ndr_push_union_align(ndr, 4));
6703 switch (level) {
6704 case 1: {
6705 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6706 break; }
6708 default:
6709 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6712 if (ndr_flags & NDR_BUFFERS) {
6713 int level = ndr_push_get_switch_value(ndr, r);
6714 switch (level) {
6715 case 1:
6716 break;
6718 default:
6719 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6722 return NDR_ERR_SUCCESS;
6725 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6727 int level;
6728 uint32_t _level;
6729 level = ndr_pull_get_switch_value(ndr, r);
6730 if (ndr_flags & NDR_SCALARS) {
6731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6732 if (_level != level) {
6733 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6735 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6736 switch (level) {
6737 case 1: {
6738 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6739 break; }
6741 default:
6742 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6745 if (ndr_flags & NDR_BUFFERS) {
6746 switch (level) {
6747 case 1:
6748 break;
6750 default:
6751 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6754 return NDR_ERR_SUCCESS;
6757 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6759 int level;
6760 level = ndr_print_get_switch_value(ndr, r);
6761 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6762 switch (level) {
6763 case 1:
6764 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6765 break;
6767 default:
6768 ndr_print_bad_level(ndr, name, level);
6772 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6774 if (ndr_flags & NDR_SCALARS) {
6775 NDR_CHECK(ndr_push_align(ndr, 5));
6776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6777 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6778 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6780 if (ndr_flags & NDR_BUFFERS) {
6781 if (r->domain_name) {
6782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6785 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6788 return NDR_ERR_SUCCESS;
6791 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6793 uint32_t _ptr_domain_name;
6794 TALLOC_CTX *_mem_save_domain_name_0;
6795 if (ndr_flags & NDR_SCALARS) {
6796 NDR_CHECK(ndr_pull_align(ndr, 5));
6797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6798 if (_ptr_domain_name) {
6799 NDR_PULL_ALLOC(ndr, r->domain_name);
6800 } else {
6801 r->domain_name = NULL;
6803 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6804 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6806 if (ndr_flags & NDR_BUFFERS) {
6807 if (r->domain_name) {
6808 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6809 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6810 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6811 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6812 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6813 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));
6815 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6816 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6820 return NDR_ERR_SUCCESS;
6823 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6825 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6826 ndr->depth++;
6827 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6828 ndr->depth++;
6829 if (r->domain_name) {
6830 ndr_print_string(ndr, "domain_name", r->domain_name);
6832 ndr->depth--;
6833 ndr_print_int32(ndr, "level", r->level);
6834 ndr->depth--;
6837 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6839 if (ndr_flags & NDR_SCALARS) {
6840 int level = ndr_push_get_switch_value(ndr, r);
6841 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6842 NDR_CHECK(ndr_push_union_align(ndr, 5));
6843 switch (level) {
6844 case 1: {
6845 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6846 break; }
6848 default:
6849 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6852 if (ndr_flags & NDR_BUFFERS) {
6853 int level = ndr_push_get_switch_value(ndr, r);
6854 switch (level) {
6855 case 1:
6856 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6857 break;
6859 default:
6860 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6863 return NDR_ERR_SUCCESS;
6866 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6868 int level;
6869 int32_t _level;
6870 level = ndr_pull_get_switch_value(ndr, r);
6871 if (ndr_flags & NDR_SCALARS) {
6872 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6873 if (_level != level) {
6874 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6876 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6877 switch (level) {
6878 case 1: {
6879 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6880 break; }
6882 default:
6883 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6886 if (ndr_flags & NDR_BUFFERS) {
6887 switch (level) {
6888 case 1:
6889 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6890 break;
6892 default:
6893 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6896 return NDR_ERR_SUCCESS;
6899 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6901 int level;
6902 level = ndr_print_get_switch_value(ndr, r);
6903 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6904 switch (level) {
6905 case 1:
6906 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6907 break;
6909 default:
6910 ndr_print_bad_level(ndr, name, level);
6914 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6916 if (ndr_flags & NDR_SCALARS) {
6917 NDR_CHECK(ndr_push_align(ndr, 5));
6918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6920 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6921 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6925 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6927 if (ndr_flags & NDR_BUFFERS) {
6928 if (r->netbios_name) {
6929 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6930 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6931 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6932 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6934 if (r->dns_name) {
6935 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6936 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6937 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6938 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6940 if (r->site_name) {
6941 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6942 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6943 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6944 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6946 if (r->computer_dn) {
6947 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6950 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6952 if (r->server_dn) {
6953 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6954 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6955 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6956 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6959 return NDR_ERR_SUCCESS;
6962 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6964 uint32_t _ptr_netbios_name;
6965 TALLOC_CTX *_mem_save_netbios_name_0;
6966 uint32_t _ptr_dns_name;
6967 TALLOC_CTX *_mem_save_dns_name_0;
6968 uint32_t _ptr_site_name;
6969 TALLOC_CTX *_mem_save_site_name_0;
6970 uint32_t _ptr_computer_dn;
6971 TALLOC_CTX *_mem_save_computer_dn_0;
6972 uint32_t _ptr_server_dn;
6973 TALLOC_CTX *_mem_save_server_dn_0;
6974 if (ndr_flags & NDR_SCALARS) {
6975 NDR_CHECK(ndr_pull_align(ndr, 5));
6976 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6977 if (_ptr_netbios_name) {
6978 NDR_PULL_ALLOC(ndr, r->netbios_name);
6979 } else {
6980 r->netbios_name = NULL;
6982 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6983 if (_ptr_dns_name) {
6984 NDR_PULL_ALLOC(ndr, r->dns_name);
6985 } else {
6986 r->dns_name = NULL;
6988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6989 if (_ptr_site_name) {
6990 NDR_PULL_ALLOC(ndr, r->site_name);
6991 } else {
6992 r->site_name = NULL;
6994 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6995 if (_ptr_computer_dn) {
6996 NDR_PULL_ALLOC(ndr, r->computer_dn);
6997 } else {
6998 r->computer_dn = NULL;
7000 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7001 if (_ptr_server_dn) {
7002 NDR_PULL_ALLOC(ndr, r->server_dn);
7003 } else {
7004 r->server_dn = NULL;
7006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7008 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7010 if (ndr_flags & NDR_BUFFERS) {
7011 if (r->netbios_name) {
7012 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7013 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7014 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7015 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7016 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7017 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));
7019 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7020 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7023 if (r->dns_name) {
7024 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7025 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7026 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7027 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7028 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7029 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));
7031 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7032 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7035 if (r->site_name) {
7036 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7037 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7038 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7039 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7040 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7041 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));
7043 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7044 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7047 if (r->computer_dn) {
7048 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7049 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7050 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7051 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7052 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7053 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));
7055 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7056 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7059 if (r->server_dn) {
7060 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7061 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7062 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7063 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7064 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7065 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));
7067 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7068 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7072 return NDR_ERR_SUCCESS;
7075 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7077 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7078 ndr->depth++;
7079 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7080 ndr->depth++;
7081 if (r->netbios_name) {
7082 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7084 ndr->depth--;
7085 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7086 ndr->depth++;
7087 if (r->dns_name) {
7088 ndr_print_string(ndr, "dns_name", r->dns_name);
7090 ndr->depth--;
7091 ndr_print_ptr(ndr, "site_name", r->site_name);
7092 ndr->depth++;
7093 if (r->site_name) {
7094 ndr_print_string(ndr, "site_name", r->site_name);
7096 ndr->depth--;
7097 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7098 ndr->depth++;
7099 if (r->computer_dn) {
7100 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7102 ndr->depth--;
7103 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7104 ndr->depth++;
7105 if (r->server_dn) {
7106 ndr_print_string(ndr, "server_dn", r->server_dn);
7108 ndr->depth--;
7109 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7110 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7111 ndr->depth--;
7114 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7116 uint32_t cntr_array_1;
7117 if (ndr_flags & NDR_SCALARS) {
7118 NDR_CHECK(ndr_push_align(ndr, 5));
7119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7121 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7123 if (ndr_flags & NDR_BUFFERS) {
7124 if (r->array) {
7125 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7126 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7127 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7129 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7130 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7134 return NDR_ERR_SUCCESS;
7137 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7139 uint32_t _ptr_array;
7140 uint32_t cntr_array_1;
7141 TALLOC_CTX *_mem_save_array_0;
7142 TALLOC_CTX *_mem_save_array_1;
7143 if (ndr_flags & NDR_SCALARS) {
7144 NDR_CHECK(ndr_pull_align(ndr, 5));
7145 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7146 if (r->count > 10000) {
7147 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7149 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7150 if (_ptr_array) {
7151 NDR_PULL_ALLOC(ndr, r->array);
7152 } else {
7153 r->array = NULL;
7155 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7157 if (ndr_flags & NDR_BUFFERS) {
7158 if (r->array) {
7159 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7160 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7161 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7162 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7163 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7164 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7165 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7166 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7168 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7169 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7174 if (r->array) {
7175 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7178 return NDR_ERR_SUCCESS;
7181 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7183 uint32_t cntr_array_1;
7184 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7185 ndr->depth++;
7186 ndr_print_uint32(ndr, "count", r->count);
7187 ndr_print_ptr(ndr, "array", r->array);
7188 ndr->depth++;
7189 if (r->array) {
7190 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7191 ndr->depth++;
7192 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7193 char *idx_1=NULL;
7194 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7195 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7196 free(idx_1);
7199 ndr->depth--;
7201 ndr->depth--;
7202 ndr->depth--;
7205 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7207 if (ndr_flags & NDR_SCALARS) {
7208 NDR_CHECK(ndr_push_align(ndr, 5));
7209 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7213 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7214 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7219 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7220 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7221 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7222 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7223 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7225 if (ndr_flags & NDR_BUFFERS) {
7226 if (r->netbios_name) {
7227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7228 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7230 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7232 if (r->dns_name) {
7233 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7234 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7235 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7236 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7238 if (r->site_name) {
7239 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7240 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7241 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7242 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7244 if (r->site_dn) {
7245 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7246 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7247 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7248 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7250 if (r->computer_dn) {
7251 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7254 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7256 if (r->server_dn) {
7257 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7258 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7259 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7260 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7262 if (r->ntds_dn) {
7263 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7264 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7265 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7266 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7269 return NDR_ERR_SUCCESS;
7272 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7274 uint32_t _ptr_netbios_name;
7275 TALLOC_CTX *_mem_save_netbios_name_0;
7276 uint32_t _ptr_dns_name;
7277 TALLOC_CTX *_mem_save_dns_name_0;
7278 uint32_t _ptr_site_name;
7279 TALLOC_CTX *_mem_save_site_name_0;
7280 uint32_t _ptr_site_dn;
7281 TALLOC_CTX *_mem_save_site_dn_0;
7282 uint32_t _ptr_computer_dn;
7283 TALLOC_CTX *_mem_save_computer_dn_0;
7284 uint32_t _ptr_server_dn;
7285 TALLOC_CTX *_mem_save_server_dn_0;
7286 uint32_t _ptr_ntds_dn;
7287 TALLOC_CTX *_mem_save_ntds_dn_0;
7288 if (ndr_flags & NDR_SCALARS) {
7289 NDR_CHECK(ndr_pull_align(ndr, 5));
7290 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7291 if (_ptr_netbios_name) {
7292 NDR_PULL_ALLOC(ndr, r->netbios_name);
7293 } else {
7294 r->netbios_name = NULL;
7296 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7297 if (_ptr_dns_name) {
7298 NDR_PULL_ALLOC(ndr, r->dns_name);
7299 } else {
7300 r->dns_name = NULL;
7302 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7303 if (_ptr_site_name) {
7304 NDR_PULL_ALLOC(ndr, r->site_name);
7305 } else {
7306 r->site_name = NULL;
7308 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7309 if (_ptr_site_dn) {
7310 NDR_PULL_ALLOC(ndr, r->site_dn);
7311 } else {
7312 r->site_dn = NULL;
7314 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7315 if (_ptr_computer_dn) {
7316 NDR_PULL_ALLOC(ndr, r->computer_dn);
7317 } else {
7318 r->computer_dn = NULL;
7320 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7321 if (_ptr_server_dn) {
7322 NDR_PULL_ALLOC(ndr, r->server_dn);
7323 } else {
7324 r->server_dn = NULL;
7326 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7327 if (_ptr_ntds_dn) {
7328 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7329 } else {
7330 r->ntds_dn = NULL;
7332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7335 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7336 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7337 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7338 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7339 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7341 if (ndr_flags & NDR_BUFFERS) {
7342 if (r->netbios_name) {
7343 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7344 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7345 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7346 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7347 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7348 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));
7350 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7351 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7354 if (r->dns_name) {
7355 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7356 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7357 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7358 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7359 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7360 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));
7362 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7363 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7366 if (r->site_name) {
7367 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7368 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7369 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7370 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7371 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7372 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));
7374 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7375 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7376 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7378 if (r->site_dn) {
7379 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7380 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7381 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7382 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7383 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7384 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));
7386 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7387 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7390 if (r->computer_dn) {
7391 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7392 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7393 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7394 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7395 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7396 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));
7398 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7399 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7402 if (r->server_dn) {
7403 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7404 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7405 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7406 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7407 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7408 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));
7410 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7411 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7414 if (r->ntds_dn) {
7415 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7416 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7417 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7418 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7419 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7420 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));
7422 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7423 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7424 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7427 return NDR_ERR_SUCCESS;
7430 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7432 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7433 ndr->depth++;
7434 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7435 ndr->depth++;
7436 if (r->netbios_name) {
7437 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7439 ndr->depth--;
7440 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7441 ndr->depth++;
7442 if (r->dns_name) {
7443 ndr_print_string(ndr, "dns_name", r->dns_name);
7445 ndr->depth--;
7446 ndr_print_ptr(ndr, "site_name", r->site_name);
7447 ndr->depth++;
7448 if (r->site_name) {
7449 ndr_print_string(ndr, "site_name", r->site_name);
7451 ndr->depth--;
7452 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7453 ndr->depth++;
7454 if (r->site_dn) {
7455 ndr_print_string(ndr, "site_dn", r->site_dn);
7457 ndr->depth--;
7458 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7459 ndr->depth++;
7460 if (r->computer_dn) {
7461 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7463 ndr->depth--;
7464 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7465 ndr->depth++;
7466 if (r->server_dn) {
7467 ndr_print_string(ndr, "server_dn", r->server_dn);
7469 ndr->depth--;
7470 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7471 ndr->depth++;
7472 if (r->ntds_dn) {
7473 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7475 ndr->depth--;
7476 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7477 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7478 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7479 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7480 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7481 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7482 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7483 ndr->depth--;
7486 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7488 uint32_t cntr_array_1;
7489 if (ndr_flags & NDR_SCALARS) {
7490 NDR_CHECK(ndr_push_align(ndr, 5));
7491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7492 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7493 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7495 if (ndr_flags & NDR_BUFFERS) {
7496 if (r->array) {
7497 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7498 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7499 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7501 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7502 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7506 return NDR_ERR_SUCCESS;
7509 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7511 uint32_t _ptr_array;
7512 uint32_t cntr_array_1;
7513 TALLOC_CTX *_mem_save_array_0;
7514 TALLOC_CTX *_mem_save_array_1;
7515 if (ndr_flags & NDR_SCALARS) {
7516 NDR_CHECK(ndr_pull_align(ndr, 5));
7517 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7518 if (r->count > 10000) {
7519 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7521 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7522 if (_ptr_array) {
7523 NDR_PULL_ALLOC(ndr, r->array);
7524 } else {
7525 r->array = NULL;
7527 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7529 if (ndr_flags & NDR_BUFFERS) {
7530 if (r->array) {
7531 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7532 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7533 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7534 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7535 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7536 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7537 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7538 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7540 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7541 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7546 if (r->array) {
7547 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7550 return NDR_ERR_SUCCESS;
7553 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7555 uint32_t cntr_array_1;
7556 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7557 ndr->depth++;
7558 ndr_print_uint32(ndr, "count", r->count);
7559 ndr_print_ptr(ndr, "array", r->array);
7560 ndr->depth++;
7561 if (r->array) {
7562 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7563 ndr->depth++;
7564 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7565 char *idx_1=NULL;
7566 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7567 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7568 free(idx_1);
7571 ndr->depth--;
7573 ndr->depth--;
7574 ndr->depth--;
7577 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7579 if (ndr_flags & NDR_SCALARS) {
7580 NDR_CHECK(ndr_push_align(ndr, 5));
7581 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7586 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7587 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7592 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7593 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7594 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7595 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7596 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7598 if (ndr_flags & NDR_BUFFERS) {
7599 if (r->netbios_name) {
7600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7601 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7602 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7603 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7605 if (r->dns_name) {
7606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7609 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7611 if (r->site_name) {
7612 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7613 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7614 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7615 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7617 if (r->site_dn) {
7618 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7619 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7621 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7623 if (r->computer_dn) {
7624 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7625 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7626 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7627 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7629 if (r->server_dn) {
7630 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7631 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7633 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7635 if (r->ntds_dn) {
7636 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7637 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7638 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7639 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7642 return NDR_ERR_SUCCESS;
7645 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7647 uint32_t _ptr_netbios_name;
7648 TALLOC_CTX *_mem_save_netbios_name_0;
7649 uint32_t _ptr_dns_name;
7650 TALLOC_CTX *_mem_save_dns_name_0;
7651 uint32_t _ptr_site_name;
7652 TALLOC_CTX *_mem_save_site_name_0;
7653 uint32_t _ptr_site_dn;
7654 TALLOC_CTX *_mem_save_site_dn_0;
7655 uint32_t _ptr_computer_dn;
7656 TALLOC_CTX *_mem_save_computer_dn_0;
7657 uint32_t _ptr_server_dn;
7658 TALLOC_CTX *_mem_save_server_dn_0;
7659 uint32_t _ptr_ntds_dn;
7660 TALLOC_CTX *_mem_save_ntds_dn_0;
7661 if (ndr_flags & NDR_SCALARS) {
7662 NDR_CHECK(ndr_pull_align(ndr, 5));
7663 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7664 if (_ptr_netbios_name) {
7665 NDR_PULL_ALLOC(ndr, r->netbios_name);
7666 } else {
7667 r->netbios_name = NULL;
7669 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7670 if (_ptr_dns_name) {
7671 NDR_PULL_ALLOC(ndr, r->dns_name);
7672 } else {
7673 r->dns_name = NULL;
7675 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7676 if (_ptr_site_name) {
7677 NDR_PULL_ALLOC(ndr, r->site_name);
7678 } else {
7679 r->site_name = NULL;
7681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7682 if (_ptr_site_dn) {
7683 NDR_PULL_ALLOC(ndr, r->site_dn);
7684 } else {
7685 r->site_dn = NULL;
7687 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7688 if (_ptr_computer_dn) {
7689 NDR_PULL_ALLOC(ndr, r->computer_dn);
7690 } else {
7691 r->computer_dn = NULL;
7693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7694 if (_ptr_server_dn) {
7695 NDR_PULL_ALLOC(ndr, r->server_dn);
7696 } else {
7697 r->server_dn = NULL;
7699 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7700 if (_ptr_ntds_dn) {
7701 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7702 } else {
7703 r->ntds_dn = NULL;
7705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7709 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7710 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7711 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7712 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7713 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7715 if (ndr_flags & NDR_BUFFERS) {
7716 if (r->netbios_name) {
7717 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7718 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7719 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7720 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7721 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7722 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));
7724 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7725 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7728 if (r->dns_name) {
7729 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7730 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7731 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7732 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7733 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7734 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));
7736 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7737 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7740 if (r->site_name) {
7741 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7742 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7743 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7744 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7745 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7746 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));
7748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7749 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7752 if (r->site_dn) {
7753 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7754 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7755 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7756 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7757 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7758 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));
7760 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7761 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7762 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7764 if (r->computer_dn) {
7765 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7766 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7767 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7768 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7769 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7770 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));
7772 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7773 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7776 if (r->server_dn) {
7777 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7778 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7779 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7780 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7781 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7782 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));
7784 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7785 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7788 if (r->ntds_dn) {
7789 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7790 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7791 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7792 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7793 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7794 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));
7796 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7797 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7801 return NDR_ERR_SUCCESS;
7804 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7806 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7807 ndr->depth++;
7808 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7809 ndr->depth++;
7810 if (r->netbios_name) {
7811 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7813 ndr->depth--;
7814 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7815 ndr->depth++;
7816 if (r->dns_name) {
7817 ndr_print_string(ndr, "dns_name", r->dns_name);
7819 ndr->depth--;
7820 ndr_print_ptr(ndr, "site_name", r->site_name);
7821 ndr->depth++;
7822 if (r->site_name) {
7823 ndr_print_string(ndr, "site_name", r->site_name);
7825 ndr->depth--;
7826 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7827 ndr->depth++;
7828 if (r->site_dn) {
7829 ndr_print_string(ndr, "site_dn", r->site_dn);
7831 ndr->depth--;
7832 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7833 ndr->depth++;
7834 if (r->computer_dn) {
7835 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7837 ndr->depth--;
7838 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7839 ndr->depth++;
7840 if (r->server_dn) {
7841 ndr_print_string(ndr, "server_dn", r->server_dn);
7843 ndr->depth--;
7844 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7845 ndr->depth++;
7846 if (r->ntds_dn) {
7847 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7849 ndr->depth--;
7850 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7851 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7852 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7853 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7854 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7855 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7856 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7857 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7858 ndr->depth--;
7861 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7863 uint32_t cntr_array_1;
7864 if (ndr_flags & NDR_SCALARS) {
7865 NDR_CHECK(ndr_push_align(ndr, 5));
7866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7867 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7868 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7870 if (ndr_flags & NDR_BUFFERS) {
7871 if (r->array) {
7872 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7873 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7874 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7876 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7877 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7881 return NDR_ERR_SUCCESS;
7884 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7886 uint32_t _ptr_array;
7887 uint32_t cntr_array_1;
7888 TALLOC_CTX *_mem_save_array_0;
7889 TALLOC_CTX *_mem_save_array_1;
7890 if (ndr_flags & NDR_SCALARS) {
7891 NDR_CHECK(ndr_pull_align(ndr, 5));
7892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7893 if (r->count > 10000) {
7894 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7896 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7897 if (_ptr_array) {
7898 NDR_PULL_ALLOC(ndr, r->array);
7899 } else {
7900 r->array = NULL;
7902 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7904 if (ndr_flags & NDR_BUFFERS) {
7905 if (r->array) {
7906 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7907 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7908 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7909 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7910 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7911 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7912 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7913 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7915 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7916 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7921 if (r->array) {
7922 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7925 return NDR_ERR_SUCCESS;
7928 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7930 uint32_t cntr_array_1;
7931 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7932 ndr->depth++;
7933 ndr_print_uint32(ndr, "count", r->count);
7934 ndr_print_ptr(ndr, "array", r->array);
7935 ndr->depth++;
7936 if (r->array) {
7937 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7938 ndr->depth++;
7939 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7940 char *idx_1=NULL;
7941 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7942 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7943 free(idx_1);
7946 ndr->depth--;
7948 ndr->depth--;
7949 ndr->depth--;
7952 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7954 if (ndr_flags & NDR_SCALARS) {
7955 NDR_CHECK(ndr_push_align(ndr, 5));
7957 uint32_t _flags_save_ipv4address = ndr->flags;
7958 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7959 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7960 ndr->flags = _flags_save_ipv4address;
7962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7968 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7970 if (ndr_flags & NDR_BUFFERS) {
7971 if (r->client_account) {
7972 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7973 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7974 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7975 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7978 return NDR_ERR_SUCCESS;
7981 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7983 uint32_t _ptr_client_account;
7984 TALLOC_CTX *_mem_save_client_account_0;
7985 if (ndr_flags & NDR_SCALARS) {
7986 NDR_CHECK(ndr_pull_align(ndr, 5));
7988 uint32_t _flags_save_ipv4address = ndr->flags;
7989 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7990 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7991 ndr->flags = _flags_save_ipv4address;
7993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7996 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
7999 if (_ptr_client_account) {
8000 NDR_PULL_ALLOC(ndr, r->client_account);
8001 } else {
8002 r->client_account = NULL;
8004 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8006 if (ndr_flags & NDR_BUFFERS) {
8007 if (r->client_account) {
8008 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8009 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8010 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8011 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8012 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8013 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));
8015 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8016 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8020 return NDR_ERR_SUCCESS;
8023 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8025 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8026 ndr->depth++;
8027 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8028 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8029 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8030 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8031 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8032 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8033 ndr_print_ptr(ndr, "client_account", r->client_account);
8034 ndr->depth++;
8035 if (r->client_account) {
8036 ndr_print_string(ndr, "client_account", r->client_account);
8038 ndr->depth--;
8039 ndr->depth--;
8042 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8044 uint32_t cntr_array_1;
8045 if (ndr_flags & NDR_SCALARS) {
8046 NDR_CHECK(ndr_push_align(ndr, 5));
8047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8048 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8049 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8051 if (ndr_flags & NDR_BUFFERS) {
8052 if (r->array) {
8053 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8054 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8055 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8057 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8058 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8062 return NDR_ERR_SUCCESS;
8065 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8067 uint32_t _ptr_array;
8068 uint32_t cntr_array_1;
8069 TALLOC_CTX *_mem_save_array_0;
8070 TALLOC_CTX *_mem_save_array_1;
8071 if (ndr_flags & NDR_SCALARS) {
8072 NDR_CHECK(ndr_pull_align(ndr, 5));
8073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8074 if (r->count > 10000) {
8075 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8078 if (_ptr_array) {
8079 NDR_PULL_ALLOC(ndr, r->array);
8080 } else {
8081 r->array = NULL;
8083 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8085 if (ndr_flags & NDR_BUFFERS) {
8086 if (r->array) {
8087 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8088 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8089 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8090 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8091 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8092 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8093 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8094 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8096 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8097 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8102 if (r->array) {
8103 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8106 return NDR_ERR_SUCCESS;
8109 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8111 uint32_t cntr_array_1;
8112 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8113 ndr->depth++;
8114 ndr_print_uint32(ndr, "count", r->count);
8115 ndr_print_ptr(ndr, "array", r->array);
8116 ndr->depth++;
8117 if (r->array) {
8118 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8119 ndr->depth++;
8120 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8121 char *idx_1=NULL;
8122 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8123 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8124 free(idx_1);
8127 ndr->depth--;
8129 ndr->depth--;
8130 ndr->depth--;
8133 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8135 if (ndr_flags & NDR_SCALARS) {
8136 int level = ndr_push_get_switch_value(ndr, r);
8137 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8138 NDR_CHECK(ndr_push_union_align(ndr, 5));
8139 switch (level) {
8140 case DRSUAPI_DC_INFO_CTR_1: {
8141 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8142 break; }
8144 case DRSUAPI_DC_INFO_CTR_2: {
8145 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8146 break; }
8148 case DRSUAPI_DC_INFO_CTR_3: {
8149 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8150 break; }
8152 case DRSUAPI_DC_CONNECTION_CTR_01: {
8153 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8154 break; }
8156 default:
8157 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8160 if (ndr_flags & NDR_BUFFERS) {
8161 int level = ndr_push_get_switch_value(ndr, r);
8162 switch (level) {
8163 case DRSUAPI_DC_INFO_CTR_1:
8164 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8165 break;
8167 case DRSUAPI_DC_INFO_CTR_2:
8168 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8169 break;
8171 case DRSUAPI_DC_INFO_CTR_3:
8172 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8173 break;
8175 case DRSUAPI_DC_CONNECTION_CTR_01:
8176 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8177 break;
8179 default:
8180 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8183 return NDR_ERR_SUCCESS;
8186 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8188 int level;
8189 int32_t _level;
8190 level = ndr_pull_get_switch_value(ndr, r);
8191 if (ndr_flags & NDR_SCALARS) {
8192 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8193 if (_level != level) {
8194 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8196 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8197 switch (level) {
8198 case DRSUAPI_DC_INFO_CTR_1: {
8199 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8200 break; }
8202 case DRSUAPI_DC_INFO_CTR_2: {
8203 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8204 break; }
8206 case DRSUAPI_DC_INFO_CTR_3: {
8207 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8208 break; }
8210 case DRSUAPI_DC_CONNECTION_CTR_01: {
8211 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8212 break; }
8214 default:
8215 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8218 if (ndr_flags & NDR_BUFFERS) {
8219 switch (level) {
8220 case DRSUAPI_DC_INFO_CTR_1:
8221 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8222 break;
8224 case DRSUAPI_DC_INFO_CTR_2:
8225 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8226 break;
8228 case DRSUAPI_DC_INFO_CTR_3:
8229 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8230 break;
8232 case DRSUAPI_DC_CONNECTION_CTR_01:
8233 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8234 break;
8236 default:
8237 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8240 return NDR_ERR_SUCCESS;
8243 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8245 int level;
8246 level = ndr_print_get_switch_value(ndr, r);
8247 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8248 switch (level) {
8249 case DRSUAPI_DC_INFO_CTR_1:
8250 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8251 break;
8253 case DRSUAPI_DC_INFO_CTR_2:
8254 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8255 break;
8257 case DRSUAPI_DC_INFO_CTR_3:
8258 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8259 break;
8261 case DRSUAPI_DC_CONNECTION_CTR_01:
8262 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8263 break;
8265 default:
8266 ndr_print_bad_level(ndr, name, level);
8270 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8272 if (ndr_flags & NDR_SCALARS) {
8273 NDR_CHECK(ndr_push_align(ndr, 5));
8274 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8275 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8276 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8278 if (ndr_flags & NDR_BUFFERS) {
8279 if (r->next_object) {
8280 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8282 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8284 return NDR_ERR_SUCCESS;
8287 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8289 uint32_t _ptr_next_object;
8290 TALLOC_CTX *_mem_save_next_object_0;
8291 if (ndr_flags & NDR_SCALARS) {
8292 NDR_CHECK(ndr_pull_align(ndr, 5));
8293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8294 if (_ptr_next_object) {
8295 NDR_PULL_ALLOC(ndr, r->next_object);
8296 } else {
8297 r->next_object = NULL;
8299 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8300 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8302 if (ndr_flags & NDR_BUFFERS) {
8303 if (r->next_object) {
8304 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8305 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8306 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8311 return NDR_ERR_SUCCESS;
8314 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8316 if (ndr_flags & NDR_SCALARS) {
8317 NDR_CHECK(ndr_push_align(ndr, 5));
8318 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8319 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8321 if (ndr_flags & NDR_BUFFERS) {
8322 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8324 return NDR_ERR_SUCCESS;
8327 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8329 if (ndr_flags & NDR_SCALARS) {
8330 NDR_CHECK(ndr_pull_align(ndr, 5));
8331 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8332 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8334 if (ndr_flags & NDR_BUFFERS) {
8335 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8337 return NDR_ERR_SUCCESS;
8340 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8342 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8343 ndr->depth++;
8344 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8345 ndr->depth--;
8348 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8350 if (ndr_flags & NDR_SCALARS) {
8351 int level = ndr_push_get_switch_value(ndr, r);
8352 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8353 NDR_CHECK(ndr_push_union_align(ndr, 5));
8354 switch (level) {
8355 case 2: {
8356 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8357 break; }
8359 default:
8360 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8363 if (ndr_flags & NDR_BUFFERS) {
8364 int level = ndr_push_get_switch_value(ndr, r);
8365 switch (level) {
8366 case 2:
8367 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8368 break;
8370 default:
8371 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8374 return NDR_ERR_SUCCESS;
8377 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8379 int level;
8380 int32_t _level;
8381 level = ndr_pull_get_switch_value(ndr, r);
8382 if (ndr_flags & NDR_SCALARS) {
8383 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8384 if (_level != level) {
8385 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8387 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8388 switch (level) {
8389 case 2: {
8390 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8391 break; }
8393 default:
8394 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8397 if (ndr_flags & NDR_BUFFERS) {
8398 switch (level) {
8399 case 2:
8400 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8401 break;
8403 default:
8404 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8407 return NDR_ERR_SUCCESS;
8410 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8412 int level;
8413 level = ndr_print_get_switch_value(ndr, r);
8414 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8415 switch (level) {
8416 case 2:
8417 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8418 break;
8420 default:
8421 ndr_print_bad_level(ndr, name, level);
8425 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8427 if (ndr_flags & NDR_SCALARS) {
8428 NDR_CHECK(ndr_push_align(ndr, 4));
8429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8430 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8432 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8433 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8435 if (ndr_flags & NDR_BUFFERS) {
8437 return NDR_ERR_SUCCESS;
8440 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8442 if (ndr_flags & NDR_SCALARS) {
8443 NDR_CHECK(ndr_pull_align(ndr, 4));
8444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8445 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8447 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8448 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8450 if (ndr_flags & NDR_BUFFERS) {
8452 return NDR_ERR_SUCCESS;
8455 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8457 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8458 ndr->depth++;
8459 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8460 ndr_print_WERROR(ndr, "status", r->status);
8461 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8462 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8463 ndr->depth--;
8466 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8468 if (ndr_flags & NDR_SCALARS) {
8469 NDR_CHECK(ndr_push_align(ndr, 5));
8470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8471 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8472 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8474 if (ndr_flags & NDR_BUFFERS) {
8475 if (r->data) {
8476 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8477 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8480 return NDR_ERR_SUCCESS;
8483 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8485 uint32_t _ptr_data;
8486 TALLOC_CTX *_mem_save_data_0;
8487 if (ndr_flags & NDR_SCALARS) {
8488 NDR_CHECK(ndr_pull_align(ndr, 5));
8489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8490 if (r->size > 10485760) {
8491 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8493 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8494 if (_ptr_data) {
8495 NDR_PULL_ALLOC(ndr, r->data);
8496 } else {
8497 r->data = NULL;
8499 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8501 if (ndr_flags & NDR_BUFFERS) {
8502 if (r->data) {
8503 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8504 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8505 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8506 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8507 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8510 if (r->data) {
8511 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8514 return NDR_ERR_SUCCESS;
8517 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8519 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8520 ndr->depth++;
8521 ndr_print_uint32(ndr, "size", r->size);
8522 ndr_print_ptr(ndr, "data", r->data);
8523 ndr->depth++;
8524 if (r->data) {
8525 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8527 ndr->depth--;
8528 ndr->depth--;
8531 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8533 if (ndr_flags & NDR_SCALARS) {
8534 NDR_CHECK(ndr_push_align(ndr, 5));
8535 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8536 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8538 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8539 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8541 if (ndr_flags & NDR_BUFFERS) {
8542 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8544 return NDR_ERR_SUCCESS;
8547 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8549 if (ndr_flags & NDR_SCALARS) {
8550 NDR_CHECK(ndr_pull_align(ndr, 5));
8551 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8552 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8553 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8554 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8555 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8557 if (ndr_flags & NDR_BUFFERS) {
8558 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8560 return NDR_ERR_SUCCESS;
8563 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8565 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8566 ndr->depth++;
8567 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8568 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8569 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8570 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8571 ndr->depth--;
8574 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8576 if (ndr_flags & NDR_SCALARS) {
8577 NDR_CHECK(ndr_push_align(ndr, 5));
8578 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8579 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8580 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8582 if (ndr_flags & NDR_BUFFERS) {
8583 if (r->next) {
8584 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8586 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8588 return NDR_ERR_SUCCESS;
8591 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8593 uint32_t _ptr_next;
8594 TALLOC_CTX *_mem_save_next_0;
8595 if (ndr_flags & NDR_SCALARS) {
8596 NDR_CHECK(ndr_pull_align(ndr, 5));
8597 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8598 if (_ptr_next) {
8599 NDR_PULL_ALLOC(ndr, r->next);
8600 } else {
8601 r->next = NULL;
8603 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8604 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8606 if (ndr_flags & NDR_BUFFERS) {
8607 if (r->next) {
8608 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8609 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8610 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8613 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8615 return NDR_ERR_SUCCESS;
8618 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8620 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8621 ndr->depth++;
8622 ndr_print_ptr(ndr, "next", r->next);
8623 ndr->depth++;
8624 if (r->next) {
8625 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8627 ndr->depth--;
8628 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8629 ndr->depth--;
8632 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8634 if (ndr_flags & NDR_SCALARS) {
8635 NDR_CHECK(ndr_push_align(ndr, 5));
8636 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8637 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8638 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8639 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8641 if (ndr_flags & NDR_BUFFERS) {
8642 if (r->id) {
8643 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8645 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8647 return NDR_ERR_SUCCESS;
8650 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8652 uint32_t _ptr_id;
8653 TALLOC_CTX *_mem_save_id_0;
8654 if (ndr_flags & NDR_SCALARS) {
8655 NDR_CHECK(ndr_pull_align(ndr, 5));
8656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8657 if (_ptr_id) {
8658 NDR_PULL_ALLOC(ndr, r->id);
8659 } else {
8660 r->id = NULL;
8662 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8663 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8664 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8666 if (ndr_flags & NDR_BUFFERS) {
8667 if (r->id) {
8668 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8669 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8670 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8673 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8675 return NDR_ERR_SUCCESS;
8678 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8680 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8681 ndr->depth++;
8682 ndr_print_ptr(ndr, "id", r->id);
8683 ndr->depth++;
8684 if (r->id) {
8685 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8687 ndr->depth--;
8688 ndr_print_WERROR(ndr, "status", r->status);
8689 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8690 ndr->depth--;
8693 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8695 if (ndr_flags & NDR_SCALARS) {
8696 int level = ndr_push_get_switch_value(ndr, r);
8697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8698 NDR_CHECK(ndr_push_union_align(ndr, 5));
8699 switch (level) {
8700 case 1: {
8701 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8702 break; }
8704 case 4: {
8705 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8706 break; }
8708 case 5: {
8709 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8710 break; }
8712 case 6: {
8713 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8714 break; }
8716 case 7: {
8717 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8718 break; }
8720 default:
8721 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8724 if (ndr_flags & NDR_BUFFERS) {
8725 int level = ndr_push_get_switch_value(ndr, r);
8726 switch (level) {
8727 case 1:
8728 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8729 break;
8731 case 4:
8732 break;
8734 case 5:
8735 break;
8737 case 6:
8738 break;
8740 case 7:
8741 break;
8743 default:
8744 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8747 return NDR_ERR_SUCCESS;
8750 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8752 int level;
8753 uint32_t _level;
8754 level = ndr_pull_get_switch_value(ndr, r);
8755 if (ndr_flags & NDR_SCALARS) {
8756 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8757 if (_level != level) {
8758 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8760 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8761 switch (level) {
8762 case 1: {
8763 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8764 break; }
8766 case 4: {
8767 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8768 break; }
8770 case 5: {
8771 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8772 break; }
8774 case 6: {
8775 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8776 break; }
8778 case 7: {
8779 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8780 break; }
8782 default:
8783 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8786 if (ndr_flags & NDR_BUFFERS) {
8787 switch (level) {
8788 case 1:
8789 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8790 break;
8792 case 4:
8793 break;
8795 case 5:
8796 break;
8798 case 6:
8799 break;
8801 case 7:
8802 break;
8804 default:
8805 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8808 return NDR_ERR_SUCCESS;
8811 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8813 int level;
8814 level = ndr_print_get_switch_value(ndr, r);
8815 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8816 switch (level) {
8817 case 1:
8818 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8819 break;
8821 case 4:
8822 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8823 break;
8825 case 5:
8826 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8827 break;
8829 case 6:
8830 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8831 break;
8833 case 7:
8834 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8835 break;
8837 default:
8838 ndr_print_bad_level(ndr, name, level);
8842 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8844 if (ndr_flags & NDR_SCALARS) {
8845 NDR_CHECK(ndr_push_align(ndr, 5));
8846 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8848 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8849 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8851 if (ndr_flags & NDR_BUFFERS) {
8852 if (r->info) {
8853 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8854 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8857 return NDR_ERR_SUCCESS;
8860 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8862 uint32_t _ptr_info;
8863 TALLOC_CTX *_mem_save_info_0;
8864 if (ndr_flags & NDR_SCALARS) {
8865 NDR_CHECK(ndr_pull_align(ndr, 5));
8866 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8867 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8868 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8869 if (_ptr_info) {
8870 NDR_PULL_ALLOC(ndr, r->info);
8871 } else {
8872 r->info = NULL;
8874 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8876 if (ndr_flags & NDR_BUFFERS) {
8877 if (r->info) {
8878 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8879 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8880 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8881 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8885 return NDR_ERR_SUCCESS;
8888 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8890 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8891 ndr->depth++;
8892 ndr_print_WERROR(ndr, "status", r->status);
8893 ndr_print_uint32(ndr, "level", r->level);
8894 ndr_print_ptr(ndr, "info", r->info);
8895 ndr->depth++;
8896 if (r->info) {
8897 ndr_print_set_switch_value(ndr, r->info, r->level);
8898 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8900 ndr->depth--;
8901 ndr->depth--;
8904 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8906 if (ndr_flags & NDR_SCALARS) {
8907 int level = ndr_push_get_switch_value(ndr, r);
8908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8909 NDR_CHECK(ndr_push_union_align(ndr, 5));
8910 switch (level) {
8911 case 1: {
8912 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8913 break; }
8915 default:
8916 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8919 if (ndr_flags & NDR_BUFFERS) {
8920 int level = ndr_push_get_switch_value(ndr, r);
8921 switch (level) {
8922 case 1:
8923 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8924 break;
8926 default:
8927 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8930 return NDR_ERR_SUCCESS;
8933 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8935 int level;
8936 uint32_t _level;
8937 level = ndr_pull_get_switch_value(ndr, r);
8938 if (ndr_flags & NDR_SCALARS) {
8939 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8940 if (_level != level) {
8941 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8943 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8944 switch (level) {
8945 case 1: {
8946 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8947 break; }
8949 default:
8950 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8953 if (ndr_flags & NDR_BUFFERS) {
8954 switch (level) {
8955 case 1:
8956 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8957 break;
8959 default:
8960 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8963 return NDR_ERR_SUCCESS;
8966 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8968 int level;
8969 level = ndr_print_get_switch_value(ndr, r);
8970 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8971 switch (level) {
8972 case 1:
8973 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8974 break;
8976 default:
8977 ndr_print_bad_level(ndr, name, level);
8981 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8983 if (ndr_flags & NDR_SCALARS) {
8984 NDR_CHECK(ndr_push_align(ndr, 4));
8985 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8986 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8987 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8989 if (ndr_flags & NDR_BUFFERS) {
8990 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8992 return NDR_ERR_SUCCESS;
8995 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
8997 if (ndr_flags & NDR_SCALARS) {
8998 NDR_CHECK(ndr_pull_align(ndr, 4));
8999 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9000 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9001 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9003 if (ndr_flags & NDR_BUFFERS) {
9004 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9006 return NDR_ERR_SUCCESS;
9009 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9011 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9012 ndr->depth++;
9013 ndr_print_GUID(ndr, "guid", &r->guid);
9014 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9015 ndr->depth--;
9018 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9020 uint32_t cntr_objects_1;
9021 if (ndr_flags & NDR_SCALARS) {
9022 NDR_CHECK(ndr_push_align(ndr, 5));
9023 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9025 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9027 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9028 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9030 if (ndr_flags & NDR_BUFFERS) {
9031 if (r->id) {
9032 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9034 if (r->objects) {
9035 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9036 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9037 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9039 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9040 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9044 return NDR_ERR_SUCCESS;
9047 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9049 uint32_t _ptr_id;
9050 TALLOC_CTX *_mem_save_id_0;
9051 uint32_t _ptr_objects;
9052 uint32_t cntr_objects_1;
9053 TALLOC_CTX *_mem_save_objects_0;
9054 TALLOC_CTX *_mem_save_objects_1;
9055 if (ndr_flags & NDR_SCALARS) {
9056 NDR_CHECK(ndr_pull_align(ndr, 5));
9057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9058 if (_ptr_id) {
9059 NDR_PULL_ALLOC(ndr, r->id);
9060 } else {
9061 r->id = NULL;
9063 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9064 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9066 if (r->count > 10000) {
9067 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9069 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9070 if (_ptr_objects) {
9071 NDR_PULL_ALLOC(ndr, r->objects);
9072 } else {
9073 r->objects = NULL;
9075 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9077 if (ndr_flags & NDR_BUFFERS) {
9078 if (r->id) {
9079 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9080 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9081 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9084 if (r->objects) {
9085 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9086 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9087 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9088 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9089 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9090 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9091 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9094 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9100 if (r->objects) {
9101 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9104 return NDR_ERR_SUCCESS;
9107 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9109 uint32_t cntr_objects_1;
9110 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9111 ndr->depth++;
9112 ndr_print_ptr(ndr, "id", r->id);
9113 ndr->depth++;
9114 if (r->id) {
9115 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9117 ndr->depth--;
9118 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9119 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9120 ndr_print_uint32(ndr, "count", r->count);
9121 ndr_print_ptr(ndr, "objects", r->objects);
9122 ndr->depth++;
9123 if (r->objects) {
9124 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9125 ndr->depth++;
9126 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9127 char *idx_1=NULL;
9128 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9129 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9130 free(idx_1);
9133 ndr->depth--;
9135 ndr->depth--;
9136 ndr->depth--;
9139 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9141 uint32_t cntr_objects_1;
9142 if (ndr_flags & NDR_SCALARS) {
9143 NDR_CHECK(ndr_push_align(ndr, 5));
9144 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9146 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9148 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9149 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9151 if (ndr_flags & NDR_BUFFERS) {
9152 if (r->id) {
9153 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9155 if (r->error) {
9156 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9157 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9159 if (r->objects) {
9160 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9161 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9164 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9165 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9169 return NDR_ERR_SUCCESS;
9172 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9174 uint32_t _ptr_id;
9175 TALLOC_CTX *_mem_save_id_0;
9176 uint32_t _ptr_error;
9177 TALLOC_CTX *_mem_save_error_0;
9178 uint32_t _ptr_objects;
9179 uint32_t cntr_objects_1;
9180 TALLOC_CTX *_mem_save_objects_0;
9181 TALLOC_CTX *_mem_save_objects_1;
9182 if (ndr_flags & NDR_SCALARS) {
9183 NDR_CHECK(ndr_pull_align(ndr, 5));
9184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9185 if (_ptr_id) {
9186 NDR_PULL_ALLOC(ndr, r->id);
9187 } else {
9188 r->id = NULL;
9190 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9191 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9192 if (_ptr_error) {
9193 NDR_PULL_ALLOC(ndr, r->error);
9194 } else {
9195 r->error = NULL;
9197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9198 if (r->count > 10000) {
9199 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9201 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9202 if (_ptr_objects) {
9203 NDR_PULL_ALLOC(ndr, r->objects);
9204 } else {
9205 r->objects = NULL;
9207 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9209 if (ndr_flags & NDR_BUFFERS) {
9210 if (r->id) {
9211 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9212 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9216 if (r->error) {
9217 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9218 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9219 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9220 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9223 if (r->objects) {
9224 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9225 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9226 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9227 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9228 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9229 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9230 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9231 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9233 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9234 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9239 if (r->objects) {
9240 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9243 return NDR_ERR_SUCCESS;
9246 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9248 uint32_t cntr_objects_1;
9249 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9250 ndr->depth++;
9251 ndr_print_ptr(ndr, "id", r->id);
9252 ndr->depth++;
9253 if (r->id) {
9254 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9256 ndr->depth--;
9257 ndr_print_uint32(ndr, "level", r->level);
9258 ndr_print_ptr(ndr, "error", r->error);
9259 ndr->depth++;
9260 if (r->error) {
9261 ndr_print_set_switch_value(ndr, r->error, r->level);
9262 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9264 ndr->depth--;
9265 ndr_print_uint32(ndr, "count", r->count);
9266 ndr_print_ptr(ndr, "objects", r->objects);
9267 ndr->depth++;
9268 if (r->objects) {
9269 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9270 ndr->depth++;
9271 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9272 char *idx_1=NULL;
9273 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9274 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9275 free(idx_1);
9278 ndr->depth--;
9280 ndr->depth--;
9281 ndr->depth--;
9284 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9286 if (ndr_flags & NDR_SCALARS) {
9287 int level = ndr_push_get_switch_value(ndr, r);
9288 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9289 NDR_CHECK(ndr_push_union_align(ndr, 5));
9290 switch (level) {
9291 case 2: {
9292 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9293 break; }
9295 case 3: {
9296 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9297 break; }
9299 default:
9300 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9303 if (ndr_flags & NDR_BUFFERS) {
9304 int level = ndr_push_get_switch_value(ndr, r);
9305 switch (level) {
9306 case 2:
9307 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9308 break;
9310 case 3:
9311 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9312 break;
9314 default:
9315 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9318 return NDR_ERR_SUCCESS;
9321 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9323 int level;
9324 int32_t _level;
9325 level = ndr_pull_get_switch_value(ndr, r);
9326 if (ndr_flags & NDR_SCALARS) {
9327 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9328 if (_level != level) {
9329 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9331 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9332 switch (level) {
9333 case 2: {
9334 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9335 break; }
9337 case 3: {
9338 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9339 break; }
9341 default:
9342 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9345 if (ndr_flags & NDR_BUFFERS) {
9346 switch (level) {
9347 case 2:
9348 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9349 break;
9351 case 3:
9352 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9353 break;
9355 default:
9356 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9359 return NDR_ERR_SUCCESS;
9362 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9364 int level;
9365 level = ndr_print_get_switch_value(ndr, r);
9366 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9367 switch (level) {
9368 case 2:
9369 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9370 break;
9372 case 3:
9373 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9374 break;
9376 default:
9377 ndr_print_bad_level(ndr, name, level);
9381 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9384 return NDR_ERR_SUCCESS;
9387 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9389 uint32_t v;
9390 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9391 *r = v;
9392 return NDR_ERR_SUCCESS;
9395 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9397 ndr_print_uint32(ndr, name, r);
9398 ndr->depth++;
9399 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9400 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9401 ndr->depth--;
9404 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9406 if (ndr_flags & NDR_SCALARS) {
9407 NDR_CHECK(ndr_push_align(ndr, 4));
9408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9409 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9410 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9412 if (ndr_flags & NDR_BUFFERS) {
9414 return NDR_ERR_SUCCESS;
9417 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9419 if (ndr_flags & NDR_SCALARS) {
9420 NDR_CHECK(ndr_pull_align(ndr, 4));
9421 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9422 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9423 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9425 if (ndr_flags & NDR_BUFFERS) {
9427 return NDR_ERR_SUCCESS;
9430 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9432 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9433 ndr->depth++;
9434 ndr_print_uint32(ndr, "taskID", r->taskID);
9435 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9436 ndr->depth--;
9439 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9441 if (ndr_flags & NDR_SCALARS) {
9442 int level = ndr_push_get_switch_value(ndr, r);
9443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9444 NDR_CHECK(ndr_push_union_align(ndr, 4));
9445 switch (level) {
9446 case 1: {
9447 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9448 break; }
9450 default:
9451 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9454 if (ndr_flags & NDR_BUFFERS) {
9455 int level = ndr_push_get_switch_value(ndr, r);
9456 switch (level) {
9457 case 1:
9458 break;
9460 default:
9461 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9464 return NDR_ERR_SUCCESS;
9467 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9469 int level;
9470 uint32_t _level;
9471 level = ndr_pull_get_switch_value(ndr, r);
9472 if (ndr_flags & NDR_SCALARS) {
9473 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9474 if (_level != level) {
9475 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9477 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9478 switch (level) {
9479 case 1: {
9480 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9481 break; }
9483 default:
9484 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9487 if (ndr_flags & NDR_BUFFERS) {
9488 switch (level) {
9489 case 1:
9490 break;
9492 default:
9493 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9496 return NDR_ERR_SUCCESS;
9499 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9501 int level;
9502 level = ndr_print_get_switch_value(ndr, r);
9503 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9504 switch (level) {
9505 case 1:
9506 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9507 break;
9509 default:
9510 ndr_print_bad_level(ndr, name, level);
9514 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9516 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9517 return NDR_ERR_SUCCESS;
9520 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9522 uint32_t v;
9523 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9524 *r = v;
9525 return NDR_ERR_SUCCESS;
9528 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9530 const char *val = NULL;
9532 switch (r) {
9533 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9534 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9536 ndr_print_enum(ndr, name, "ENUM", val, r);
9539 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9541 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9542 return NDR_ERR_SUCCESS;
9545 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9547 uint32_t v;
9548 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9549 *r = v;
9550 return NDR_ERR_SUCCESS;
9553 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9555 const char *val = NULL;
9557 switch (r) {
9558 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9559 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9560 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9561 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9562 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9563 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9564 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9565 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9566 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9567 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9568 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9569 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
9570 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
9571 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
9572 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
9574 ndr_print_enum(ndr, name, "ENUM", val, r);
9577 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9579 if (ndr_flags & NDR_SCALARS) {
9580 NDR_CHECK(ndr_push_align(ndr, 5));
9581 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9583 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9584 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9586 if (ndr_flags & NDR_BUFFERS) {
9587 if (r->object_dn) {
9588 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9589 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9590 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9591 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9594 return NDR_ERR_SUCCESS;
9597 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9599 uint32_t _ptr_object_dn;
9600 TALLOC_CTX *_mem_save_object_dn_0;
9601 if (ndr_flags & NDR_SCALARS) {
9602 NDR_CHECK(ndr_pull_align(ndr, 5));
9603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9604 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9605 if (_ptr_object_dn) {
9606 NDR_PULL_ALLOC(ndr, r->object_dn);
9607 } else {
9608 r->object_dn = NULL;
9610 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9611 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9613 if (ndr_flags & NDR_BUFFERS) {
9614 if (r->object_dn) {
9615 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9616 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9617 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9618 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9619 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9620 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));
9622 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9623 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9627 return NDR_ERR_SUCCESS;
9630 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9632 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9633 ndr->depth++;
9634 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9635 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9636 ndr->depth++;
9637 if (r->object_dn) {
9638 ndr_print_string(ndr, "object_dn", r->object_dn);
9640 ndr->depth--;
9641 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9642 ndr->depth--;
9645 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9647 if (ndr_flags & NDR_SCALARS) {
9648 NDR_CHECK(ndr_push_align(ndr, 5));
9649 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9651 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
9653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9654 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
9655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
9656 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9658 if (ndr_flags & NDR_BUFFERS) {
9659 if (r->object_dn) {
9660 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9661 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9662 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9663 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9665 if (r->attribute_name) {
9666 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9667 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9668 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9669 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9671 if (r->value_dn_str) {
9672 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9673 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9674 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9675 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));
9678 return NDR_ERR_SUCCESS;
9681 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9683 uint32_t _ptr_object_dn;
9684 TALLOC_CTX *_mem_save_object_dn_0;
9685 uint32_t _ptr_attribute_name;
9686 TALLOC_CTX *_mem_save_attribute_name_0;
9687 uint32_t _ptr_value_dn_str;
9688 TALLOC_CTX *_mem_save_value_dn_str_0;
9689 if (ndr_flags & NDR_SCALARS) {
9690 NDR_CHECK(ndr_pull_align(ndr, 5));
9691 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9692 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9693 if (_ptr_object_dn) {
9694 NDR_PULL_ALLOC(ndr, r->object_dn);
9695 } else {
9696 r->object_dn = NULL;
9698 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
9700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9701 if (_ptr_attribute_name) {
9702 NDR_PULL_ALLOC(ndr, r->attribute_name);
9703 } else {
9704 r->attribute_name = NULL;
9706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
9707 if (_ptr_value_dn_str) {
9708 NDR_PULL_ALLOC(ndr, r->value_dn_str);
9709 } else {
9710 r->value_dn_str = NULL;
9712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
9713 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9715 if (ndr_flags & NDR_BUFFERS) {
9716 if (r->object_dn) {
9717 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9718 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9719 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9720 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9721 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9722 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));
9724 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9725 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9728 if (r->attribute_name) {
9729 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9730 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9731 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9732 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9733 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9734 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));
9736 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9737 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9740 if (r->value_dn_str) {
9741 _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
9742 NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
9743 NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
9744 NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
9745 if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) {
9746 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));
9748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t)));
9749 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));
9750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
9753 return NDR_ERR_SUCCESS;
9756 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9758 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9759 ndr->depth++;
9760 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9761 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9762 ndr->depth++;
9763 if (r->object_dn) {
9764 ndr_print_string(ndr, "object_dn", r->object_dn);
9766 ndr->depth--;
9767 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9768 ndr_print_uint32(ndr, "flags", r->flags);
9769 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9770 ndr->depth++;
9771 if (r->attribute_name) {
9772 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9774 ndr->depth--;
9775 ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
9776 ndr->depth++;
9777 if (r->value_dn_str) {
9778 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
9780 ndr->depth--;
9781 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
9782 ndr->depth--;
9785 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9787 if (ndr_flags & NDR_SCALARS) {
9788 int level = ndr_push_get_switch_value(ndr, r);
9789 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9790 NDR_CHECK(ndr_push_union_align(ndr, 5));
9791 switch (level) {
9792 case DRSUAPI_DS_REPLICA_GET_INFO: {
9793 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9794 break; }
9796 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9797 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9798 break; }
9800 default:
9801 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9804 if (ndr_flags & NDR_BUFFERS) {
9805 int level = ndr_push_get_switch_value(ndr, r);
9806 switch (level) {
9807 case DRSUAPI_DS_REPLICA_GET_INFO:
9808 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9809 break;
9811 case DRSUAPI_DS_REPLICA_GET_INFO2:
9812 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9813 break;
9815 default:
9816 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9819 return NDR_ERR_SUCCESS;
9822 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9824 int level;
9825 uint32_t _level;
9826 level = ndr_pull_get_switch_value(ndr, r);
9827 if (ndr_flags & NDR_SCALARS) {
9828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9829 if (_level != level) {
9830 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9832 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9833 switch (level) {
9834 case DRSUAPI_DS_REPLICA_GET_INFO: {
9835 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9836 break; }
9838 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9839 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9840 break; }
9842 default:
9843 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9846 if (ndr_flags & NDR_BUFFERS) {
9847 switch (level) {
9848 case DRSUAPI_DS_REPLICA_GET_INFO:
9849 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9850 break;
9852 case DRSUAPI_DS_REPLICA_GET_INFO2:
9853 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9854 break;
9856 default:
9857 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9860 return NDR_ERR_SUCCESS;
9863 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9865 int level;
9866 level = ndr_print_get_switch_value(ndr, r);
9867 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9868 switch (level) {
9869 case DRSUAPI_DS_REPLICA_GET_INFO:
9870 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9871 break;
9873 case DRSUAPI_DS_REPLICA_GET_INFO2:
9874 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9875 break;
9877 default:
9878 ndr_print_bad_level(ndr, name, level);
9882 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9884 if (ndr_flags & NDR_SCALARS) {
9885 NDR_CHECK(ndr_push_align(ndr, 8));
9886 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9888 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9889 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9890 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
9891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9892 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9893 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9894 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9895 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9896 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9897 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9898 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9899 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9900 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9902 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9904 if (ndr_flags & NDR_BUFFERS) {
9905 if (r->naming_context_dn) {
9906 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9907 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9908 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9909 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));
9911 if (r->source_dsa_obj_dn) {
9912 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9913 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9914 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9915 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));
9917 if (r->source_dsa_address) {
9918 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9919 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9920 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9921 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));
9923 if (r->transport_obj_dn) {
9924 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9925 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9926 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9927 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));
9930 return NDR_ERR_SUCCESS;
9933 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9935 uint32_t _ptr_naming_context_dn;
9936 TALLOC_CTX *_mem_save_naming_context_dn_0;
9937 uint32_t _ptr_source_dsa_obj_dn;
9938 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9939 uint32_t _ptr_source_dsa_address;
9940 TALLOC_CTX *_mem_save_source_dsa_address_0;
9941 uint32_t _ptr_transport_obj_dn;
9942 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9943 if (ndr_flags & NDR_SCALARS) {
9944 NDR_CHECK(ndr_pull_align(ndr, 8));
9945 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9946 if (_ptr_naming_context_dn) {
9947 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9948 } else {
9949 r->naming_context_dn = NULL;
9951 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9952 if (_ptr_source_dsa_obj_dn) {
9953 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9954 } else {
9955 r->source_dsa_obj_dn = NULL;
9957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9958 if (_ptr_source_dsa_address) {
9959 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9960 } else {
9961 r->source_dsa_address = NULL;
9963 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9964 if (_ptr_transport_obj_dn) {
9965 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9966 } else {
9967 r->transport_obj_dn = NULL;
9969 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
9970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9971 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9972 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9973 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9974 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9975 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9976 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9977 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9978 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9979 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
9980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
9981 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9983 if (ndr_flags & NDR_BUFFERS) {
9984 if (r->naming_context_dn) {
9985 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9986 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
9987 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
9988 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
9989 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
9990 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));
9992 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
9993 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));
9994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
9996 if (r->source_dsa_obj_dn) {
9997 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9998 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
9999 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10000 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10001 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10002 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));
10004 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10005 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));
10006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10008 if (r->source_dsa_address) {
10009 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10010 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10011 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10012 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10013 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10014 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));
10016 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10017 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));
10018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10020 if (r->transport_obj_dn) {
10021 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10022 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10023 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10024 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10025 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10026 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));
10028 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10029 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));
10030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10033 return NDR_ERR_SUCCESS;
10036 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10038 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10039 ndr->depth++;
10040 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10041 ndr->depth++;
10042 if (r->naming_context_dn) {
10043 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10045 ndr->depth--;
10046 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10047 ndr->depth++;
10048 if (r->source_dsa_obj_dn) {
10049 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10051 ndr->depth--;
10052 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10053 ndr->depth++;
10054 if (r->source_dsa_address) {
10055 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10057 ndr->depth--;
10058 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10059 ndr->depth++;
10060 if (r->transport_obj_dn) {
10061 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10063 ndr->depth--;
10064 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
10065 ndr_print_uint32(ndr, "reserved", r->reserved);
10066 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10067 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10068 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10069 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10070 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10071 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10072 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10073 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10074 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10075 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10076 ndr->depth--;
10079 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10081 uint32_t cntr_array_0;
10082 if (ndr_flags & NDR_SCALARS) {
10083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10084 NDR_CHECK(ndr_push_align(ndr, 8));
10085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10087 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10088 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10090 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10092 if (ndr_flags & NDR_BUFFERS) {
10093 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10094 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10097 return NDR_ERR_SUCCESS;
10100 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10102 uint32_t cntr_array_0;
10103 TALLOC_CTX *_mem_save_array_0;
10104 if (ndr_flags & NDR_SCALARS) {
10105 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10106 NDR_CHECK(ndr_pull_align(ndr, 8));
10107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10109 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10110 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10111 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10112 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10113 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10116 if (r->array) {
10117 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10119 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10121 if (ndr_flags & NDR_BUFFERS) {
10122 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10123 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10124 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10125 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10129 return NDR_ERR_SUCCESS;
10132 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10134 uint32_t cntr_array_0;
10135 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10136 ndr->depth++;
10137 ndr_print_uint32(ndr, "count", r->count);
10138 ndr_print_uint32(ndr, "reserved", r->reserved);
10139 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10140 ndr->depth++;
10141 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10142 char *idx_0=NULL;
10143 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10144 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10145 free(idx_0);
10148 ndr->depth--;
10149 ndr->depth--;
10152 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10154 uint32_t cntr_array_0;
10155 if (ndr_flags & NDR_SCALARS) {
10156 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10157 NDR_CHECK(ndr_push_align(ndr, 8));
10158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10160 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10161 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10163 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10165 if (ndr_flags & NDR_BUFFERS) {
10167 return NDR_ERR_SUCCESS;
10170 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10172 uint32_t cntr_array_0;
10173 TALLOC_CTX *_mem_save_array_0;
10174 if (ndr_flags & NDR_SCALARS) {
10175 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10176 NDR_CHECK(ndr_pull_align(ndr, 8));
10177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10179 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10180 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10181 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10182 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10183 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10186 if (r->array) {
10187 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10189 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10191 if (ndr_flags & NDR_BUFFERS) {
10193 return NDR_ERR_SUCCESS;
10196 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10198 uint32_t cntr_array_0;
10199 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10200 ndr->depth++;
10201 ndr_print_uint32(ndr, "count", r->count);
10202 ndr_print_uint32(ndr, "reserved", r->reserved);
10203 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10204 ndr->depth++;
10205 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10206 char *idx_0=NULL;
10207 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10208 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10209 free(idx_0);
10212 ndr->depth--;
10213 ndr->depth--;
10216 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10218 if (ndr_flags & NDR_SCALARS) {
10219 NDR_CHECK(ndr_push_align(ndr, 8));
10220 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10222 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10223 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10224 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10225 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10226 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10228 if (ndr_flags & NDR_BUFFERS) {
10229 if (r->attribute_name) {
10230 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10231 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10232 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10233 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10236 return NDR_ERR_SUCCESS;
10239 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10241 uint32_t _ptr_attribute_name;
10242 TALLOC_CTX *_mem_save_attribute_name_0;
10243 if (ndr_flags & NDR_SCALARS) {
10244 NDR_CHECK(ndr_pull_align(ndr, 8));
10245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10246 if (_ptr_attribute_name) {
10247 NDR_PULL_ALLOC(ndr, r->attribute_name);
10248 } else {
10249 r->attribute_name = NULL;
10251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10252 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10253 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10254 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10255 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10256 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10258 if (ndr_flags & NDR_BUFFERS) {
10259 if (r->attribute_name) {
10260 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10261 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10262 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10263 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10264 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10265 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));
10267 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10268 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10272 return NDR_ERR_SUCCESS;
10275 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10277 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10278 ndr->depth++;
10279 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10280 ndr->depth++;
10281 if (r->attribute_name) {
10282 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10284 ndr->depth--;
10285 ndr_print_uint32(ndr, "version", r->version);
10286 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10287 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10288 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10289 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10290 ndr->depth--;
10293 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10295 uint32_t cntr_array_0;
10296 if (ndr_flags & NDR_SCALARS) {
10297 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10298 NDR_CHECK(ndr_push_align(ndr, 8));
10299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10301 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10302 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10304 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10306 if (ndr_flags & NDR_BUFFERS) {
10307 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10308 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10311 return NDR_ERR_SUCCESS;
10314 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10316 uint32_t cntr_array_0;
10317 TALLOC_CTX *_mem_save_array_0;
10318 if (ndr_flags & NDR_SCALARS) {
10319 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10320 NDR_CHECK(ndr_pull_align(ndr, 8));
10321 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10322 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10323 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10324 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10325 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10326 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10327 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10330 if (r->array) {
10331 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10333 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10335 if (ndr_flags & NDR_BUFFERS) {
10336 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10337 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10338 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10339 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10343 return NDR_ERR_SUCCESS;
10346 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10348 uint32_t cntr_array_0;
10349 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10350 ndr->depth++;
10351 ndr_print_uint32(ndr, "count", r->count);
10352 ndr_print_uint32(ndr, "reserved", r->reserved);
10353 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10354 ndr->depth++;
10355 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10356 char *idx_0=NULL;
10357 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10358 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10359 free(idx_0);
10362 ndr->depth--;
10363 ndr->depth--;
10366 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10368 if (ndr_flags & NDR_SCALARS) {
10369 NDR_CHECK(ndr_push_align(ndr, 5));
10370 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10371 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10372 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10374 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10375 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10377 if (ndr_flags & NDR_BUFFERS) {
10378 if (r->dsa_obj_dn) {
10379 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10380 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10382 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));
10385 return NDR_ERR_SUCCESS;
10388 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10390 uint32_t _ptr_dsa_obj_dn;
10391 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10392 if (ndr_flags & NDR_SCALARS) {
10393 NDR_CHECK(ndr_pull_align(ndr, 5));
10394 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10395 if (_ptr_dsa_obj_dn) {
10396 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10397 } else {
10398 r->dsa_obj_dn = NULL;
10400 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10401 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10402 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10403 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10404 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10406 if (ndr_flags & NDR_BUFFERS) {
10407 if (r->dsa_obj_dn) {
10408 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10409 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10410 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10411 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10412 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10413 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));
10415 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10416 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));
10417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10420 return NDR_ERR_SUCCESS;
10423 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10425 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10426 ndr->depth++;
10427 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10428 ndr->depth++;
10429 if (r->dsa_obj_dn) {
10430 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10432 ndr->depth--;
10433 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10434 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10435 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10436 ndr_print_WERROR(ndr, "last_result", r->last_result);
10437 ndr->depth--;
10440 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10442 uint32_t cntr_array_0;
10443 if (ndr_flags & NDR_SCALARS) {
10444 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10445 NDR_CHECK(ndr_push_align(ndr, 5));
10446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10448 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10449 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10451 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10453 if (ndr_flags & NDR_BUFFERS) {
10454 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10455 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10458 return NDR_ERR_SUCCESS;
10461 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10463 uint32_t cntr_array_0;
10464 TALLOC_CTX *_mem_save_array_0;
10465 if (ndr_flags & NDR_SCALARS) {
10466 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10467 NDR_CHECK(ndr_pull_align(ndr, 5));
10468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10470 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10471 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10472 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10473 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10474 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10477 if (r->array) {
10478 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10480 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10482 if (ndr_flags & NDR_BUFFERS) {
10483 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10484 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10485 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10486 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10490 return NDR_ERR_SUCCESS;
10493 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10495 uint32_t cntr_array_0;
10496 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10497 ndr->depth++;
10498 ndr_print_uint32(ndr, "count", r->count);
10499 ndr_print_uint32(ndr, "reserved", r->reserved);
10500 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10501 ndr->depth++;
10502 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10503 char *idx_0=NULL;
10504 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10505 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10506 free(idx_0);
10509 ndr->depth--;
10510 ndr->depth--;
10513 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10515 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10516 return NDR_ERR_SUCCESS;
10519 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10521 uint16_t v;
10522 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10523 *r = v;
10524 return NDR_ERR_SUCCESS;
10527 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10529 const char *val = NULL;
10531 switch (r) {
10532 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10533 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10534 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10535 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10536 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10538 ndr_print_enum(ndr, name, "ENUM", val, r);
10541 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10543 if (ndr_flags & NDR_SCALARS) {
10544 NDR_CHECK(ndr_push_align(ndr, 5));
10545 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10546 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10548 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10549 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
10550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10553 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10554 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10555 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10557 if (ndr_flags & NDR_BUFFERS) {
10558 if (r->nc_dn) {
10559 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10560 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10561 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10562 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10564 if (r->remote_dsa_obj_dn) {
10565 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10566 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10567 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10568 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));
10570 if (r->remote_dsa_address) {
10571 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10572 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10573 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10574 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));
10577 return NDR_ERR_SUCCESS;
10580 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10582 uint32_t _ptr_nc_dn;
10583 TALLOC_CTX *_mem_save_nc_dn_0;
10584 uint32_t _ptr_remote_dsa_obj_dn;
10585 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10586 uint32_t _ptr_remote_dsa_address;
10587 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10588 if (ndr_flags & NDR_SCALARS) {
10589 NDR_CHECK(ndr_pull_align(ndr, 5));
10590 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10594 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
10595 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10596 if (_ptr_nc_dn) {
10597 NDR_PULL_ALLOC(ndr, r->nc_dn);
10598 } else {
10599 r->nc_dn = NULL;
10601 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10602 if (_ptr_remote_dsa_obj_dn) {
10603 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10604 } else {
10605 r->remote_dsa_obj_dn = NULL;
10607 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10608 if (_ptr_remote_dsa_address) {
10609 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10610 } else {
10611 r->remote_dsa_address = NULL;
10613 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10614 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10615 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10617 if (ndr_flags & NDR_BUFFERS) {
10618 if (r->nc_dn) {
10619 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10620 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10621 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10622 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10623 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10624 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));
10626 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10627 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10630 if (r->remote_dsa_obj_dn) {
10631 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10632 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10633 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10634 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10635 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10636 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));
10638 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10639 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));
10640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10642 if (r->remote_dsa_address) {
10643 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10644 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10645 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10646 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10647 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10648 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));
10650 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10651 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));
10652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10655 return NDR_ERR_SUCCESS;
10658 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10660 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10661 ndr->depth++;
10662 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10663 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10664 ndr_print_uint32(ndr, "priority", r->priority);
10665 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10666 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
10667 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10668 ndr->depth++;
10669 if (r->nc_dn) {
10670 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10672 ndr->depth--;
10673 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10674 ndr->depth++;
10675 if (r->remote_dsa_obj_dn) {
10676 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10678 ndr->depth--;
10679 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10680 ndr->depth++;
10681 if (r->remote_dsa_address) {
10682 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10684 ndr->depth--;
10685 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10686 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10687 ndr->depth--;
10690 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10692 uint32_t cntr_array_0;
10693 if (ndr_flags & NDR_SCALARS) {
10694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10695 NDR_CHECK(ndr_push_align(ndr, 5));
10696 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10698 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10699 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10701 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10703 if (ndr_flags & NDR_BUFFERS) {
10704 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10705 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10708 return NDR_ERR_SUCCESS;
10711 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10713 uint32_t cntr_array_0;
10714 TALLOC_CTX *_mem_save_array_0;
10715 if (ndr_flags & NDR_SCALARS) {
10716 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10717 NDR_CHECK(ndr_pull_align(ndr, 5));
10718 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10720 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10721 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10722 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10723 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10724 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10727 if (r->array) {
10728 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10730 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10732 if (ndr_flags & NDR_BUFFERS) {
10733 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10734 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10735 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10740 return NDR_ERR_SUCCESS;
10743 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10745 uint32_t cntr_array_0;
10746 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10747 ndr->depth++;
10748 ndr_print_NTTIME(ndr, "time", r->time);
10749 ndr_print_uint32(ndr, "count", r->count);
10750 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10751 ndr->depth++;
10752 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10753 char *idx_0=NULL;
10754 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10755 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10756 free(idx_0);
10759 ndr->depth--;
10760 ndr->depth--;
10763 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10765 if (ndr_flags & NDR_SCALARS) {
10766 NDR_CHECK(ndr_push_align(ndr, 8));
10767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10770 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10771 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10772 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10774 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10775 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10776 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10777 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10778 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10780 if (ndr_flags & NDR_BUFFERS) {
10781 if (r->attribute_name) {
10782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10785 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10787 if (r->object_dn) {
10788 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10789 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10790 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10791 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10793 if (r->binary) {
10794 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10797 return NDR_ERR_SUCCESS;
10800 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10802 uint32_t _ptr_attribute_name;
10803 TALLOC_CTX *_mem_save_attribute_name_0;
10804 uint32_t _ptr_object_dn;
10805 TALLOC_CTX *_mem_save_object_dn_0;
10806 uint32_t _ptr_binary;
10807 TALLOC_CTX *_mem_save_binary_0;
10808 if (ndr_flags & NDR_SCALARS) {
10809 NDR_CHECK(ndr_pull_align(ndr, 8));
10810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10811 if (_ptr_attribute_name) {
10812 NDR_PULL_ALLOC(ndr, r->attribute_name);
10813 } else {
10814 r->attribute_name = NULL;
10816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10817 if (_ptr_object_dn) {
10818 NDR_PULL_ALLOC(ndr, r->object_dn);
10819 } else {
10820 r->object_dn = NULL;
10822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10823 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10824 if (_ptr_binary) {
10825 NDR_PULL_ALLOC(ndr, r->binary);
10826 } else {
10827 r->binary = NULL;
10829 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10830 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10832 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10833 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10834 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10835 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10836 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10838 if (ndr_flags & NDR_BUFFERS) {
10839 if (r->attribute_name) {
10840 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10841 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10842 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10843 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10844 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10845 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));
10847 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10848 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10851 if (r->object_dn) {
10852 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10853 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10854 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10855 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10856 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10857 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));
10859 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10860 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10863 if (r->binary) {
10864 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10865 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10866 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10870 return NDR_ERR_SUCCESS;
10873 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10875 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10876 ndr->depth++;
10877 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10878 ndr->depth++;
10879 if (r->attribute_name) {
10880 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10882 ndr->depth--;
10883 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10884 ndr->depth++;
10885 if (r->object_dn) {
10886 ndr_print_string(ndr, "object_dn", r->object_dn);
10888 ndr->depth--;
10889 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);
10890 ndr_print_ptr(ndr, "binary", r->binary);
10891 ndr->depth++;
10892 if (r->binary) {
10893 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10895 ndr->depth--;
10896 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10897 ndr_print_NTTIME(ndr, "created", r->created);
10898 ndr_print_uint32(ndr, "version", r->version);
10899 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10900 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10901 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10902 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10903 ndr->depth--;
10906 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10908 uint32_t cntr_array_0;
10909 if (ndr_flags & NDR_SCALARS) {
10910 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10911 NDR_CHECK(ndr_push_align(ndr, 8));
10912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10914 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10915 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10917 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10919 if (ndr_flags & NDR_BUFFERS) {
10920 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10921 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10924 return NDR_ERR_SUCCESS;
10927 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10929 uint32_t cntr_array_0;
10930 TALLOC_CTX *_mem_save_array_0;
10931 if (ndr_flags & NDR_SCALARS) {
10932 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10933 NDR_CHECK(ndr_pull_align(ndr, 8));
10934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10936 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10937 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10938 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10939 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10940 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10943 if (r->array) {
10944 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10946 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10948 if (ndr_flags & NDR_BUFFERS) {
10949 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10950 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10951 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10956 return NDR_ERR_SUCCESS;
10959 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10961 uint32_t cntr_array_0;
10962 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10963 ndr->depth++;
10964 ndr_print_uint32(ndr, "count", r->count);
10965 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10966 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10967 ndr->depth++;
10968 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10969 char *idx_0=NULL;
10970 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10971 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10972 free(idx_0);
10975 ndr->depth--;
10976 ndr->depth--;
10979 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
10981 uint32_t cntr_array_0;
10982 if (ndr_flags & NDR_SCALARS) {
10983 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10984 NDR_CHECK(ndr_push_align(ndr, 8));
10985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10987 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10988 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10990 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10992 if (ndr_flags & NDR_BUFFERS) {
10994 return NDR_ERR_SUCCESS;
10997 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
10999 uint32_t cntr_array_0;
11000 TALLOC_CTX *_mem_save_array_0;
11001 if (ndr_flags & NDR_SCALARS) {
11002 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11003 NDR_CHECK(ndr_pull_align(ndr, 8));
11004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11005 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11006 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11007 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11008 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11009 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11010 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11012 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11013 if (r->array) {
11014 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11016 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11018 if (ndr_flags & NDR_BUFFERS) {
11020 return NDR_ERR_SUCCESS;
11023 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11025 uint32_t cntr_array_0;
11026 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11027 ndr->depth++;
11028 ndr_print_uint32(ndr, "count", r->count);
11029 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11030 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11031 ndr->depth++;
11032 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11033 char *idx_0=NULL;
11034 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11035 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11036 free(idx_0);
11039 ndr->depth--;
11040 ndr->depth--;
11043 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11045 if (ndr_flags & NDR_SCALARS) {
11046 NDR_CHECK(ndr_push_align(ndr, 8));
11047 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11048 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11049 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11050 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11051 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11053 if (ndr_flags & NDR_BUFFERS) {
11054 if (r->source_dsa_obj_dn) {
11055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11056 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11058 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));
11061 return NDR_ERR_SUCCESS;
11064 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11066 uint32_t _ptr_source_dsa_obj_dn;
11067 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11068 if (ndr_flags & NDR_SCALARS) {
11069 NDR_CHECK(ndr_pull_align(ndr, 8));
11070 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11071 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11072 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11073 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11074 if (_ptr_source_dsa_obj_dn) {
11075 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11076 } else {
11077 r->source_dsa_obj_dn = NULL;
11079 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11081 if (ndr_flags & NDR_BUFFERS) {
11082 if (r->source_dsa_obj_dn) {
11083 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11084 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11085 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11086 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11087 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11088 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));
11090 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11091 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));
11092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11095 return NDR_ERR_SUCCESS;
11098 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11100 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11101 ndr->depth++;
11102 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11103 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11104 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11105 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11106 ndr->depth++;
11107 if (r->source_dsa_obj_dn) {
11108 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11110 ndr->depth--;
11111 ndr->depth--;
11114 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11116 uint32_t cntr_array_0;
11117 if (ndr_flags & NDR_SCALARS) {
11118 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11119 NDR_CHECK(ndr_push_align(ndr, 8));
11120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11122 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11123 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11125 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11127 if (ndr_flags & NDR_BUFFERS) {
11128 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11129 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11132 return NDR_ERR_SUCCESS;
11135 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11137 uint32_t cntr_array_0;
11138 TALLOC_CTX *_mem_save_array_0;
11139 if (ndr_flags & NDR_SCALARS) {
11140 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11141 NDR_CHECK(ndr_pull_align(ndr, 8));
11142 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11144 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11145 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11146 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11147 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11148 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11151 if (r->array) {
11152 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11154 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11156 if (ndr_flags & NDR_BUFFERS) {
11157 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11158 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11159 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11160 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11164 return NDR_ERR_SUCCESS;
11167 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11169 uint32_t cntr_array_0;
11170 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11171 ndr->depth++;
11172 ndr_print_uint32(ndr, "count", r->count);
11173 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11174 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11175 ndr->depth++;
11176 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11177 char *idx_0=NULL;
11178 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11179 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11180 free(idx_0);
11183 ndr->depth--;
11184 ndr->depth--;
11187 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11189 if (ndr_flags & NDR_SCALARS) {
11190 NDR_CHECK(ndr_push_align(ndr, 8));
11191 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11193 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11194 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11195 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11196 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11197 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11198 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11200 if (ndr_flags & NDR_BUFFERS) {
11201 if (r->attribute_name) {
11202 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11203 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11204 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11205 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11207 if (r->originating_dsa_dn) {
11208 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11209 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11210 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11211 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));
11214 return NDR_ERR_SUCCESS;
11217 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11219 uint32_t _ptr_attribute_name;
11220 TALLOC_CTX *_mem_save_attribute_name_0;
11221 uint32_t _ptr_originating_dsa_dn;
11222 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11223 if (ndr_flags & NDR_SCALARS) {
11224 NDR_CHECK(ndr_pull_align(ndr, 8));
11225 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11226 if (_ptr_attribute_name) {
11227 NDR_PULL_ALLOC(ndr, r->attribute_name);
11228 } else {
11229 r->attribute_name = NULL;
11231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11232 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11233 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11234 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11235 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11236 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11237 if (_ptr_originating_dsa_dn) {
11238 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11239 } else {
11240 r->originating_dsa_dn = NULL;
11242 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11244 if (ndr_flags & NDR_BUFFERS) {
11245 if (r->attribute_name) {
11246 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11247 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11248 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11249 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11250 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11251 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));
11253 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11254 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11257 if (r->originating_dsa_dn) {
11258 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11259 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11260 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11261 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11262 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11263 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));
11265 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11266 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));
11267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11270 return NDR_ERR_SUCCESS;
11273 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11275 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11276 ndr->depth++;
11277 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11278 ndr->depth++;
11279 if (r->attribute_name) {
11280 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11282 ndr->depth--;
11283 ndr_print_uint32(ndr, "version", r->version);
11284 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11285 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11286 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11287 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11288 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11289 ndr->depth++;
11290 if (r->originating_dsa_dn) {
11291 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11293 ndr->depth--;
11294 ndr->depth--;
11297 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11299 uint32_t cntr_array_0;
11300 if (ndr_flags & NDR_SCALARS) {
11301 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11302 NDR_CHECK(ndr_push_align(ndr, 8));
11303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11305 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11306 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11308 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11310 if (ndr_flags & NDR_BUFFERS) {
11311 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11312 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11315 return NDR_ERR_SUCCESS;
11318 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11320 uint32_t cntr_array_0;
11321 TALLOC_CTX *_mem_save_array_0;
11322 if (ndr_flags & NDR_SCALARS) {
11323 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11324 NDR_CHECK(ndr_pull_align(ndr, 8));
11325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11326 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11327 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11328 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11329 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11330 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11331 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11334 if (r->array) {
11335 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11337 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11339 if (ndr_flags & NDR_BUFFERS) {
11340 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11341 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11342 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11343 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11347 return NDR_ERR_SUCCESS;
11350 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11352 uint32_t cntr_array_0;
11353 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11354 ndr->depth++;
11355 ndr_print_uint32(ndr, "count", r->count);
11356 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11357 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11358 ndr->depth++;
11359 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11360 char *idx_0=NULL;
11361 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11362 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11363 free(idx_0);
11366 ndr->depth--;
11367 ndr->depth--;
11370 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11372 if (ndr_flags & NDR_SCALARS) {
11373 NDR_CHECK(ndr_push_align(ndr, 8));
11374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11375 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11377 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11378 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11379 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11381 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11382 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11383 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11384 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11385 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11386 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11388 if (ndr_flags & NDR_BUFFERS) {
11389 if (r->attribute_name) {
11390 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11391 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11392 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11393 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11395 if (r->object_dn) {
11396 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11397 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11398 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11399 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11401 if (r->binary) {
11402 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11404 if (r->originating_dsa_dn) {
11405 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11406 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11407 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11408 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));
11411 return NDR_ERR_SUCCESS;
11414 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11416 uint32_t _ptr_attribute_name;
11417 TALLOC_CTX *_mem_save_attribute_name_0;
11418 uint32_t _ptr_object_dn;
11419 TALLOC_CTX *_mem_save_object_dn_0;
11420 uint32_t _ptr_binary;
11421 TALLOC_CTX *_mem_save_binary_0;
11422 uint32_t _ptr_originating_dsa_dn;
11423 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11424 if (ndr_flags & NDR_SCALARS) {
11425 NDR_CHECK(ndr_pull_align(ndr, 8));
11426 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11427 if (_ptr_attribute_name) {
11428 NDR_PULL_ALLOC(ndr, r->attribute_name);
11429 } else {
11430 r->attribute_name = NULL;
11432 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11433 if (_ptr_object_dn) {
11434 NDR_PULL_ALLOC(ndr, r->object_dn);
11435 } else {
11436 r->object_dn = NULL;
11438 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11440 if (_ptr_binary) {
11441 NDR_PULL_ALLOC(ndr, r->binary);
11442 } else {
11443 r->binary = NULL;
11445 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11446 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11448 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11449 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11450 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11451 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11453 if (_ptr_originating_dsa_dn) {
11454 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11455 } else {
11456 r->originating_dsa_dn = NULL;
11458 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11460 if (ndr_flags & NDR_BUFFERS) {
11461 if (r->attribute_name) {
11462 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11463 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11464 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11465 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11466 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11467 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));
11469 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11470 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11473 if (r->object_dn) {
11474 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11475 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11476 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11477 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11478 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11479 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));
11481 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11482 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11483 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11485 if (r->binary) {
11486 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11487 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11488 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11491 if (r->originating_dsa_dn) {
11492 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11493 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11494 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11495 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11496 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11497 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));
11499 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11500 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));
11501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11504 return NDR_ERR_SUCCESS;
11507 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11509 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11510 ndr->depth++;
11511 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11512 ndr->depth++;
11513 if (r->attribute_name) {
11514 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11516 ndr->depth--;
11517 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11518 ndr->depth++;
11519 if (r->object_dn) {
11520 ndr_print_string(ndr, "object_dn", r->object_dn);
11522 ndr->depth--;
11523 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);
11524 ndr_print_ptr(ndr, "binary", r->binary);
11525 ndr->depth++;
11526 if (r->binary) {
11527 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11529 ndr->depth--;
11530 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11531 ndr_print_NTTIME(ndr, "created", r->created);
11532 ndr_print_uint32(ndr, "version", r->version);
11533 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11534 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11535 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11536 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11537 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11538 ndr->depth++;
11539 if (r->originating_dsa_dn) {
11540 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11542 ndr->depth--;
11543 ndr->depth--;
11546 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11548 uint32_t cntr_array_0;
11549 if (ndr_flags & NDR_SCALARS) {
11550 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11551 NDR_CHECK(ndr_push_align(ndr, 8));
11552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11554 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11555 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11557 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11559 if (ndr_flags & NDR_BUFFERS) {
11560 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11561 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11564 return NDR_ERR_SUCCESS;
11567 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11569 uint32_t cntr_array_0;
11570 TALLOC_CTX *_mem_save_array_0;
11571 if (ndr_flags & NDR_SCALARS) {
11572 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11573 NDR_CHECK(ndr_pull_align(ndr, 8));
11574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11576 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11577 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11578 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11579 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11580 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11583 if (r->array) {
11584 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11586 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11588 if (ndr_flags & NDR_BUFFERS) {
11589 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11590 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11591 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11592 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11596 return NDR_ERR_SUCCESS;
11599 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11601 uint32_t cntr_array_0;
11602 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11603 ndr->depth++;
11604 ndr_print_uint32(ndr, "count", r->count);
11605 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11606 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11607 ndr->depth++;
11608 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11609 char *idx_0=NULL;
11610 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11611 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11612 free(idx_0);
11615 ndr->depth--;
11616 ndr->depth--;
11619 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11621 if (ndr_flags & NDR_SCALARS) {
11622 NDR_CHECK(ndr_push_align(ndr, 8));
11623 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11626 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11627 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11629 uint32_t _flags_save_ipv4address = ndr->flags;
11630 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11631 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11632 ndr->flags = _flags_save_ipv4address;
11634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11635 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11637 if (ndr_flags & NDR_BUFFERS) {
11639 return NDR_ERR_SUCCESS;
11642 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11644 if (ndr_flags & NDR_SCALARS) {
11645 NDR_CHECK(ndr_pull_align(ndr, 8));
11646 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11647 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11649 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11650 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11652 uint32_t _flags_save_ipv4address = ndr->flags;
11653 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11654 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11655 ndr->flags = _flags_save_ipv4address;
11657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11658 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11660 if (ndr_flags & NDR_BUFFERS) {
11662 return NDR_ERR_SUCCESS;
11665 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11667 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11668 ndr->depth++;
11669 ndr_print_hyper(ndr, "u1", r->u1);
11670 ndr_print_uint32(ndr, "u2", r->u2);
11671 ndr_print_uint32(ndr, "u3", r->u3);
11672 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11673 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11674 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11675 ndr_print_uint32(ndr, "u5", r->u5);
11676 ndr->depth--;
11679 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11681 uint32_t cntr_array_0;
11682 if (ndr_flags & NDR_SCALARS) {
11683 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11684 NDR_CHECK(ndr_push_align(ndr, 8));
11685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11687 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11688 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11690 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11692 if (ndr_flags & NDR_BUFFERS) {
11694 return NDR_ERR_SUCCESS;
11697 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11699 uint32_t cntr_array_0;
11700 TALLOC_CTX *_mem_save_array_0;
11701 if (ndr_flags & NDR_SCALARS) {
11702 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11703 NDR_CHECK(ndr_pull_align(ndr, 8));
11704 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11705 if (r->count > 10000) {
11706 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11709 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11710 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11711 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11712 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11716 if (r->array) {
11717 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11719 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11721 if (ndr_flags & NDR_BUFFERS) {
11723 return NDR_ERR_SUCCESS;
11726 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11728 uint32_t cntr_array_0;
11729 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11730 ndr->depth++;
11731 ndr_print_uint32(ndr, "count", r->count);
11732 ndr_print_uint32(ndr, "reserved", r->reserved);
11733 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11734 ndr->depth++;
11735 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11736 char *idx_0=NULL;
11737 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11738 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11739 free(idx_0);
11742 ndr->depth--;
11743 ndr->depth--;
11746 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11748 if (ndr_flags & NDR_SCALARS) {
11749 NDR_CHECK(ndr_push_align(ndr, 8));
11750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11756 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11758 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11760 if (ndr_flags & NDR_BUFFERS) {
11761 if (r->str1) {
11762 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11763 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11764 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11765 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11768 return NDR_ERR_SUCCESS;
11771 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11773 uint32_t _ptr_str1;
11774 TALLOC_CTX *_mem_save_str1_0;
11775 if (ndr_flags & NDR_SCALARS) {
11776 NDR_CHECK(ndr_pull_align(ndr, 8));
11777 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11778 if (_ptr_str1) {
11779 NDR_PULL_ALLOC(ndr, r->str1);
11780 } else {
11781 r->str1 = NULL;
11783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11785 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11786 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11787 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11788 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11789 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11790 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11792 if (ndr_flags & NDR_BUFFERS) {
11793 if (r->str1) {
11794 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11795 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11796 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11797 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11798 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
11799 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));
11801 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
11802 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
11803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11806 return NDR_ERR_SUCCESS;
11809 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11811 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11812 ndr->depth++;
11813 ndr_print_ptr(ndr, "str1", r->str1);
11814 ndr->depth++;
11815 if (r->str1) {
11816 ndr_print_string(ndr, "str1", r->str1);
11818 ndr->depth--;
11819 ndr_print_uint32(ndr, "u1", r->u1);
11820 ndr_print_uint32(ndr, "u2", r->u2);
11821 ndr_print_uint32(ndr, "u3", r->u3);
11822 ndr_print_uint32(ndr, "u4", r->u4);
11823 ndr_print_uint32(ndr, "u5", r->u5);
11824 ndr_print_hyper(ndr, "u6", r->u6);
11825 ndr_print_uint32(ndr, "u7", r->u7);
11826 ndr->depth--;
11829 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11831 uint32_t cntr_array_0;
11832 if (ndr_flags & NDR_SCALARS) {
11833 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11834 NDR_CHECK(ndr_push_align(ndr, 8));
11835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11837 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11838 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11840 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11842 if (ndr_flags & NDR_BUFFERS) {
11843 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11844 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11847 return NDR_ERR_SUCCESS;
11850 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11852 uint32_t cntr_array_0;
11853 TALLOC_CTX *_mem_save_array_0;
11854 if (ndr_flags & NDR_SCALARS) {
11855 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11856 NDR_CHECK(ndr_pull_align(ndr, 8));
11857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11858 if (r->count > 256) {
11859 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11861 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11862 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11863 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11864 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11865 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11866 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11868 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11869 if (r->array) {
11870 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11872 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11874 if (ndr_flags & NDR_BUFFERS) {
11875 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11876 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11877 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11878 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11880 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11882 return NDR_ERR_SUCCESS;
11885 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11887 uint32_t cntr_array_0;
11888 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11889 ndr->depth++;
11890 ndr_print_uint32(ndr, "count", r->count);
11891 ndr_print_uint32(ndr, "reserved", r->reserved);
11892 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11893 ndr->depth++;
11894 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11895 char *idx_0=NULL;
11896 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11897 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11898 free(idx_0);
11901 ndr->depth--;
11902 ndr->depth--;
11905 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11907 if (ndr_flags & NDR_SCALARS) {
11908 int level = ndr_push_get_switch_value(ndr, r);
11909 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11910 NDR_CHECK(ndr_push_union_align(ndr, 5));
11911 switch (level) {
11912 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11913 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11914 break; }
11916 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11918 break; }
11920 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11921 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11922 break; }
11924 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11925 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11926 break; }
11928 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11929 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11930 break; }
11932 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11933 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11934 break; }
11936 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11937 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11938 break; }
11940 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11942 break; }
11944 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11946 break; }
11948 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11949 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11950 break; }
11952 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11953 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11954 break; }
11956 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
11957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
11958 break; }
11960 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
11961 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
11962 break; }
11964 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
11965 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
11966 break; }
11968 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
11969 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
11970 break; }
11972 default:
11973 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11976 if (ndr_flags & NDR_BUFFERS) {
11977 int level = ndr_push_get_switch_value(ndr, r);
11978 switch (level) {
11979 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11980 if (r->neighbours) {
11981 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11983 break;
11985 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11986 if (r->cursors) {
11987 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11989 break;
11991 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11992 if (r->objmetadata) {
11993 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11995 break;
11997 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11998 if (r->connectfailures) {
11999 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12001 break;
12003 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12004 if (r->linkfailures) {
12005 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12007 break;
12009 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12010 if (r->pendingops) {
12011 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12013 break;
12015 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12016 if (r->attrvalmetadata) {
12017 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12019 break;
12021 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12022 if (r->cursors2) {
12023 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12025 break;
12027 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12028 if (r->cursors3) {
12029 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12031 break;
12033 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12034 if (r->objmetadata2) {
12035 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12037 break;
12039 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12040 if (r->attrvalmetadata2) {
12041 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12043 break;
12045 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12046 if (r->repsto) {
12047 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12049 break;
12051 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12052 if (r->clientctx) {
12053 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12055 break;
12057 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12058 if (r->udv1) {
12059 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12061 break;
12063 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12064 if (r->srvoutgoingcalls) {
12065 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12067 break;
12069 default:
12070 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12073 return NDR_ERR_SUCCESS;
12076 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12078 int level;
12079 uint32_t _level;
12080 TALLOC_CTX *_mem_save_neighbours_0;
12081 TALLOC_CTX *_mem_save_cursors_0;
12082 TALLOC_CTX *_mem_save_objmetadata_0;
12083 TALLOC_CTX *_mem_save_connectfailures_0;
12084 TALLOC_CTX *_mem_save_linkfailures_0;
12085 TALLOC_CTX *_mem_save_pendingops_0;
12086 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12087 TALLOC_CTX *_mem_save_cursors2_0;
12088 TALLOC_CTX *_mem_save_cursors3_0;
12089 TALLOC_CTX *_mem_save_objmetadata2_0;
12090 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12091 TALLOC_CTX *_mem_save_repsto_0;
12092 TALLOC_CTX *_mem_save_clientctx_0;
12093 TALLOC_CTX *_mem_save_udv1_0;
12094 TALLOC_CTX *_mem_save_srvoutgoingcalls_0;
12095 level = ndr_pull_get_switch_value(ndr, r);
12096 if (ndr_flags & NDR_SCALARS) {
12097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12098 if (_level != level) {
12099 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12101 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12102 switch (level) {
12103 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12104 uint32_t _ptr_neighbours;
12105 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12106 if (_ptr_neighbours) {
12107 NDR_PULL_ALLOC(ndr, r->neighbours);
12108 } else {
12109 r->neighbours = NULL;
12111 break; }
12113 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12114 uint32_t _ptr_cursors;
12115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12116 if (_ptr_cursors) {
12117 NDR_PULL_ALLOC(ndr, r->cursors);
12118 } else {
12119 r->cursors = NULL;
12121 break; }
12123 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12124 uint32_t _ptr_objmetadata;
12125 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12126 if (_ptr_objmetadata) {
12127 NDR_PULL_ALLOC(ndr, r->objmetadata);
12128 } else {
12129 r->objmetadata = NULL;
12131 break; }
12133 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12134 uint32_t _ptr_connectfailures;
12135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12136 if (_ptr_connectfailures) {
12137 NDR_PULL_ALLOC(ndr, r->connectfailures);
12138 } else {
12139 r->connectfailures = NULL;
12141 break; }
12143 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12144 uint32_t _ptr_linkfailures;
12145 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12146 if (_ptr_linkfailures) {
12147 NDR_PULL_ALLOC(ndr, r->linkfailures);
12148 } else {
12149 r->linkfailures = NULL;
12151 break; }
12153 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12154 uint32_t _ptr_pendingops;
12155 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12156 if (_ptr_pendingops) {
12157 NDR_PULL_ALLOC(ndr, r->pendingops);
12158 } else {
12159 r->pendingops = NULL;
12161 break; }
12163 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12164 uint32_t _ptr_attrvalmetadata;
12165 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12166 if (_ptr_attrvalmetadata) {
12167 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12168 } else {
12169 r->attrvalmetadata = NULL;
12171 break; }
12173 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12174 uint32_t _ptr_cursors2;
12175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12176 if (_ptr_cursors2) {
12177 NDR_PULL_ALLOC(ndr, r->cursors2);
12178 } else {
12179 r->cursors2 = NULL;
12181 break; }
12183 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12184 uint32_t _ptr_cursors3;
12185 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12186 if (_ptr_cursors3) {
12187 NDR_PULL_ALLOC(ndr, r->cursors3);
12188 } else {
12189 r->cursors3 = NULL;
12191 break; }
12193 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12194 uint32_t _ptr_objmetadata2;
12195 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12196 if (_ptr_objmetadata2) {
12197 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12198 } else {
12199 r->objmetadata2 = NULL;
12201 break; }
12203 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12204 uint32_t _ptr_attrvalmetadata2;
12205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12206 if (_ptr_attrvalmetadata2) {
12207 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12208 } else {
12209 r->attrvalmetadata2 = NULL;
12211 break; }
12213 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
12214 uint32_t _ptr_repsto;
12215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
12216 if (_ptr_repsto) {
12217 NDR_PULL_ALLOC(ndr, r->repsto);
12218 } else {
12219 r->repsto = NULL;
12221 break; }
12223 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
12224 uint32_t _ptr_clientctx;
12225 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
12226 if (_ptr_clientctx) {
12227 NDR_PULL_ALLOC(ndr, r->clientctx);
12228 } else {
12229 r->clientctx = NULL;
12231 break; }
12233 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
12234 uint32_t _ptr_udv1;
12235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
12236 if (_ptr_udv1) {
12237 NDR_PULL_ALLOC(ndr, r->udv1);
12238 } else {
12239 r->udv1 = NULL;
12241 break; }
12243 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
12244 uint32_t _ptr_srvoutgoingcalls;
12245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
12246 if (_ptr_srvoutgoingcalls) {
12247 NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
12248 } else {
12249 r->srvoutgoingcalls = NULL;
12251 break; }
12253 default:
12254 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12257 if (ndr_flags & NDR_BUFFERS) {
12258 switch (level) {
12259 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12260 if (r->neighbours) {
12261 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12262 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12263 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12266 break;
12268 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12269 if (r->cursors) {
12270 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12271 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12272 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12275 break;
12277 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12278 if (r->objmetadata) {
12279 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12280 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12281 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12284 break;
12286 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12287 if (r->connectfailures) {
12288 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12289 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12290 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12293 break;
12295 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12296 if (r->linkfailures) {
12297 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12298 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12299 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12302 break;
12304 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12305 if (r->pendingops) {
12306 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12307 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12308 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12311 break;
12313 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12314 if (r->attrvalmetadata) {
12315 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12316 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12320 break;
12322 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12323 if (r->cursors2) {
12324 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12325 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12326 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12329 break;
12331 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12332 if (r->cursors3) {
12333 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12334 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12335 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12338 break;
12340 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12341 if (r->objmetadata2) {
12342 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12343 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12344 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12347 break;
12349 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12350 if (r->attrvalmetadata2) {
12351 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12352 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12353 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12356 break;
12358 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12359 if (r->repsto) {
12360 _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
12361 NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
12362 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
12365 break;
12367 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12368 if (r->clientctx) {
12369 _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
12370 NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
12371 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
12374 break;
12376 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12377 if (r->udv1) {
12378 _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12379 NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
12380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
12383 break;
12385 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12386 if (r->srvoutgoingcalls) {
12387 _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
12388 NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
12389 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
12392 break;
12394 default:
12395 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12398 return NDR_ERR_SUCCESS;
12401 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12403 int level;
12404 level = ndr_print_get_switch_value(ndr, r);
12405 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12406 switch (level) {
12407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12408 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12409 ndr->depth++;
12410 if (r->neighbours) {
12411 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12413 ndr->depth--;
12414 break;
12416 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12417 ndr_print_ptr(ndr, "cursors", r->cursors);
12418 ndr->depth++;
12419 if (r->cursors) {
12420 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12422 ndr->depth--;
12423 break;
12425 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12426 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12427 ndr->depth++;
12428 if (r->objmetadata) {
12429 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12431 ndr->depth--;
12432 break;
12434 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12435 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12436 ndr->depth++;
12437 if (r->connectfailures) {
12438 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12440 ndr->depth--;
12441 break;
12443 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12444 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12445 ndr->depth++;
12446 if (r->linkfailures) {
12447 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12449 ndr->depth--;
12450 break;
12452 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12453 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12454 ndr->depth++;
12455 if (r->pendingops) {
12456 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12458 ndr->depth--;
12459 break;
12461 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12462 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12463 ndr->depth++;
12464 if (r->attrvalmetadata) {
12465 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12467 ndr->depth--;
12468 break;
12470 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12471 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12472 ndr->depth++;
12473 if (r->cursors2) {
12474 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12476 ndr->depth--;
12477 break;
12479 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12480 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12481 ndr->depth++;
12482 if (r->cursors3) {
12483 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12485 ndr->depth--;
12486 break;
12488 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12489 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12490 ndr->depth++;
12491 if (r->objmetadata2) {
12492 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12494 ndr->depth--;
12495 break;
12497 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12498 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12499 ndr->depth++;
12500 if (r->attrvalmetadata2) {
12501 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12503 ndr->depth--;
12504 break;
12506 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12507 ndr_print_ptr(ndr, "repsto", r->repsto);
12508 ndr->depth++;
12509 if (r->repsto) {
12510 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
12512 ndr->depth--;
12513 break;
12515 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12516 ndr_print_ptr(ndr, "clientctx", r->clientctx);
12517 ndr->depth++;
12518 if (r->clientctx) {
12519 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
12521 ndr->depth--;
12522 break;
12524 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12525 ndr_print_ptr(ndr, "udv1", r->udv1);
12526 ndr->depth++;
12527 if (r->udv1) {
12528 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
12530 ndr->depth--;
12531 break;
12533 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12534 ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12535 ndr->depth++;
12536 if (r->srvoutgoingcalls) {
12537 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12539 ndr->depth--;
12540 break;
12542 default:
12543 ndr_print_bad_level(ndr, name, level);
12547 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12549 if (ndr_flags & NDR_SCALARS) {
12550 int level = ndr_push_get_switch_value(ndr, r);
12551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12552 NDR_CHECK(ndr_push_union_align(ndr, 5));
12553 switch (level) {
12554 case 1: {
12555 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12556 break; }
12558 default:
12559 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12562 if (ndr_flags & NDR_BUFFERS) {
12563 int level = ndr_push_get_switch_value(ndr, r);
12564 switch (level) {
12565 case 1:
12566 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12567 break;
12569 default:
12570 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12573 return NDR_ERR_SUCCESS;
12576 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12578 int level;
12579 uint32_t _level;
12580 level = ndr_pull_get_switch_value(ndr, r);
12581 if (ndr_flags & NDR_SCALARS) {
12582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12583 if (_level != level) {
12584 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12586 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12587 switch (level) {
12588 case 1: {
12589 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12590 break; }
12592 default:
12593 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12596 if (ndr_flags & NDR_BUFFERS) {
12597 switch (level) {
12598 case 1:
12599 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12600 break;
12602 default:
12603 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12606 return NDR_ERR_SUCCESS;
12609 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12611 int level;
12612 level = ndr_print_get_switch_value(ndr, r);
12613 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12614 switch (level) {
12615 case 1:
12616 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12617 break;
12619 default:
12620 ndr_print_bad_level(ndr, name, level);
12624 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12626 uint32_t cntr_req_array_1;
12627 if (ndr_flags & NDR_SCALARS) {
12628 NDR_CHECK(ndr_push_align(ndr, 5));
12629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12630 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12631 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12633 if (ndr_flags & NDR_BUFFERS) {
12634 if (r->req_array) {
12635 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12636 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12637 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12639 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12640 if (r->req_array[cntr_req_array_1]) {
12641 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12646 return NDR_ERR_SUCCESS;
12649 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12651 uint32_t _ptr_req_array;
12652 uint32_t cntr_req_array_1;
12653 TALLOC_CTX *_mem_save_req_array_0;
12654 TALLOC_CTX *_mem_save_req_array_1;
12655 TALLOC_CTX *_mem_save_req_array_2;
12656 if (ndr_flags & NDR_SCALARS) {
12657 NDR_CHECK(ndr_pull_align(ndr, 5));
12658 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12659 if (r->num_req < 1 || r->num_req > 10000) {
12660 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12663 if (_ptr_req_array) {
12664 NDR_PULL_ALLOC(ndr, r->req_array);
12665 } else {
12666 r->req_array = NULL;
12668 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12670 if (ndr_flags & NDR_BUFFERS) {
12671 if (r->req_array) {
12672 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12673 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12674 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12675 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12676 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12677 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12678 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12679 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12680 if (_ptr_req_array) {
12681 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12682 } else {
12683 r->req_array[cntr_req_array_1] = NULL;
12686 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12687 if (r->req_array[cntr_req_array_1]) {
12688 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12689 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12690 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12697 if (r->req_array) {
12698 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12701 return NDR_ERR_SUCCESS;
12704 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12706 uint32_t cntr_req_array_1;
12707 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12708 ndr->depth++;
12709 ndr_print_uint32(ndr, "num_req", r->num_req);
12710 ndr_print_ptr(ndr, "req_array", r->req_array);
12711 ndr->depth++;
12712 if (r->req_array) {
12713 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12714 ndr->depth++;
12715 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12716 char *idx_1=NULL;
12717 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12718 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12719 ndr->depth++;
12720 if (r->req_array[cntr_req_array_1]) {
12721 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12723 ndr->depth--;
12724 free(idx_1);
12727 ndr->depth--;
12729 ndr->depth--;
12730 ndr->depth--;
12733 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12735 if (ndr_flags & NDR_SCALARS) {
12736 int level = ndr_push_get_switch_value(ndr, r);
12737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12738 NDR_CHECK(ndr_push_union_align(ndr, 5));
12739 switch (level) {
12740 case 1: {
12741 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12742 break; }
12744 default:
12745 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12748 if (ndr_flags & NDR_BUFFERS) {
12749 int level = ndr_push_get_switch_value(ndr, r);
12750 switch (level) {
12751 case 1:
12752 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12753 break;
12755 default:
12756 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12759 return NDR_ERR_SUCCESS;
12762 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12764 int level;
12765 uint32_t _level;
12766 level = ndr_pull_get_switch_value(ndr, r);
12767 if (ndr_flags & NDR_SCALARS) {
12768 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12769 if (_level != level) {
12770 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12772 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12773 switch (level) {
12774 case 1: {
12775 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12776 break; }
12778 default:
12779 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12782 if (ndr_flags & NDR_BUFFERS) {
12783 switch (level) {
12784 case 1:
12785 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12786 break;
12788 default:
12789 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12792 return NDR_ERR_SUCCESS;
12795 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12797 int level;
12798 level = ndr_print_get_switch_value(ndr, r);
12799 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12800 switch (level) {
12801 case 1:
12802 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12803 break;
12805 default:
12806 ndr_print_bad_level(ndr, name, level);
12810 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12812 if (ndr_flags & NDR_SCALARS) {
12813 NDR_CHECK(ndr_push_align(ndr, 4));
12814 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12816 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
12818 if (ndr_flags & NDR_BUFFERS) {
12820 return NDR_ERR_SUCCESS;
12823 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12825 if (ndr_flags & NDR_SCALARS) {
12826 NDR_CHECK(ndr_pull_align(ndr, 4));
12827 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12829 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
12831 if (ndr_flags & NDR_BUFFERS) {
12833 return NDR_ERR_SUCCESS;
12836 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12838 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12839 ndr->depth++;
12840 ndr_print_WERROR(ndr, "error_code", r->error_code);
12841 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12842 ndr->depth--;
12845 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12847 uint32_t cntr_info_1;
12848 if (ndr_flags & NDR_SCALARS) {
12849 NDR_CHECK(ndr_push_align(ndr, 5));
12850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12851 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12853 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12855 if (ndr_flags & NDR_BUFFERS) {
12856 if (r->info) {
12857 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
12858 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12859 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12863 return NDR_ERR_SUCCESS;
12866 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12868 uint32_t _ptr_info;
12869 uint32_t cntr_info_1;
12870 TALLOC_CTX *_mem_save_info_0;
12871 TALLOC_CTX *_mem_save_info_1;
12872 if (ndr_flags & NDR_SCALARS) {
12873 NDR_CHECK(ndr_pull_align(ndr, 5));
12874 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12875 if (r->num_info > 10000) {
12876 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12879 if (_ptr_info) {
12880 NDR_PULL_ALLOC(ndr, r->info);
12881 } else {
12882 r->info = NULL;
12884 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
12885 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12887 if (ndr_flags & NDR_BUFFERS) {
12888 if (r->info) {
12889 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12890 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12891 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12892 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
12893 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12894 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12895 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12896 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12901 if (r->info) {
12902 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12905 return NDR_ERR_SUCCESS;
12908 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12910 uint32_t cntr_info_1;
12911 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12912 ndr->depth++;
12913 ndr_print_uint32(ndr, "num_info", r->num_info);
12914 ndr_print_ptr(ndr, "info", r->info);
12915 ndr->depth++;
12916 if (r->info) {
12917 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12918 ndr->depth++;
12919 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12920 char *idx_1=NULL;
12921 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12922 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12923 free(idx_1);
12926 ndr->depth--;
12928 ndr->depth--;
12929 ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
12930 ndr->depth--;
12933 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12935 if (ndr_flags & NDR_SCALARS) {
12936 int level = ndr_push_get_switch_value(ndr, r);
12937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12938 NDR_CHECK(ndr_push_union_align(ndr, 5));
12939 switch (level) {
12940 case 1: {
12941 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12942 break; }
12944 default:
12945 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12948 if (ndr_flags & NDR_BUFFERS) {
12949 int level = ndr_push_get_switch_value(ndr, r);
12950 switch (level) {
12951 case 1:
12952 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12953 break;
12955 default:
12956 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12959 return NDR_ERR_SUCCESS;
12962 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12964 int level;
12965 uint32_t _level;
12966 level = ndr_pull_get_switch_value(ndr, r);
12967 if (ndr_flags & NDR_SCALARS) {
12968 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12969 if (_level != level) {
12970 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12972 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12973 switch (level) {
12974 case 1: {
12975 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12976 break; }
12978 default:
12979 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12982 if (ndr_flags & NDR_BUFFERS) {
12983 switch (level) {
12984 case 1:
12985 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12986 break;
12988 default:
12989 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12992 return NDR_ERR_SUCCESS;
12995 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
12997 int level;
12998 level = ndr_print_get_switch_value(ndr, r);
12999 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13000 switch (level) {
13001 case 1:
13002 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13003 break;
13005 default:
13006 ndr_print_bad_level(ndr, name, level);
13010 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13012 uint32_t cntr_site_to_1;
13013 if (ndr_flags & NDR_SCALARS) {
13014 NDR_CHECK(ndr_push_align(ndr, 5));
13015 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13017 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13019 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13021 if (ndr_flags & NDR_BUFFERS) {
13022 if (r->site_from) {
13023 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13024 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13025 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13026 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13028 if (r->site_to) {
13029 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13030 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13033 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13034 if (r->site_to[cntr_site_to_1]) {
13035 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13036 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13037 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13038 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));
13043 return NDR_ERR_SUCCESS;
13046 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13048 uint32_t _ptr_site_from;
13049 TALLOC_CTX *_mem_save_site_from_0;
13050 uint32_t _ptr_site_to;
13051 uint32_t cntr_site_to_1;
13052 TALLOC_CTX *_mem_save_site_to_0;
13053 TALLOC_CTX *_mem_save_site_to_1;
13054 TALLOC_CTX *_mem_save_site_to_2;
13055 if (ndr_flags & NDR_SCALARS) {
13056 NDR_CHECK(ndr_pull_align(ndr, 5));
13057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13058 if (_ptr_site_from) {
13059 NDR_PULL_ALLOC(ndr, r->site_from);
13060 } else {
13061 r->site_from = NULL;
13063 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13064 if (r->num_req < 1 || r->num_req > 10000) {
13065 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13068 if (_ptr_site_to) {
13069 NDR_PULL_ALLOC(ndr, r->site_to);
13070 } else {
13071 r->site_to = NULL;
13073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13074 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13076 if (ndr_flags & NDR_BUFFERS) {
13077 if (r->site_from) {
13078 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13079 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13080 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13081 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13082 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13083 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));
13085 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13086 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13089 if (r->site_to) {
13090 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13091 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13092 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13093 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13094 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13095 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13096 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13098 if (_ptr_site_to) {
13099 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13100 } else {
13101 r->site_to[cntr_site_to_1] = NULL;
13104 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13105 if (r->site_to[cntr_site_to_1]) {
13106 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13107 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13108 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13109 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13110 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])) {
13111 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]));
13113 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13114 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));
13115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13121 if (r->site_to) {
13122 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13125 return NDR_ERR_SUCCESS;
13128 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13130 uint32_t cntr_site_to_1;
13131 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13132 ndr->depth++;
13133 ndr_print_ptr(ndr, "site_from", r->site_from);
13134 ndr->depth++;
13135 if (r->site_from) {
13136 ndr_print_string(ndr, "site_from", r->site_from);
13138 ndr->depth--;
13139 ndr_print_uint32(ndr, "num_req", r->num_req);
13140 ndr_print_ptr(ndr, "site_to", r->site_to);
13141 ndr->depth++;
13142 if (r->site_to) {
13143 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13144 ndr->depth++;
13145 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13146 char *idx_1=NULL;
13147 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13148 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13149 ndr->depth++;
13150 if (r->site_to[cntr_site_to_1]) {
13151 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13153 ndr->depth--;
13154 free(idx_1);
13157 ndr->depth--;
13159 ndr->depth--;
13160 ndr_print_uint32(ndr, "flags", r->flags);
13161 ndr->depth--;
13164 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13166 if (ndr_flags & NDR_SCALARS) {
13167 int level = ndr_push_get_switch_value(ndr, r);
13168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13169 NDR_CHECK(ndr_push_union_align(ndr, 5));
13170 switch (level) {
13171 case 1: {
13172 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13173 break; }
13175 default:
13176 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13179 if (ndr_flags & NDR_BUFFERS) {
13180 int level = ndr_push_get_switch_value(ndr, r);
13181 switch (level) {
13182 case 1:
13183 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13184 break;
13186 default:
13187 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13190 return NDR_ERR_SUCCESS;
13193 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13195 int level;
13196 uint32_t _level;
13197 level = ndr_pull_get_switch_value(ndr, r);
13198 if (ndr_flags & NDR_SCALARS) {
13199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13200 if (_level != level) {
13201 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13203 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13204 switch (level) {
13205 case 1: {
13206 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13207 break; }
13209 default:
13210 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13213 if (ndr_flags & NDR_BUFFERS) {
13214 switch (level) {
13215 case 1:
13216 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13217 break;
13219 default:
13220 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13223 return NDR_ERR_SUCCESS;
13226 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13228 int level;
13229 level = ndr_print_get_switch_value(ndr, r);
13230 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13231 switch (level) {
13232 case 1:
13233 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13234 break;
13236 default:
13237 ndr_print_bad_level(ndr, name, level);
13241 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13243 if (flags & NDR_IN) {
13244 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13245 if (r->in.bind_guid) {
13246 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13248 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13249 if (r->in.bind_info) {
13250 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13253 if (flags & NDR_OUT) {
13254 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13255 if (r->out.bind_info) {
13256 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13258 if (r->out.bind_handle == NULL) {
13259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13261 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13262 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13264 return NDR_ERR_SUCCESS;
13267 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13269 uint32_t _ptr_bind_guid;
13270 uint32_t _ptr_bind_info;
13271 TALLOC_CTX *_mem_save_bind_guid_0;
13272 TALLOC_CTX *_mem_save_bind_info_0;
13273 TALLOC_CTX *_mem_save_bind_handle_0;
13274 if (flags & NDR_IN) {
13275 ZERO_STRUCT(r->out);
13277 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13278 if (_ptr_bind_guid) {
13279 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13280 } else {
13281 r->in.bind_guid = NULL;
13283 if (r->in.bind_guid) {
13284 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13285 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13286 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13289 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13290 if (_ptr_bind_info) {
13291 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13292 } else {
13293 r->in.bind_info = NULL;
13295 if (r->in.bind_info) {
13296 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13297 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13298 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13301 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13302 ZERO_STRUCTP(r->out.bind_handle);
13304 if (flags & NDR_OUT) {
13305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13306 if (_ptr_bind_info) {
13307 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13308 } else {
13309 r->out.bind_info = NULL;
13311 if (r->out.bind_info) {
13312 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13313 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13314 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13317 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13318 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13320 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13321 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13322 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13324 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13326 return NDR_ERR_SUCCESS;
13329 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13331 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13332 ndr->depth++;
13333 if (flags & NDR_SET_VALUES) {
13334 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13336 if (flags & NDR_IN) {
13337 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13338 ndr->depth++;
13339 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13340 ndr->depth++;
13341 if (r->in.bind_guid) {
13342 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13344 ndr->depth--;
13345 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13346 ndr->depth++;
13347 if (r->in.bind_info) {
13348 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13350 ndr->depth--;
13351 ndr->depth--;
13353 if (flags & NDR_OUT) {
13354 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13355 ndr->depth++;
13356 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13357 ndr->depth++;
13358 if (r->out.bind_info) {
13359 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13361 ndr->depth--;
13362 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13363 ndr->depth++;
13364 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13365 ndr->depth--;
13366 ndr_print_WERROR(ndr, "result", r->out.result);
13367 ndr->depth--;
13369 ndr->depth--;
13372 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13374 if (flags & NDR_IN) {
13375 if (r->in.bind_handle == NULL) {
13376 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13378 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13380 if (flags & NDR_OUT) {
13381 if (r->out.bind_handle == NULL) {
13382 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13384 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13385 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13387 return NDR_ERR_SUCCESS;
13390 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13392 TALLOC_CTX *_mem_save_bind_handle_0;
13393 if (flags & NDR_IN) {
13394 ZERO_STRUCT(r->out);
13396 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13397 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13399 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13400 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13401 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13403 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13404 *r->out.bind_handle = *r->in.bind_handle;
13406 if (flags & NDR_OUT) {
13407 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13408 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13410 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13411 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13412 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13414 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13416 return NDR_ERR_SUCCESS;
13419 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13421 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13422 ndr->depth++;
13423 if (flags & NDR_SET_VALUES) {
13424 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13426 if (flags & NDR_IN) {
13427 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13428 ndr->depth++;
13429 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13430 ndr->depth++;
13431 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13432 ndr->depth--;
13433 ndr->depth--;
13435 if (flags & NDR_OUT) {
13436 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13437 ndr->depth++;
13438 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13439 ndr->depth++;
13440 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13441 ndr->depth--;
13442 ndr_print_WERROR(ndr, "result", r->out.result);
13443 ndr->depth--;
13445 ndr->depth--;
13448 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13450 if (flags & NDR_IN) {
13451 if (r->in.bind_handle == NULL) {
13452 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13454 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13456 if (r->in.req == NULL) {
13457 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13459 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13460 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13462 if (flags & NDR_OUT) {
13463 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13465 return NDR_ERR_SUCCESS;
13468 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13470 TALLOC_CTX *_mem_save_bind_handle_0;
13471 TALLOC_CTX *_mem_save_req_0;
13472 if (flags & NDR_IN) {
13473 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13474 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13476 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13477 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13478 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13480 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13481 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13482 NDR_PULL_ALLOC(ndr, r->in.req);
13484 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13485 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13486 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13487 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13490 if (flags & NDR_OUT) {
13491 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13493 return NDR_ERR_SUCCESS;
13496 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13498 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13499 ndr->depth++;
13500 if (flags & NDR_SET_VALUES) {
13501 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13503 if (flags & NDR_IN) {
13504 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13505 ndr->depth++;
13506 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13507 ndr->depth++;
13508 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13509 ndr->depth--;
13510 ndr_print_uint32(ndr, "level", r->in.level);
13511 ndr_print_ptr(ndr, "req", r->in.req);
13512 ndr->depth++;
13513 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13514 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
13515 ndr->depth--;
13516 ndr->depth--;
13518 if (flags & NDR_OUT) {
13519 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13520 ndr->depth++;
13521 ndr_print_WERROR(ndr, "result", r->out.result);
13522 ndr->depth--;
13524 ndr->depth--;
13527 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13529 if (flags & NDR_IN) {
13530 if (r->in.bind_handle == NULL) {
13531 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13533 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13535 if (r->in.req == NULL) {
13536 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13538 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13539 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13541 if (flags & NDR_OUT) {
13542 if (r->out.level_out == NULL) {
13543 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13546 if (r->out.ctr == NULL) {
13547 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13549 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13550 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13551 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13553 return NDR_ERR_SUCCESS;
13556 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13558 TALLOC_CTX *_mem_save_bind_handle_0;
13559 TALLOC_CTX *_mem_save_req_0;
13560 TALLOC_CTX *_mem_save_level_out_0;
13561 TALLOC_CTX *_mem_save_ctr_0;
13562 if (flags & NDR_IN) {
13563 ZERO_STRUCT(r->out);
13565 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13566 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13568 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13569 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13570 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13573 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13574 NDR_PULL_ALLOC(ndr, r->in.req);
13576 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13577 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13578 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13579 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13581 NDR_PULL_ALLOC(ndr, r->out.level_out);
13582 ZERO_STRUCTP(r->out.level_out);
13583 NDR_PULL_ALLOC(ndr, r->out.ctr);
13584 ZERO_STRUCTP(r->out.ctr);
13586 if (flags & NDR_OUT) {
13587 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13588 NDR_PULL_ALLOC(ndr, r->out.level_out);
13590 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13591 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13594 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13595 NDR_PULL_ALLOC(ndr, r->out.ctr);
13597 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13598 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13599 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13600 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13602 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13604 return NDR_ERR_SUCCESS;
13607 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13609 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13610 ndr->depth++;
13611 if (flags & NDR_SET_VALUES) {
13612 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13614 if (flags & NDR_IN) {
13615 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13616 ndr->depth++;
13617 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13618 ndr->depth++;
13619 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13620 ndr->depth--;
13621 ndr_print_uint32(ndr, "level", r->in.level);
13622 ndr_print_ptr(ndr, "req", r->in.req);
13623 ndr->depth++;
13624 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13625 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13626 ndr->depth--;
13627 ndr->depth--;
13629 if (flags & NDR_OUT) {
13630 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13631 ndr->depth++;
13632 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13633 ndr->depth++;
13634 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13635 ndr->depth--;
13636 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13637 ndr->depth++;
13638 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13639 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13640 ndr->depth--;
13641 ndr_print_WERROR(ndr, "result", r->out.result);
13642 ndr->depth--;
13644 ndr->depth--;
13647 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13649 if (flags & NDR_IN) {
13650 if (r->in.bind_handle == NULL) {
13651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13653 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13655 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13656 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13658 if (flags & NDR_OUT) {
13659 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13661 return NDR_ERR_SUCCESS;
13664 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13666 TALLOC_CTX *_mem_save_bind_handle_0;
13667 if (flags & NDR_IN) {
13668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13669 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13671 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13672 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13673 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13675 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13676 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13677 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13679 if (flags & NDR_OUT) {
13680 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13682 return NDR_ERR_SUCCESS;
13685 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13687 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13688 ndr->depth++;
13689 if (flags & NDR_SET_VALUES) {
13690 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13692 if (flags & NDR_IN) {
13693 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13694 ndr->depth++;
13695 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13696 ndr->depth++;
13697 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13698 ndr->depth--;
13699 ndr_print_uint32(ndr, "level", r->in.level);
13700 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13701 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13702 ndr->depth--;
13704 if (flags & NDR_OUT) {
13705 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13706 ndr->depth++;
13707 ndr_print_WERROR(ndr, "result", r->out.result);
13708 ndr->depth--;
13710 ndr->depth--;
13713 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13715 if (flags & NDR_IN) {
13716 if (r->in.bind_handle == NULL) {
13717 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13719 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13721 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13722 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13724 if (flags & NDR_OUT) {
13725 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13727 return NDR_ERR_SUCCESS;
13730 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13732 TALLOC_CTX *_mem_save_bind_handle_0;
13733 if (flags & NDR_IN) {
13734 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13735 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13737 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13738 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13739 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13741 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13742 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13745 if (flags & NDR_OUT) {
13746 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13748 return NDR_ERR_SUCCESS;
13751 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13753 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13754 ndr->depth++;
13755 if (flags & NDR_SET_VALUES) {
13756 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13758 if (flags & NDR_IN) {
13759 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13760 ndr->depth++;
13761 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13762 ndr->depth++;
13763 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13764 ndr->depth--;
13765 ndr_print_uint32(ndr, "level", r->in.level);
13766 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13767 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13768 ndr->depth--;
13770 if (flags & NDR_OUT) {
13771 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13772 ndr->depth++;
13773 ndr_print_WERROR(ndr, "result", r->out.result);
13774 ndr->depth--;
13776 ndr->depth--;
13779 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13781 if (flags & NDR_IN) {
13782 if (r->in.bind_handle == NULL) {
13783 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13785 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13787 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13788 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13790 if (flags & NDR_OUT) {
13791 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13793 return NDR_ERR_SUCCESS;
13796 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
13798 TALLOC_CTX *_mem_save_bind_handle_0;
13799 if (flags & NDR_IN) {
13800 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13801 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13803 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13804 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13805 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13808 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13809 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13811 if (flags & NDR_OUT) {
13812 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13814 return NDR_ERR_SUCCESS;
13817 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
13819 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
13820 ndr->depth++;
13821 if (flags & NDR_SET_VALUES) {
13822 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13824 if (flags & NDR_IN) {
13825 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
13826 ndr->depth++;
13827 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13828 ndr->depth++;
13829 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13830 ndr->depth--;
13831 ndr_print_uint32(ndr, "level", r->in.level);
13832 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13833 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
13834 ndr->depth--;
13836 if (flags & NDR_OUT) {
13837 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
13838 ndr->depth++;
13839 ndr_print_WERROR(ndr, "result", r->out.result);
13840 ndr->depth--;
13842 ndr->depth--;
13845 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
13847 if (flags & NDR_IN) {
13848 if (r->in.bind_handle == NULL) {
13849 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13851 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13853 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13854 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13856 if (flags & NDR_OUT) {
13857 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13859 return NDR_ERR_SUCCESS;
13862 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
13864 TALLOC_CTX *_mem_save_bind_handle_0;
13865 if (flags & NDR_IN) {
13866 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13867 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13869 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13870 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13871 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13874 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13875 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13877 if (flags & NDR_OUT) {
13878 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13880 return NDR_ERR_SUCCESS;
13883 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
13885 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
13886 ndr->depth++;
13887 if (flags & NDR_SET_VALUES) {
13888 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13890 if (flags & NDR_IN) {
13891 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
13892 ndr->depth++;
13893 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13894 ndr->depth++;
13895 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13896 ndr->depth--;
13897 ndr_print_uint32(ndr, "level", r->in.level);
13898 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13899 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
13900 ndr->depth--;
13902 if (flags & NDR_OUT) {
13903 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
13904 ndr->depth++;
13905 ndr_print_WERROR(ndr, "result", r->out.result);
13906 ndr->depth--;
13908 ndr->depth--;
13911 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13913 if (flags & NDR_IN) {
13915 if (flags & NDR_OUT) {
13916 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13918 return NDR_ERR_SUCCESS;
13921 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13923 if (flags & NDR_IN) {
13925 if (flags & NDR_OUT) {
13926 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13928 return NDR_ERR_SUCCESS;
13931 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13933 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13934 ndr->depth++;
13935 if (flags & NDR_SET_VALUES) {
13936 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13938 if (flags & NDR_IN) {
13939 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13940 ndr->depth++;
13941 ndr->depth--;
13943 if (flags & NDR_OUT) {
13944 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13945 ndr->depth++;
13946 ndr_print_WERROR(ndr, "result", r->out.result);
13947 ndr->depth--;
13949 ndr->depth--;
13952 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13954 if (flags & NDR_IN) {
13955 if (r->in.bind_handle == NULL) {
13956 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13958 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13960 if (r->in.req == NULL) {
13961 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13963 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13964 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13966 if (flags & NDR_OUT) {
13967 if (r->out.level_out == NULL) {
13968 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13971 if (r->out.ctr == NULL) {
13972 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13974 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13975 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13976 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13978 return NDR_ERR_SUCCESS;
13981 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
13983 TALLOC_CTX *_mem_save_bind_handle_0;
13984 TALLOC_CTX *_mem_save_req_0;
13985 TALLOC_CTX *_mem_save_level_out_0;
13986 TALLOC_CTX *_mem_save_ctr_0;
13987 if (flags & NDR_IN) {
13988 ZERO_STRUCT(r->out);
13990 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13991 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13993 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13994 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13995 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13998 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13999 NDR_PULL_ALLOC(ndr, r->in.req);
14001 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14002 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14003 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14004 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14006 NDR_PULL_ALLOC(ndr, r->out.level_out);
14007 ZERO_STRUCTP(r->out.level_out);
14008 NDR_PULL_ALLOC(ndr, r->out.ctr);
14009 ZERO_STRUCTP(r->out.ctr);
14011 if (flags & NDR_OUT) {
14012 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14013 NDR_PULL_ALLOC(ndr, r->out.level_out);
14015 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14016 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14019 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14020 NDR_PULL_ALLOC(ndr, r->out.ctr);
14022 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14023 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14024 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14025 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14027 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14029 return NDR_ERR_SUCCESS;
14032 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14034 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14035 ndr->depth++;
14036 if (flags & NDR_SET_VALUES) {
14037 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14039 if (flags & NDR_IN) {
14040 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14041 ndr->depth++;
14042 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14043 ndr->depth++;
14044 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14045 ndr->depth--;
14046 ndr_print_uint32(ndr, "level", r->in.level);
14047 ndr_print_ptr(ndr, "req", r->in.req);
14048 ndr->depth++;
14049 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14050 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14051 ndr->depth--;
14052 ndr->depth--;
14054 if (flags & NDR_OUT) {
14055 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14056 ndr->depth++;
14057 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14058 ndr->depth++;
14059 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14060 ndr->depth--;
14061 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14062 ndr->depth++;
14063 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14064 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14065 ndr->depth--;
14066 ndr_print_WERROR(ndr, "result", r->out.result);
14067 ndr->depth--;
14069 ndr->depth--;
14072 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14074 if (flags & NDR_IN) {
14076 if (flags & NDR_OUT) {
14077 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14079 return NDR_ERR_SUCCESS;
14082 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14084 if (flags & NDR_IN) {
14086 if (flags & NDR_OUT) {
14087 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14089 return NDR_ERR_SUCCESS;
14092 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14094 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14095 ndr->depth++;
14096 if (flags & NDR_SET_VALUES) {
14097 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14099 if (flags & NDR_IN) {
14100 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14101 ndr->depth++;
14102 ndr->depth--;
14104 if (flags & NDR_OUT) {
14105 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14106 ndr->depth++;
14107 ndr_print_WERROR(ndr, "result", r->out.result);
14108 ndr->depth--;
14110 ndr->depth--;
14113 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14115 if (flags & NDR_IN) {
14116 if (r->in.bind_handle == NULL) {
14117 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14119 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14121 if (r->in.req == NULL) {
14122 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14124 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14125 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14127 if (flags & NDR_OUT) {
14128 if (r->out.level_out == NULL) {
14129 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14132 if (r->out.info == NULL) {
14133 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14135 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14136 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14137 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14139 return NDR_ERR_SUCCESS;
14142 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14144 TALLOC_CTX *_mem_save_bind_handle_0;
14145 TALLOC_CTX *_mem_save_req_0;
14146 TALLOC_CTX *_mem_save_level_out_0;
14147 TALLOC_CTX *_mem_save_info_0;
14148 if (flags & NDR_IN) {
14149 ZERO_STRUCT(r->out);
14151 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14152 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14154 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14155 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14156 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14158 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14159 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14160 NDR_PULL_ALLOC(ndr, r->in.req);
14162 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14163 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14164 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14165 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14167 NDR_PULL_ALLOC(ndr, r->out.level_out);
14168 ZERO_STRUCTP(r->out.level_out);
14169 NDR_PULL_ALLOC(ndr, r->out.info);
14170 ZERO_STRUCTP(r->out.info);
14172 if (flags & NDR_OUT) {
14173 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14174 NDR_PULL_ALLOC(ndr, r->out.level_out);
14176 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14177 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14181 NDR_PULL_ALLOC(ndr, r->out.info);
14183 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14184 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14185 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14186 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14188 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14190 return NDR_ERR_SUCCESS;
14193 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14195 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14196 ndr->depth++;
14197 if (flags & NDR_SET_VALUES) {
14198 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14200 if (flags & NDR_IN) {
14201 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14202 ndr->depth++;
14203 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14204 ndr->depth++;
14205 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14206 ndr->depth--;
14207 ndr_print_uint32(ndr, "level", r->in.level);
14208 ndr_print_ptr(ndr, "req", r->in.req);
14209 ndr->depth++;
14210 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14211 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14212 ndr->depth--;
14213 ndr->depth--;
14215 if (flags & NDR_OUT) {
14216 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14217 ndr->depth++;
14218 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14219 ndr->depth++;
14220 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14221 ndr->depth--;
14222 ndr_print_ptr(ndr, "info", r->out.info);
14223 ndr->depth++;
14224 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14225 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14226 ndr->depth--;
14227 ndr_print_WERROR(ndr, "result", r->out.result);
14228 ndr->depth--;
14230 ndr->depth--;
14233 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14235 if (flags & NDR_IN) {
14236 if (r->in.bind_handle == NULL) {
14237 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14239 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14241 if (r->in.req == NULL) {
14242 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14244 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14245 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14247 if (flags & NDR_OUT) {
14248 if (r->out.level_out == NULL) {
14249 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14251 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14252 if (r->out.ctr == NULL) {
14253 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14255 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14256 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14257 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14259 return NDR_ERR_SUCCESS;
14262 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14264 TALLOC_CTX *_mem_save_bind_handle_0;
14265 TALLOC_CTX *_mem_save_req_0;
14266 TALLOC_CTX *_mem_save_level_out_0;
14267 TALLOC_CTX *_mem_save_ctr_0;
14268 if (flags & NDR_IN) {
14269 ZERO_STRUCT(r->out);
14271 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14272 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14274 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14275 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14276 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14277 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14278 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14279 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14280 NDR_PULL_ALLOC(ndr, r->in.req);
14282 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14283 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14284 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14285 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14287 NDR_PULL_ALLOC(ndr, r->out.level_out);
14288 ZERO_STRUCTP(r->out.level_out);
14289 NDR_PULL_ALLOC(ndr, r->out.ctr);
14290 ZERO_STRUCTP(r->out.ctr);
14292 if (flags & NDR_OUT) {
14293 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14294 NDR_PULL_ALLOC(ndr, r->out.level_out);
14296 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14297 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14300 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14301 NDR_PULL_ALLOC(ndr, r->out.ctr);
14303 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14304 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14305 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14306 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14308 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14310 return NDR_ERR_SUCCESS;
14313 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14315 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14316 ndr->depth++;
14317 if (flags & NDR_SET_VALUES) {
14318 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14320 if (flags & NDR_IN) {
14321 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14322 ndr->depth++;
14323 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14324 ndr->depth++;
14325 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14326 ndr->depth--;
14327 ndr_print_uint32(ndr, "level", r->in.level);
14328 ndr_print_ptr(ndr, "req", r->in.req);
14329 ndr->depth++;
14330 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14331 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14332 ndr->depth--;
14333 ndr->depth--;
14335 if (flags & NDR_OUT) {
14336 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14337 ndr->depth++;
14338 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14339 ndr->depth++;
14340 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14341 ndr->depth--;
14342 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14343 ndr->depth++;
14344 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14345 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14346 ndr->depth--;
14347 ndr_print_WERROR(ndr, "result", r->out.result);
14348 ndr->depth--;
14350 ndr->depth--;
14353 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14355 if (flags & NDR_IN) {
14356 if (r->in.bind_handle == NULL) {
14357 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14359 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14361 if (r->in.req == NULL) {
14362 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14364 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14365 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14367 if (flags & NDR_OUT) {
14368 if (r->out.level_out == NULL) {
14369 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14372 if (r->out.res == NULL) {
14373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14375 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14376 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14377 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14379 return NDR_ERR_SUCCESS;
14382 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14384 TALLOC_CTX *_mem_save_bind_handle_0;
14385 TALLOC_CTX *_mem_save_req_0;
14386 TALLOC_CTX *_mem_save_level_out_0;
14387 TALLOC_CTX *_mem_save_res_0;
14388 if (flags & NDR_IN) {
14389 ZERO_STRUCT(r->out);
14391 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14392 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14394 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14395 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14396 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14398 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14399 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14400 NDR_PULL_ALLOC(ndr, r->in.req);
14402 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14403 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14404 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14405 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14407 NDR_PULL_ALLOC(ndr, r->out.level_out);
14408 ZERO_STRUCTP(r->out.level_out);
14409 NDR_PULL_ALLOC(ndr, r->out.res);
14410 ZERO_STRUCTP(r->out.res);
14412 if (flags & NDR_OUT) {
14413 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14414 NDR_PULL_ALLOC(ndr, r->out.level_out);
14416 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14417 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14418 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14420 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14421 NDR_PULL_ALLOC(ndr, r->out.res);
14423 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14424 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14425 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14426 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14427 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14428 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14430 return NDR_ERR_SUCCESS;
14433 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14435 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14436 ndr->depth++;
14437 if (flags & NDR_SET_VALUES) {
14438 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14440 if (flags & NDR_IN) {
14441 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14442 ndr->depth++;
14443 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14444 ndr->depth++;
14445 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14446 ndr->depth--;
14447 ndr_print_uint32(ndr, "level", r->in.level);
14448 ndr_print_ptr(ndr, "req", r->in.req);
14449 ndr->depth++;
14450 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14451 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14452 ndr->depth--;
14453 ndr->depth--;
14455 if (flags & NDR_OUT) {
14456 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14457 ndr->depth++;
14458 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14459 ndr->depth++;
14460 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14461 ndr->depth--;
14462 ndr_print_ptr(ndr, "res", r->out.res);
14463 ndr->depth++;
14464 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14465 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14466 ndr->depth--;
14467 ndr_print_WERROR(ndr, "result", r->out.result);
14468 ndr->depth--;
14470 ndr->depth--;
14473 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14475 if (flags & NDR_IN) {
14476 if (r->in.bind_handle == NULL) {
14477 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14479 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14481 if (r->in.req == NULL) {
14482 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14484 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14485 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14487 if (flags & NDR_OUT) {
14488 if (r->out.level_out == NULL) {
14489 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14492 if (r->out.res == NULL) {
14493 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14495 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14496 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14497 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14499 return NDR_ERR_SUCCESS;
14502 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14504 TALLOC_CTX *_mem_save_bind_handle_0;
14505 TALLOC_CTX *_mem_save_req_0;
14506 TALLOC_CTX *_mem_save_level_out_0;
14507 TALLOC_CTX *_mem_save_res_0;
14508 if (flags & NDR_IN) {
14509 ZERO_STRUCT(r->out);
14511 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14512 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14514 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14515 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14516 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14519 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14520 NDR_PULL_ALLOC(ndr, r->in.req);
14522 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14523 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14524 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14525 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14527 NDR_PULL_ALLOC(ndr, r->out.level_out);
14528 ZERO_STRUCTP(r->out.level_out);
14529 NDR_PULL_ALLOC(ndr, r->out.res);
14530 ZERO_STRUCTP(r->out.res);
14532 if (flags & NDR_OUT) {
14533 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14534 NDR_PULL_ALLOC(ndr, r->out.level_out);
14536 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14537 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14538 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14539 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14540 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14541 NDR_PULL_ALLOC(ndr, r->out.res);
14543 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14544 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14545 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14546 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14547 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14548 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14550 return NDR_ERR_SUCCESS;
14553 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14555 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14556 ndr->depth++;
14557 if (flags & NDR_SET_VALUES) {
14558 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14560 if (flags & NDR_IN) {
14561 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14562 ndr->depth++;
14563 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14564 ndr->depth++;
14565 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14566 ndr->depth--;
14567 ndr_print_uint32(ndr, "level", r->in.level);
14568 ndr_print_ptr(ndr, "req", r->in.req);
14569 ndr->depth++;
14570 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14571 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14572 ndr->depth--;
14573 ndr->depth--;
14575 if (flags & NDR_OUT) {
14576 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14577 ndr->depth++;
14578 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14579 ndr->depth++;
14580 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14581 ndr->depth--;
14582 ndr_print_ptr(ndr, "res", r->out.res);
14583 ndr->depth++;
14584 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14585 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14586 ndr->depth--;
14587 ndr_print_WERROR(ndr, "result", r->out.result);
14588 ndr->depth--;
14590 ndr->depth--;
14593 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14595 if (flags & NDR_IN) {
14597 if (flags & NDR_OUT) {
14598 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14600 return NDR_ERR_SUCCESS;
14603 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14605 if (flags & NDR_IN) {
14607 if (flags & NDR_OUT) {
14608 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14610 return NDR_ERR_SUCCESS;
14613 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14615 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14616 ndr->depth++;
14617 if (flags & NDR_SET_VALUES) {
14618 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14620 if (flags & NDR_IN) {
14621 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14622 ndr->depth++;
14623 ndr->depth--;
14625 if (flags & NDR_OUT) {
14626 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14627 ndr->depth++;
14628 ndr_print_WERROR(ndr, "result", r->out.result);
14629 ndr->depth--;
14631 ndr->depth--;
14634 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14636 if (flags & NDR_IN) {
14637 if (r->in.bind_handle == NULL) {
14638 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14640 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14641 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14642 if (r->in.req == NULL) {
14643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14645 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14646 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14648 if (flags & NDR_OUT) {
14649 if (r->out.level_out == NULL) {
14650 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14652 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14653 if (r->out.ctr == NULL) {
14654 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14656 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14657 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14658 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14660 return NDR_ERR_SUCCESS;
14663 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14665 TALLOC_CTX *_mem_save_bind_handle_0;
14666 TALLOC_CTX *_mem_save_req_0;
14667 TALLOC_CTX *_mem_save_level_out_0;
14668 TALLOC_CTX *_mem_save_ctr_0;
14669 if (flags & NDR_IN) {
14670 ZERO_STRUCT(r->out);
14672 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14673 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14675 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14676 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14677 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14679 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14681 NDR_PULL_ALLOC(ndr, r->in.req);
14683 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14684 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14685 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14686 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14688 NDR_PULL_ALLOC(ndr, r->out.level_out);
14689 ZERO_STRUCTP(r->out.level_out);
14690 NDR_PULL_ALLOC(ndr, r->out.ctr);
14691 ZERO_STRUCTP(r->out.ctr);
14693 if (flags & NDR_OUT) {
14694 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14695 NDR_PULL_ALLOC(ndr, r->out.level_out);
14697 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14698 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14699 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14701 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14702 NDR_PULL_ALLOC(ndr, r->out.ctr);
14704 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14705 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14706 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14707 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14709 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14711 return NDR_ERR_SUCCESS;
14714 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14716 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14717 ndr->depth++;
14718 if (flags & NDR_SET_VALUES) {
14719 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14721 if (flags & NDR_IN) {
14722 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14723 ndr->depth++;
14724 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14725 ndr->depth++;
14726 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14727 ndr->depth--;
14728 ndr_print_int32(ndr, "level", r->in.level);
14729 ndr_print_ptr(ndr, "req", r->in.req);
14730 ndr->depth++;
14731 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14732 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14733 ndr->depth--;
14734 ndr->depth--;
14736 if (flags & NDR_OUT) {
14737 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14738 ndr->depth++;
14739 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14740 ndr->depth++;
14741 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14742 ndr->depth--;
14743 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14744 ndr->depth++;
14745 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14746 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14747 ndr->depth--;
14748 ndr_print_WERROR(ndr, "result", r->out.result);
14749 ndr->depth--;
14751 ndr->depth--;
14754 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14756 if (flags & NDR_IN) {
14757 if (r->in.bind_handle == NULL) {
14758 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14760 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14761 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14762 if (r->in.req == NULL) {
14763 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14765 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14766 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14768 if (flags & NDR_OUT) {
14769 if (r->out.level_out == NULL) {
14770 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14772 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14773 if (r->out.ctr == NULL) {
14774 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14776 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14777 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14778 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14780 return NDR_ERR_SUCCESS;
14783 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14785 TALLOC_CTX *_mem_save_bind_handle_0;
14786 TALLOC_CTX *_mem_save_req_0;
14787 TALLOC_CTX *_mem_save_level_out_0;
14788 TALLOC_CTX *_mem_save_ctr_0;
14789 if (flags & NDR_IN) {
14790 ZERO_STRUCT(r->out);
14792 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14793 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14795 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14796 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14797 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14799 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14800 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14801 NDR_PULL_ALLOC(ndr, r->in.req);
14803 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14804 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14805 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14806 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14807 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14808 NDR_PULL_ALLOC(ndr, r->out.level_out);
14809 ZERO_STRUCTP(r->out.level_out);
14810 NDR_PULL_ALLOC(ndr, r->out.ctr);
14811 ZERO_STRUCTP(r->out.ctr);
14813 if (flags & NDR_OUT) {
14814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14815 NDR_PULL_ALLOC(ndr, r->out.level_out);
14817 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14818 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14819 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14822 NDR_PULL_ALLOC(ndr, r->out.ctr);
14824 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14825 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14826 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14827 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14829 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14831 return NDR_ERR_SUCCESS;
14834 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14836 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14837 ndr->depth++;
14838 if (flags & NDR_SET_VALUES) {
14839 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14841 if (flags & NDR_IN) {
14842 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14843 ndr->depth++;
14844 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14845 ndr->depth++;
14846 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14847 ndr->depth--;
14848 ndr_print_int32(ndr, "level", r->in.level);
14849 ndr_print_ptr(ndr, "req", r->in.req);
14850 ndr->depth++;
14851 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14852 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14853 ndr->depth--;
14854 ndr->depth--;
14856 if (flags & NDR_OUT) {
14857 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14858 ndr->depth++;
14859 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14860 ndr->depth++;
14861 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14862 ndr->depth--;
14863 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14864 ndr->depth++;
14865 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14866 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14867 ndr->depth--;
14868 ndr_print_WERROR(ndr, "result", r->out.result);
14869 ndr->depth--;
14871 ndr->depth--;
14874 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
14876 if (flags & NDR_IN) {
14877 if (r->in.bind_handle == NULL) {
14878 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14880 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14882 if (r->in.req == NULL) {
14883 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14885 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14886 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14888 if (flags & NDR_OUT) {
14889 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14891 return NDR_ERR_SUCCESS;
14894 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
14896 TALLOC_CTX *_mem_save_bind_handle_0;
14897 TALLOC_CTX *_mem_save_req_0;
14898 if (flags & NDR_IN) {
14899 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14900 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14902 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14903 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14904 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14906 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14907 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14908 NDR_PULL_ALLOC(ndr, r->in.req);
14910 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14911 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14912 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14913 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14916 if (flags & NDR_OUT) {
14917 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14919 return NDR_ERR_SUCCESS;
14922 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
14924 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
14925 ndr->depth++;
14926 if (flags & NDR_SET_VALUES) {
14927 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14929 if (flags & NDR_IN) {
14930 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
14931 ndr->depth++;
14932 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14933 ndr->depth++;
14934 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14935 ndr->depth--;
14936 ndr_print_uint32(ndr, "level", r->in.level);
14937 ndr_print_ptr(ndr, "req", r->in.req);
14938 ndr->depth++;
14939 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14940 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
14941 ndr->depth--;
14942 ndr->depth--;
14944 if (flags & NDR_OUT) {
14945 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
14946 ndr->depth++;
14947 ndr_print_WERROR(ndr, "result", r->out.result);
14948 ndr->depth--;
14950 ndr->depth--;
14953 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14955 if (flags & NDR_IN) {
14956 if (r->in.bind_handle == NULL) {
14957 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14959 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14960 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14961 if (r->in.req == NULL) {
14962 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14964 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14965 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14967 if (flags & NDR_OUT) {
14968 if (r->out.info_type == NULL) {
14969 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14971 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14972 if (r->out.info == NULL) {
14973 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14975 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14976 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14977 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14979 return NDR_ERR_SUCCESS;
14982 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
14984 TALLOC_CTX *_mem_save_bind_handle_0;
14985 TALLOC_CTX *_mem_save_req_0;
14986 TALLOC_CTX *_mem_save_info_type_0;
14987 TALLOC_CTX *_mem_save_info_0;
14988 if (flags & NDR_IN) {
14989 ZERO_STRUCT(r->out);
14991 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14992 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14994 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14995 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14996 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
14999 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15000 NDR_PULL_ALLOC(ndr, r->in.req);
15002 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15003 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15004 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15007 NDR_PULL_ALLOC(ndr, r->out.info_type);
15008 ZERO_STRUCTP(r->out.info_type);
15009 NDR_PULL_ALLOC(ndr, r->out.info);
15010 ZERO_STRUCTP(r->out.info);
15012 if (flags & NDR_OUT) {
15013 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15014 NDR_PULL_ALLOC(ndr, r->out.info_type);
15016 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15017 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15021 NDR_PULL_ALLOC(ndr, r->out.info);
15023 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15024 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15025 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15028 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15030 return NDR_ERR_SUCCESS;
15033 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15035 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15036 ndr->depth++;
15037 if (flags & NDR_SET_VALUES) {
15038 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15040 if (flags & NDR_IN) {
15041 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15042 ndr->depth++;
15043 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15044 ndr->depth++;
15045 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15046 ndr->depth--;
15047 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15048 ndr_print_ptr(ndr, "req", r->in.req);
15049 ndr->depth++;
15050 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15051 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15052 ndr->depth--;
15053 ndr->depth--;
15055 if (flags & NDR_OUT) {
15056 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15057 ndr->depth++;
15058 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15059 ndr->depth++;
15060 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15061 ndr->depth--;
15062 ndr_print_ptr(ndr, "info", r->out.info);
15063 ndr->depth++;
15064 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15065 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15066 ndr->depth--;
15067 ndr_print_WERROR(ndr, "result", r->out.result);
15068 ndr->depth--;
15070 ndr->depth--;
15073 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15075 if (flags & NDR_IN) {
15077 if (flags & NDR_OUT) {
15078 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15080 return NDR_ERR_SUCCESS;
15083 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15085 if (flags & NDR_IN) {
15087 if (flags & NDR_OUT) {
15088 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15090 return NDR_ERR_SUCCESS;
15093 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15095 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15096 ndr->depth++;
15097 if (flags & NDR_SET_VALUES) {
15098 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15100 if (flags & NDR_IN) {
15101 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15102 ndr->depth++;
15103 ndr->depth--;
15105 if (flags & NDR_OUT) {
15106 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15107 ndr->depth++;
15108 ndr_print_WERROR(ndr, "result", r->out.result);
15109 ndr->depth--;
15111 ndr->depth--;
15114 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15116 if (flags & NDR_IN) {
15117 if (r->in.bind_handle == NULL) {
15118 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15120 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15122 if (r->in.req == NULL) {
15123 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15125 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15126 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15128 if (flags & NDR_OUT) {
15129 if (r->out.level_out == NULL) {
15130 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15133 if (r->out.ctr == NULL) {
15134 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15136 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15137 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15138 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15140 return NDR_ERR_SUCCESS;
15143 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15145 TALLOC_CTX *_mem_save_bind_handle_0;
15146 TALLOC_CTX *_mem_save_req_0;
15147 TALLOC_CTX *_mem_save_level_out_0;
15148 TALLOC_CTX *_mem_save_ctr_0;
15149 if (flags & NDR_IN) {
15150 ZERO_STRUCT(r->out);
15152 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15153 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15155 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15156 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15157 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15160 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15161 NDR_PULL_ALLOC(ndr, r->in.req);
15163 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15164 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15165 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15166 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15168 NDR_PULL_ALLOC(ndr, r->out.level_out);
15169 ZERO_STRUCTP(r->out.level_out);
15170 NDR_PULL_ALLOC(ndr, r->out.ctr);
15171 ZERO_STRUCTP(r->out.ctr);
15173 if (flags & NDR_OUT) {
15174 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15175 NDR_PULL_ALLOC(ndr, r->out.level_out);
15177 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15178 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15181 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15182 NDR_PULL_ALLOC(ndr, r->out.ctr);
15184 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15185 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15186 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15187 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15189 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15191 return NDR_ERR_SUCCESS;
15194 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15196 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15197 ndr->depth++;
15198 if (flags & NDR_SET_VALUES) {
15199 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15201 if (flags & NDR_IN) {
15202 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15203 ndr->depth++;
15204 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15205 ndr->depth++;
15206 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15207 ndr->depth--;
15208 ndr_print_uint32(ndr, "level", r->in.level);
15209 ndr_print_ptr(ndr, "req", r->in.req);
15210 ndr->depth++;
15211 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15212 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15213 ndr->depth--;
15214 ndr->depth--;
15216 if (flags & NDR_OUT) {
15217 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15218 ndr->depth++;
15219 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15220 ndr->depth++;
15221 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15222 ndr->depth--;
15223 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15224 ndr->depth++;
15225 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15226 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15227 ndr->depth--;
15228 ndr_print_WERROR(ndr, "result", r->out.result);
15229 ndr->depth--;
15231 ndr->depth--;
15234 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15236 if (flags & NDR_IN) {
15238 if (flags & NDR_OUT) {
15239 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15241 return NDR_ERR_SUCCESS;
15244 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15246 if (flags & NDR_IN) {
15248 if (flags & NDR_OUT) {
15249 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15251 return NDR_ERR_SUCCESS;
15254 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15256 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15257 ndr->depth++;
15258 if (flags & NDR_SET_VALUES) {
15259 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15261 if (flags & NDR_IN) {
15262 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15263 ndr->depth++;
15264 ndr->depth--;
15266 if (flags & NDR_OUT) {
15267 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15268 ndr->depth++;
15269 ndr_print_WERROR(ndr, "result", r->out.result);
15270 ndr->depth--;
15272 ndr->depth--;
15275 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15277 if (flags & NDR_IN) {
15279 if (flags & NDR_OUT) {
15280 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15282 return NDR_ERR_SUCCESS;
15285 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15287 if (flags & NDR_IN) {
15289 if (flags & NDR_OUT) {
15290 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15292 return NDR_ERR_SUCCESS;
15295 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15297 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15298 ndr->depth++;
15299 if (flags & NDR_SET_VALUES) {
15300 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15302 if (flags & NDR_IN) {
15303 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15304 ndr->depth++;
15305 ndr->depth--;
15307 if (flags & NDR_OUT) {
15308 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15309 ndr->depth++;
15310 ndr_print_WERROR(ndr, "result", r->out.result);
15311 ndr->depth--;
15313 ndr->depth--;
15316 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15318 if (flags & NDR_IN) {
15319 if (r->in.bind_handle == NULL) {
15320 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15322 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15324 if (r->in.req == NULL) {
15325 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15327 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15328 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15330 if (flags & NDR_OUT) {
15331 if (r->out.level_out == NULL) {
15332 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15335 if (r->out.ctr == NULL) {
15336 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15338 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15339 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15340 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15342 return NDR_ERR_SUCCESS;
15345 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15347 TALLOC_CTX *_mem_save_bind_handle_0;
15348 TALLOC_CTX *_mem_save_req_0;
15349 TALLOC_CTX *_mem_save_level_out_0;
15350 TALLOC_CTX *_mem_save_ctr_0;
15351 if (flags & NDR_IN) {
15352 ZERO_STRUCT(r->out);
15354 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15355 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15357 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15358 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15359 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15362 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15363 NDR_PULL_ALLOC(ndr, r->in.req);
15365 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15366 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15367 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15368 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15370 NDR_PULL_ALLOC(ndr, r->out.level_out);
15371 ZERO_STRUCTP(r->out.level_out);
15372 NDR_PULL_ALLOC(ndr, r->out.ctr);
15373 ZERO_STRUCTP(r->out.ctr);
15375 if (flags & NDR_OUT) {
15376 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15377 NDR_PULL_ALLOC(ndr, r->out.level_out);
15379 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15380 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15384 NDR_PULL_ALLOC(ndr, r->out.ctr);
15386 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15387 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15388 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15389 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15391 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15393 return NDR_ERR_SUCCESS;
15396 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15398 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15399 ndr->depth++;
15400 if (flags & NDR_SET_VALUES) {
15401 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15403 if (flags & NDR_IN) {
15404 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15405 ndr->depth++;
15406 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15407 ndr->depth++;
15408 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15409 ndr->depth--;
15410 ndr_print_uint32(ndr, "level", r->in.level);
15411 ndr_print_ptr(ndr, "req", r->in.req);
15412 ndr->depth++;
15413 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15414 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15415 ndr->depth--;
15416 ndr->depth--;
15418 if (flags & NDR_OUT) {
15419 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15420 ndr->depth++;
15421 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15422 ndr->depth++;
15423 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15424 ndr->depth--;
15425 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15426 ndr->depth++;
15427 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15428 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15429 ndr->depth--;
15430 ndr_print_WERROR(ndr, "result", r->out.result);
15431 ndr->depth--;
15433 ndr->depth--;
15436 static const struct ndr_interface_call drsuapi_calls[] = {
15438 "drsuapi_DsBind",
15439 sizeof(struct drsuapi_DsBind),
15440 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15441 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15442 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15443 false,
15446 "drsuapi_DsUnbind",
15447 sizeof(struct drsuapi_DsUnbind),
15448 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15449 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15450 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15451 false,
15454 "drsuapi_DsReplicaSync",
15455 sizeof(struct drsuapi_DsReplicaSync),
15456 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15457 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15458 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15459 false,
15462 "drsuapi_DsGetNCChanges",
15463 sizeof(struct drsuapi_DsGetNCChanges),
15464 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15465 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15466 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15467 false,
15470 "drsuapi_DsReplicaUpdateRefs",
15471 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15472 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15473 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15474 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15475 false,
15478 "drsuapi_DsReplicaAdd",
15479 sizeof(struct drsuapi_DsReplicaAdd),
15480 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15481 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15482 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15483 false,
15486 "drsuapi_DsReplicaDel",
15487 sizeof(struct drsuapi_DsReplicaDel),
15488 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15489 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15490 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15491 false,
15494 "drsuapi_DsReplicaMod",
15495 sizeof(struct drsuapi_DsReplicaMod),
15496 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15497 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15498 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15499 false,
15502 "DRSUAPI_VERIFY_NAMES",
15503 sizeof(struct DRSUAPI_VERIFY_NAMES),
15504 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15505 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15506 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15507 false,
15510 "drsuapi_DsGetMemberships",
15511 sizeof(struct drsuapi_DsGetMemberships),
15512 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15513 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15514 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15515 false,
15518 "DRSUAPI_INTER_DOMAIN_MOVE",
15519 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15520 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15521 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15522 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15523 false,
15526 "drsuapi_DsGetNT4ChangeLog",
15527 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15528 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15529 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15530 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15531 false,
15534 "drsuapi_DsCrackNames",
15535 sizeof(struct drsuapi_DsCrackNames),
15536 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15537 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15538 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15539 false,
15542 "drsuapi_DsWriteAccountSpn",
15543 sizeof(struct drsuapi_DsWriteAccountSpn),
15544 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15545 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15546 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15547 false,
15550 "drsuapi_DsRemoveDSServer",
15551 sizeof(struct drsuapi_DsRemoveDSServer),
15552 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15553 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15554 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15555 false,
15558 "DRSUAPI_REMOVE_DS_DOMAIN",
15559 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15560 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15561 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15562 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15563 false,
15566 "drsuapi_DsGetDomainControllerInfo",
15567 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15568 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15569 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15570 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15571 false,
15574 "drsuapi_DsAddEntry",
15575 sizeof(struct drsuapi_DsAddEntry),
15576 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15577 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15578 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15579 false,
15582 "drsuapi_DsExecuteKCC",
15583 sizeof(struct drsuapi_DsExecuteKCC),
15584 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15585 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15586 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15587 false,
15590 "drsuapi_DsReplicaGetInfo",
15591 sizeof(struct drsuapi_DsReplicaGetInfo),
15592 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15593 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15594 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15595 false,
15598 "DRSUAPI_ADD_SID_HISTORY",
15599 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15600 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15601 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15602 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15603 false,
15606 "drsuapi_DsGetMemberships2",
15607 sizeof(struct drsuapi_DsGetMemberships2),
15608 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15609 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15610 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15611 false,
15614 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15615 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15616 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15617 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15618 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15619 false,
15622 "DRSUAPI_GET_OBJECT_EXISTENCE",
15623 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15624 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15625 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15626 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15627 false,
15630 "drsuapi_QuerySitesByCost",
15631 sizeof(struct drsuapi_QuerySitesByCost),
15632 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15633 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15634 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15635 false,
15637 { NULL, 0, NULL, NULL, NULL, false }
15640 static const char * const drsuapi_endpoint_strings[] = {
15641 "ncacn_np:[\\pipe\\lsass]",
15642 "ncacn_np:[\\pipe\\protected_storage]",
15643 "ncacn_ip_tcp:",
15644 "ncalrpc:",
15647 static const struct ndr_interface_string_array drsuapi_endpoints = {
15648 .count = 4,
15649 .names = drsuapi_endpoint_strings
15652 static const char * const drsuapi_authservice_strings[] = {
15653 "ldap",
15656 static const struct ndr_interface_string_array drsuapi_authservices = {
15657 .count = 1,
15658 .names = drsuapi_authservice_strings
15662 const struct ndr_interface_table ndr_table_drsuapi = {
15663 .name = "drsuapi",
15664 .syntax_id = {
15665 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15666 NDR_DRSUAPI_VERSION
15668 .helpstring = NDR_DRSUAPI_HELPSTRING,
15669 .num_calls = 25,
15670 .calls = drsuapi_calls,
15671 .endpoints = &drsuapi_endpoints,
15672 .authservices = &drsuapi_authservices