build: Add an always parameter to CHECK_DECLS
[Samba/gebeck_regimport.git] / librpc / gen_ndr / ndr_drsuapi.c
blobd233afef6094c9bc0b25e4ae89bd95be11eeeead
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_lsa.h"
9 #include "librpc/gen_ndr/ndr_samr.h"
10 #include "librpc/ndr/ndr_compression.h"
11 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
13 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
14 return NDR_ERR_SUCCESS;
17 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19 uint32_t v;
20 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21 *r = v;
22 return NDR_ERR_SUCCESS;
25 _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
27 ndr_print_uint32(ndr, name, r);
28 ndr->depth++;
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
58 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
59 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
60 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
61 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
62 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
63 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
64 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
65 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
66 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
67 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
68 ndr->depth--;
71 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
73 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
74 return NDR_ERR_SUCCESS;
77 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
79 uint32_t v;
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
81 *r = v;
82 return NDR_ERR_SUCCESS;
85 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
87 ndr_print_uint32(ndr, name, r);
88 ndr->depth++;
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
91 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
92 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
93 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
99 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
101 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);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r);
110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
113 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
114 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
115 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
116 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r);
121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r);
122 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r);
123 ndr->depth--;
126 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
129 return NDR_ERR_SUCCESS;
132 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
134 uint32_t v;
135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
136 *r = v;
137 return NDR_ERR_SUCCESS;
140 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
142 ndr_print_uint32(ndr, name, r);
143 ndr->depth++;
144 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
145 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
146 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r);
147 ndr->depth--;
150 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
152 if (ndr_flags & NDR_SCALARS) {
153 NDR_CHECK(ndr_push_align(ndr, 4));
154 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
155 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
157 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
159 if (ndr_flags & NDR_BUFFERS) {
161 return NDR_ERR_SUCCESS;
164 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
166 if (ndr_flags & NDR_SCALARS) {
167 NDR_CHECK(ndr_pull_align(ndr, 4));
168 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
169 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
171 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
173 if (ndr_flags & NDR_BUFFERS) {
175 return NDR_ERR_SUCCESS;
178 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
180 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
181 ndr->depth++;
182 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
183 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
184 ndr_print_uint32(ndr, "pid", r->pid);
185 ndr->depth--;
188 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
190 if (ndr_flags & NDR_SCALARS) {
191 NDR_CHECK(ndr_push_align(ndr, 4));
192 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
193 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
196 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
198 if (ndr_flags & NDR_BUFFERS) {
200 return NDR_ERR_SUCCESS;
203 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
205 if (ndr_flags & NDR_SCALARS) {
206 NDR_CHECK(ndr_pull_align(ndr, 4));
207 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
208 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
211 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
213 if (ndr_flags & NDR_BUFFERS) {
215 return NDR_ERR_SUCCESS;
218 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
220 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
221 ndr->depth++;
222 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
223 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
224 ndr_print_uint32(ndr, "pid", r->pid);
225 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
226 ndr->depth--;
229 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
231 if (ndr_flags & NDR_SCALARS) {
232 NDR_CHECK(ndr_push_align(ndr, 4));
233 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
234 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
237 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
238 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
239 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
241 if (ndr_flags & NDR_BUFFERS) {
243 return NDR_ERR_SUCCESS;
246 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
248 if (ndr_flags & NDR_SCALARS) {
249 NDR_CHECK(ndr_pull_align(ndr, 4));
250 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
251 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
253 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
254 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
255 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
256 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
258 if (ndr_flags & NDR_BUFFERS) {
260 return NDR_ERR_SUCCESS;
263 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
265 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
266 ndr->depth++;
267 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
268 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
269 ndr_print_uint32(ndr, "pid", r->pid);
270 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
271 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
272 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
273 ndr->depth--;
276 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
278 if (ndr_flags & NDR_SCALARS) {
279 NDR_CHECK(ndr_push_align(ndr, 4));
281 uint32_t _flags_save_DATA_BLOB = ndr->flags;
282 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
283 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
284 ndr->flags = _flags_save_DATA_BLOB;
286 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
288 if (ndr_flags & NDR_BUFFERS) {
290 return NDR_ERR_SUCCESS;
293 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
295 if (ndr_flags & NDR_SCALARS) {
296 NDR_CHECK(ndr_pull_align(ndr, 4));
298 uint32_t _flags_save_DATA_BLOB = ndr->flags;
299 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
300 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
301 ndr->flags = _flags_save_DATA_BLOB;
303 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
305 if (ndr_flags & NDR_BUFFERS) {
307 return NDR_ERR_SUCCESS;
310 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
312 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
313 ndr->depth++;
314 ndr_print_DATA_BLOB(ndr, "info", r->info);
315 ndr->depth--;
318 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
320 if (ndr_flags & NDR_SCALARS) {
321 int level = ndr_push_get_switch_value(ndr, r);
322 NDR_CHECK(ndr_push_union_align(ndr, 1));
323 switch (level) {
324 case 24: {
326 struct ndr_push *_ndr_info24;
327 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
328 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
329 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
331 break; }
333 case 28: {
335 struct ndr_push *_ndr_info28;
336 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
337 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
338 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
340 break; }
342 case 48: {
344 struct ndr_push *_ndr_info48;
345 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
346 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
347 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
349 break; }
351 default: {
353 struct ndr_push *_ndr_FallBack;
354 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
355 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
356 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
358 break; }
362 if (ndr_flags & NDR_BUFFERS) {
363 int level = ndr_push_get_switch_value(ndr, r);
364 switch (level) {
365 case 24:
366 break;
368 case 28:
369 break;
371 case 48:
372 break;
374 default:
375 break;
379 return NDR_ERR_SUCCESS;
382 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
384 int level;
385 level = ndr_pull_get_switch_value(ndr, r);
386 if (ndr_flags & NDR_SCALARS) {
387 NDR_CHECK(ndr_pull_union_align(ndr, 1));
388 switch (level) {
389 case 24: {
391 struct ndr_pull *_ndr_info24;
392 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
393 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
394 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
396 break; }
398 case 28: {
400 struct ndr_pull *_ndr_info28;
401 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
402 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
403 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
405 break; }
407 case 48: {
409 struct ndr_pull *_ndr_info48;
410 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
411 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
412 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
414 break; }
416 default: {
418 struct ndr_pull *_ndr_FallBack;
419 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
420 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
421 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
423 break; }
427 if (ndr_flags & NDR_BUFFERS) {
428 switch (level) {
429 case 24:
430 break;
432 case 28:
433 break;
435 case 48:
436 break;
438 default:
439 break;
443 return NDR_ERR_SUCCESS;
446 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
448 int level;
449 level = ndr_print_get_switch_value(ndr, r);
450 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
451 switch (level) {
452 case 24:
453 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
454 break;
456 case 28:
457 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
458 break;
460 case 48:
461 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
462 break;
464 default:
465 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
466 break;
471 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
473 if (ndr_flags & NDR_SCALARS) {
474 NDR_CHECK(ndr_push_align(ndr, 4));
475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
476 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
477 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
478 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
480 if (ndr_flags & NDR_BUFFERS) {
482 return NDR_ERR_SUCCESS;
485 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
487 if (ndr_flags & NDR_SCALARS) {
488 NDR_CHECK(ndr_pull_align(ndr, 4));
489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
490 if (r->length < 1 || r->length > 10000) {
491 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
493 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
494 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
495 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
497 if (ndr_flags & NDR_BUFFERS) {
499 return NDR_ERR_SUCCESS;
502 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
504 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
505 ndr->depth++;
506 ndr_print_uint32(ndr, "length", r->length);
507 ndr_print_set_switch_value(ndr, &r->info, r->length);
508 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
509 ndr->depth--;
512 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
514 if (ndr_flags & NDR_SCALARS) {
515 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
516 NDR_CHECK(ndr_push_align(ndr, 4));
517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4));
518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
519 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
520 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
522 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
523 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
525 if (ndr_flags & NDR_BUFFERS) {
526 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
528 return NDR_ERR_SUCCESS;
531 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
533 if (ndr_flags & NDR_SCALARS) {
534 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
535 NDR_CHECK(ndr_pull_align(ndr, 4));
536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
538 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
539 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
540 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
541 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
542 if (r->dn) {
543 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
545 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
547 if (ndr_flags & NDR_BUFFERS) {
548 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
550 return NDR_ERR_SUCCESS;
553 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
555 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
556 ndr->depth++;
557 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);
558 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);
559 ndr_print_GUID(ndr, "guid", &r->guid);
560 ndr_print_dom_sid28(ndr, "sid", &r->sid);
561 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
562 ndr_print_string(ndr, "dn", r->dn);
563 ndr->depth--;
566 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
568 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
571 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
573 if (ndr_flags & NDR_SCALARS) {
574 NDR_CHECK(ndr_push_align(ndr, 5));
575 if (r->naming_context == NULL) {
576 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
578 NDR_CHECK(ndr_push_ref_ptr(ndr));
579 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
581 uint32_t _flags_save_string = ndr->flags;
582 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
584 ndr->flags = _flags_save_string;
586 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
587 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
589 if (ndr_flags & NDR_BUFFERS) {
590 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
592 uint32_t _flags_save_string = ndr->flags;
593 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
594 if (r->source_dsa_dns) {
595 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_dsa_dns));
597 ndr->flags = _flags_save_string;
600 return NDR_ERR_SUCCESS;
603 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
605 uint32_t _ptr_naming_context;
606 TALLOC_CTX *_mem_save_naming_context_0;
607 uint32_t _ptr_source_dsa_dns;
608 TALLOC_CTX *_mem_save_source_dsa_dns_0;
609 if (ndr_flags & NDR_SCALARS) {
610 NDR_CHECK(ndr_pull_align(ndr, 5));
611 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
612 if (_ptr_naming_context) {
613 NDR_PULL_ALLOC(ndr, r->naming_context);
614 } else {
615 r->naming_context = NULL;
617 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
619 uint32_t _flags_save_string = ndr->flags;
620 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
621 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
622 if (_ptr_source_dsa_dns) {
623 NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
624 } else {
625 r->source_dsa_dns = NULL;
627 ndr->flags = _flags_save_string;
629 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
630 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
632 if (ndr_flags & NDR_BUFFERS) {
633 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
634 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
635 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
638 uint32_t _flags_save_string = ndr->flags;
639 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
640 if (r->source_dsa_dns) {
641 _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
642 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
643 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_dsa_dns));
644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
646 ndr->flags = _flags_save_string;
649 return NDR_ERR_SUCCESS;
652 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
654 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
655 ndr->depth++;
656 ndr_print_ptr(ndr, "naming_context", r->naming_context);
657 ndr->depth++;
658 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
659 ndr->depth--;
660 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
661 ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
662 ndr->depth++;
663 if (r->source_dsa_dns) {
664 ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
666 ndr->depth--;
667 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
668 ndr->depth--;
671 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
673 if (ndr_flags & NDR_SCALARS) {
674 int level = ndr_push_get_switch_value(ndr, r);
675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
676 NDR_CHECK(ndr_push_union_align(ndr, 5));
677 switch (level) {
678 case 1: {
679 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
680 break; }
682 default:
683 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
686 if (ndr_flags & NDR_BUFFERS) {
687 int level = ndr_push_get_switch_value(ndr, r);
688 switch (level) {
689 case 1:
690 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
691 break;
693 default:
694 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
697 return NDR_ERR_SUCCESS;
700 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
702 int level;
703 uint32_t _level;
704 level = ndr_pull_get_switch_value(ndr, r);
705 if (ndr_flags & NDR_SCALARS) {
706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
707 if (_level != level) {
708 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
710 NDR_CHECK(ndr_pull_union_align(ndr, 5));
711 switch (level) {
712 case 1: {
713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
714 break; }
716 default:
717 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
720 if (ndr_flags & NDR_BUFFERS) {
721 switch (level) {
722 case 1:
723 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
724 break;
726 default:
727 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
730 return NDR_ERR_SUCCESS;
733 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
735 int level;
736 level = ndr_print_get_switch_value(ndr, r);
737 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
738 switch (level) {
739 case 1:
740 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
741 break;
743 default:
744 ndr_print_bad_level(ndr, name, level);
748 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
750 if (ndr_flags & NDR_SCALARS) {
751 NDR_CHECK(ndr_push_align(ndr, 8));
752 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
753 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
754 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
755 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
757 if (ndr_flags & NDR_BUFFERS) {
759 return NDR_ERR_SUCCESS;
762 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
764 if (ndr_flags & NDR_SCALARS) {
765 NDR_CHECK(ndr_pull_align(ndr, 8));
766 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
767 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
768 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
769 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
771 if (ndr_flags & NDR_BUFFERS) {
773 return NDR_ERR_SUCCESS;
776 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
778 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
779 ndr->depth++;
780 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
781 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
782 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
783 ndr->depth--;
786 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
788 if (ndr_flags & NDR_SCALARS) {
789 NDR_CHECK(ndr_push_align(ndr, 8));
790 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
791 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
792 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
794 if (ndr_flags & NDR_BUFFERS) {
796 return NDR_ERR_SUCCESS;
799 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
801 if (ndr_flags & NDR_SCALARS) {
802 NDR_CHECK(ndr_pull_align(ndr, 8));
803 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
804 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
805 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
807 if (ndr_flags & NDR_BUFFERS) {
809 return NDR_ERR_SUCCESS;
812 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
814 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
815 ndr->depth++;
816 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
817 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
818 ndr->depth--;
821 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
823 uint32_t cntr_cursors_0;
824 if (ndr_flags & NDR_SCALARS) {
825 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
826 NDR_CHECK(ndr_push_align(ndr, 8));
827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
831 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
832 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
834 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
836 if (ndr_flags & NDR_BUFFERS) {
838 return NDR_ERR_SUCCESS;
841 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
843 uint32_t cntr_cursors_0;
844 TALLOC_CTX *_mem_save_cursors_0;
845 if (ndr_flags & NDR_SCALARS) {
846 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
847 NDR_CHECK(ndr_pull_align(ndr, 8));
848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
850 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
851 if (r->count > 0x100000) {
852 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
855 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
856 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
857 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
858 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
859 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
862 if (r->cursors) {
863 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
865 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
867 if (ndr_flags & NDR_BUFFERS) {
869 return NDR_ERR_SUCCESS;
872 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
874 uint32_t cntr_cursors_0;
875 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
876 ndr->depth++;
877 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
878 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
879 ndr_print_uint32(ndr, "count", r->count);
880 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
881 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
882 ndr->depth++;
883 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
884 char *idx_0=NULL;
885 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
886 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
887 free(idx_0);
890 ndr->depth--;
891 ndr->depth--;
894 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
897 uint32_t _flags_save_ENUM = ndr->flags;
898 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
899 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
900 ndr->flags = _flags_save_ENUM;
902 return NDR_ERR_SUCCESS;
905 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
907 uint32_t v;
909 uint32_t _flags_save_ENUM = ndr->flags;
910 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
911 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
912 *r = v;
913 ndr->flags = _flags_save_ENUM;
915 return NDR_ERR_SUCCESS;
918 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
920 const char *val = NULL;
923 uint32_t _flags_save_ENUM = ndr->flags;
924 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
925 switch (r) {
926 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
927 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
928 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
929 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
930 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
931 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
932 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
933 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
935 ndr_print_enum(ndr, name, "ENUM", val, r);
936 ndr->flags = _flags_save_ENUM;
940 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
943 uint32_t _flags_save_ENUM = ndr->flags;
944 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
945 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
946 ndr->flags = _flags_save_ENUM;
948 return NDR_ERR_SUCCESS;
951 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
953 uint32_t v;
955 uint32_t _flags_save_ENUM = ndr->flags;
956 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
957 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
958 *r = v;
959 ndr->flags = _flags_save_ENUM;
961 return NDR_ERR_SUCCESS;
964 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
966 const char *val = NULL;
969 uint32_t _flags_save_ENUM = ndr->flags;
970 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
971 switch (r) {
972 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
973 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
974 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
975 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
976 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
977 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
978 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
979 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
980 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
981 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
982 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
983 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
984 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
985 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
986 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
987 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
988 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
990 ndr_print_enum(ndr, name, "ENUM", val, r);
991 ndr->flags = _flags_save_ENUM;
995 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
997 if (ndr_flags & NDR_SCALARS) {
998 NDR_CHECK(ndr_push_align(ndr, 8));
999 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1000 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1001 if (r->naming_context == NULL) {
1002 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1004 NDR_CHECK(ndr_push_ref_ptr(ndr));
1005 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1006 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1007 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1009 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1010 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1011 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1012 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1014 if (ndr_flags & NDR_BUFFERS) {
1015 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1016 if (r->uptodateness_vector) {
1017 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1020 return NDR_ERR_SUCCESS;
1023 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1025 uint32_t _ptr_naming_context;
1026 TALLOC_CTX *_mem_save_naming_context_0;
1027 uint32_t _ptr_uptodateness_vector;
1028 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1029 if (ndr_flags & NDR_SCALARS) {
1030 NDR_CHECK(ndr_pull_align(ndr, 8));
1031 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1032 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1033 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1034 if (_ptr_naming_context) {
1035 NDR_PULL_ALLOC(ndr, r->naming_context);
1036 } else {
1037 r->naming_context = NULL;
1039 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1041 if (_ptr_uptodateness_vector) {
1042 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1043 } else {
1044 r->uptodateness_vector = NULL;
1046 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1049 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1050 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1051 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1053 if (ndr_flags & NDR_BUFFERS) {
1054 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1055 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1056 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1058 if (r->uptodateness_vector) {
1059 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1060 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1061 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1065 return NDR_ERR_SUCCESS;
1068 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1070 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1071 ndr->depth++;
1072 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1073 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1074 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1075 ndr->depth++;
1076 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1077 ndr->depth--;
1078 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1079 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1080 ndr->depth++;
1081 if (r->uptodateness_vector) {
1082 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1084 ndr->depth--;
1085 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1086 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1087 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1088 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1089 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1090 ndr->depth--;
1093 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1095 if (ndr_flags & NDR_SCALARS) {
1096 NDR_CHECK(ndr_push_align(ndr, 5));
1097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1099 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1101 if (ndr_flags & NDR_BUFFERS) {
1102 if (r->binary_oid) {
1103 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1104 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1107 return NDR_ERR_SUCCESS;
1110 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1112 uint32_t _ptr_binary_oid;
1113 TALLOC_CTX *_mem_save_binary_oid_0;
1114 if (ndr_flags & NDR_SCALARS) {
1115 NDR_CHECK(ndr_pull_align(ndr, 5));
1116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1117 if (r->length > 10000) {
1118 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1121 if (_ptr_binary_oid) {
1122 NDR_PULL_ALLOC(ndr, r->binary_oid);
1123 } else {
1124 r->binary_oid = NULL;
1126 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1128 if (ndr_flags & NDR_BUFFERS) {
1129 if (r->binary_oid) {
1130 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1131 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1132 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1133 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1134 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1137 if (r->binary_oid) {
1138 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1141 return NDR_ERR_SUCCESS;
1144 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1146 if (ndr_flags & NDR_SCALARS) {
1147 NDR_CHECK(ndr_push_align(ndr, 5));
1148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1149 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1150 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1152 if (ndr_flags & NDR_BUFFERS) {
1153 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1155 return NDR_ERR_SUCCESS;
1158 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1160 if (ndr_flags & NDR_SCALARS) {
1161 NDR_CHECK(ndr_pull_align(ndr, 5));
1162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1163 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1164 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1166 if (ndr_flags & NDR_BUFFERS) {
1167 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1169 return NDR_ERR_SUCCESS;
1172 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1174 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1175 ndr->depth++;
1176 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1177 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1178 ndr->depth--;
1181 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1183 uint32_t cntr_mappings_1;
1184 if (ndr_flags & NDR_SCALARS) {
1185 NDR_CHECK(ndr_push_align(ndr, 5));
1186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1187 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1188 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1190 if (ndr_flags & NDR_BUFFERS) {
1191 if (r->mappings) {
1192 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1193 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1194 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1196 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1197 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1201 return NDR_ERR_SUCCESS;
1204 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1206 uint32_t _ptr_mappings;
1207 uint32_t cntr_mappings_1;
1208 TALLOC_CTX *_mem_save_mappings_0;
1209 TALLOC_CTX *_mem_save_mappings_1;
1210 if (ndr_flags & NDR_SCALARS) {
1211 NDR_CHECK(ndr_pull_align(ndr, 5));
1212 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1213 if (r->num_mappings > 0x100000) {
1214 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1216 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1217 if (_ptr_mappings) {
1218 NDR_PULL_ALLOC(ndr, r->mappings);
1219 } else {
1220 r->mappings = NULL;
1222 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1224 if (ndr_flags & NDR_BUFFERS) {
1225 if (r->mappings) {
1226 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1227 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1228 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1229 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1230 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1231 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1232 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1235 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1236 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1241 if (r->mappings) {
1242 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1245 return NDR_ERR_SUCCESS;
1248 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1250 uint32_t cntr_mappings_1;
1251 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1252 ndr->depth++;
1253 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1254 ndr_print_ptr(ndr, "mappings", r->mappings);
1255 ndr->depth++;
1256 if (r->mappings) {
1257 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1258 ndr->depth++;
1259 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1260 char *idx_1=NULL;
1261 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1262 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1263 free(idx_1);
1266 ndr->depth--;
1268 ndr->depth--;
1269 ndr->depth--;
1272 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1275 uint32_t _flags_save_ENUM = ndr->flags;
1276 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1277 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1278 ndr->flags = _flags_save_ENUM;
1280 return NDR_ERR_SUCCESS;
1283 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1285 uint32_t v;
1287 uint32_t _flags_save_ENUM = ndr->flags;
1288 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1289 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1290 *r = v;
1291 ndr->flags = _flags_save_ENUM;
1293 return NDR_ERR_SUCCESS;
1296 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1298 const char *val = NULL;
1301 uint32_t _flags_save_ENUM = ndr->flags;
1302 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1303 switch (r) {
1304 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1305 case DRSUAPI_ATTRIBUTE_cn: val = "DRSUAPI_ATTRIBUTE_cn"; break;
1306 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1307 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1308 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1309 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1310 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1311 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1312 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1313 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1314 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1315 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1316 case DRSUAPI_ATTRIBUTE_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1317 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1318 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1319 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1320 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1321 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1322 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1323 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1324 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1325 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1326 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1327 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1328 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1329 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1330 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1331 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1332 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1333 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1334 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1335 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1336 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1337 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1338 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1339 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1340 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1341 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1342 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1343 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1344 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1345 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1346 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1347 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1348 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1349 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1350 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1351 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1352 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1353 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1354 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1355 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1356 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1357 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1358 case DRSUAPI_ATTRIBUTE_options: val = "DRSUAPI_ATTRIBUTE_options"; break;
1359 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1360 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1361 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1362 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1363 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1364 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1365 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1366 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1367 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1368 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1369 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1370 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1371 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1372 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1373 case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1374 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1375 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1376 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1377 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1378 case DRSUAPI_ATTRIBUTE_NONE: val = "DRSUAPI_ATTRIBUTE_NONE"; break;
1380 ndr_print_enum(ndr, name, "ENUM", val, r);
1381 ndr->flags = _flags_save_ENUM;
1385 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1387 uint32_t cntr_attids_0;
1388 if (ndr_flags & NDR_SCALARS) {
1389 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1390 NDR_CHECK(ndr_push_align(ndr, 4));
1391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1394 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1395 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1397 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1399 if (ndr_flags & NDR_BUFFERS) {
1401 return NDR_ERR_SUCCESS;
1404 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1406 uint32_t cntr_attids_0;
1407 TALLOC_CTX *_mem_save_attids_0;
1408 if (ndr_flags & NDR_SCALARS) {
1409 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1410 NDR_CHECK(ndr_pull_align(ndr, 4));
1411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1414 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1415 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1417 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1418 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1419 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1420 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1421 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1424 if (r->attids) {
1425 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1427 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1429 if (ndr_flags & NDR_BUFFERS) {
1431 return NDR_ERR_SUCCESS;
1434 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1436 uint32_t cntr_attids_0;
1437 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1438 ndr->depth++;
1439 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1440 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1441 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1442 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1443 ndr->depth++;
1444 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1445 char *idx_0=NULL;
1446 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1447 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1448 free(idx_0);
1451 ndr->depth--;
1452 ndr->depth--;
1455 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1457 if (ndr_flags & NDR_SCALARS) {
1458 NDR_CHECK(ndr_push_align(ndr, 8));
1459 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1460 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1461 if (r->naming_context == NULL) {
1462 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1464 NDR_CHECK(ndr_push_ref_ptr(ndr));
1465 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1466 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1467 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1470 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1471 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1473 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1474 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1475 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1477 if (ndr_flags & NDR_BUFFERS) {
1478 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1479 if (r->uptodateness_vector) {
1480 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1482 if (r->partial_attribute_set) {
1483 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1485 if (r->partial_attribute_set_ex) {
1486 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1488 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1490 return NDR_ERR_SUCCESS;
1493 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1495 uint32_t _ptr_naming_context;
1496 TALLOC_CTX *_mem_save_naming_context_0;
1497 uint32_t _ptr_uptodateness_vector;
1498 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1499 uint32_t _ptr_partial_attribute_set;
1500 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1501 uint32_t _ptr_partial_attribute_set_ex;
1502 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1503 if (ndr_flags & NDR_SCALARS) {
1504 NDR_CHECK(ndr_pull_align(ndr, 8));
1505 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1506 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1507 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1508 if (_ptr_naming_context) {
1509 NDR_PULL_ALLOC(ndr, r->naming_context);
1510 } else {
1511 r->naming_context = NULL;
1513 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1514 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1515 if (_ptr_uptodateness_vector) {
1516 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1517 } else {
1518 r->uptodateness_vector = NULL;
1520 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1522 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1523 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1524 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1526 if (_ptr_partial_attribute_set) {
1527 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1528 } else {
1529 r->partial_attribute_set = NULL;
1531 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1532 if (_ptr_partial_attribute_set_ex) {
1533 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1534 } else {
1535 r->partial_attribute_set_ex = NULL;
1537 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1538 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1540 if (ndr_flags & NDR_BUFFERS) {
1541 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1542 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1543 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1545 if (r->uptodateness_vector) {
1546 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1547 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1548 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1551 if (r->partial_attribute_set) {
1552 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1553 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1554 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1555 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1557 if (r->partial_attribute_set_ex) {
1558 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1559 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1560 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1563 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1565 return NDR_ERR_SUCCESS;
1568 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1570 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1571 ndr->depth++;
1572 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1573 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1574 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1575 ndr->depth++;
1576 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1577 ndr->depth--;
1578 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1579 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1580 ndr->depth++;
1581 if (r->uptodateness_vector) {
1582 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1584 ndr->depth--;
1585 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1586 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1587 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1588 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1589 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1590 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1591 ndr->depth++;
1592 if (r->partial_attribute_set) {
1593 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1595 ndr->depth--;
1596 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1597 ndr->depth++;
1598 if (r->partial_attribute_set_ex) {
1599 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1601 ndr->depth--;
1602 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1603 ndr->depth--;
1606 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1608 if (ndr_flags & NDR_SCALARS) {
1609 NDR_CHECK(ndr_push_align(ndr, 8));
1610 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1611 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1612 if (r->naming_context == NULL) {
1613 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1615 NDR_CHECK(ndr_push_ref_ptr(ndr));
1616 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1617 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1618 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1620 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1621 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1622 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1625 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1627 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1629 if (ndr_flags & NDR_BUFFERS) {
1630 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1631 if (r->uptodateness_vector) {
1632 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1634 if (r->partial_attribute_set) {
1635 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1637 if (r->partial_attribute_set_ex) {
1638 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1640 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1642 return NDR_ERR_SUCCESS;
1645 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1647 uint32_t _ptr_naming_context;
1648 TALLOC_CTX *_mem_save_naming_context_0;
1649 uint32_t _ptr_uptodateness_vector;
1650 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1651 uint32_t _ptr_partial_attribute_set;
1652 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1653 uint32_t _ptr_partial_attribute_set_ex;
1654 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1655 if (ndr_flags & NDR_SCALARS) {
1656 NDR_CHECK(ndr_pull_align(ndr, 8));
1657 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1658 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1659 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1660 if (_ptr_naming_context) {
1661 NDR_PULL_ALLOC(ndr, r->naming_context);
1662 } else {
1663 r->naming_context = NULL;
1665 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1667 if (_ptr_uptodateness_vector) {
1668 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1669 } else {
1670 r->uptodateness_vector = NULL;
1672 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1674 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1675 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1676 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1677 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1678 if (_ptr_partial_attribute_set) {
1679 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1680 } else {
1681 r->partial_attribute_set = NULL;
1683 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1684 if (_ptr_partial_attribute_set_ex) {
1685 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1686 } else {
1687 r->partial_attribute_set_ex = NULL;
1689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1690 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1691 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1693 if (ndr_flags & NDR_BUFFERS) {
1694 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1695 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1696 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1698 if (r->uptodateness_vector) {
1699 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1700 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1701 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1704 if (r->partial_attribute_set) {
1705 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1706 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1707 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1710 if (r->partial_attribute_set_ex) {
1711 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1712 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1713 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1718 return NDR_ERR_SUCCESS;
1721 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1723 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1724 ndr->depth++;
1725 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1726 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1727 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1728 ndr->depth++;
1729 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1730 ndr->depth--;
1731 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1732 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1733 ndr->depth++;
1734 if (r->uptodateness_vector) {
1735 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1737 ndr->depth--;
1738 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1739 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1740 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1741 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1742 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1743 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1744 ndr->depth++;
1745 if (r->partial_attribute_set) {
1746 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1748 ndr->depth--;
1749 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1750 ndr->depth++;
1751 if (r->partial_attribute_set_ex) {
1752 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1754 ndr->depth--;
1755 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1756 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1757 ndr->depth--;
1760 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1762 if (ndr_flags & NDR_SCALARS) {
1763 int level = ndr_push_get_switch_value(ndr, r);
1764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
1765 NDR_CHECK(ndr_push_union_align(ndr, 8));
1766 switch (level) {
1767 case 5: {
1768 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1769 break; }
1771 case 8: {
1772 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1773 break; }
1775 case 10: {
1776 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1777 break; }
1779 default:
1780 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1783 if (ndr_flags & NDR_BUFFERS) {
1784 int level = ndr_push_get_switch_value(ndr, r);
1785 switch (level) {
1786 case 5:
1787 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1788 break;
1790 case 8:
1791 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1792 break;
1794 case 10:
1795 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1796 break;
1798 default:
1799 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1802 return NDR_ERR_SUCCESS;
1805 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1807 int level;
1808 uint32_t _level;
1809 level = ndr_pull_get_switch_value(ndr, r);
1810 if (ndr_flags & NDR_SCALARS) {
1811 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1812 if (_level != level) {
1813 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1815 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1816 switch (level) {
1817 case 5: {
1818 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1819 break; }
1821 case 8: {
1822 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1823 break; }
1825 case 10: {
1826 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1827 break; }
1829 default:
1830 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1833 if (ndr_flags & NDR_BUFFERS) {
1834 switch (level) {
1835 case 5:
1836 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1837 break;
1839 case 8:
1840 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1841 break;
1843 case 10:
1844 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1845 break;
1847 default:
1848 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1851 return NDR_ERR_SUCCESS;
1854 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1856 int level;
1857 level = ndr_print_get_switch_value(ndr, r);
1858 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1859 switch (level) {
1860 case 5:
1861 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1862 break;
1864 case 8:
1865 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1866 break;
1868 case 10:
1869 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1870 break;
1872 default:
1873 ndr_print_bad_level(ndr, name, level);
1877 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1879 if (ndr_flags & NDR_SCALARS) {
1880 NDR_CHECK(ndr_push_align(ndr, 8));
1881 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1882 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1883 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1884 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1886 if (ndr_flags & NDR_BUFFERS) {
1888 return NDR_ERR_SUCCESS;
1891 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1893 if (ndr_flags & NDR_SCALARS) {
1894 NDR_CHECK(ndr_pull_align(ndr, 8));
1895 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1896 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1897 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1898 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1900 if (ndr_flags & NDR_BUFFERS) {
1902 return NDR_ERR_SUCCESS;
1905 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1907 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1908 ndr->depth++;
1909 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1910 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1911 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1912 ndr->depth--;
1915 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1917 uint32_t cntr_cursors_0;
1918 if (ndr_flags & NDR_SCALARS) {
1919 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1920 NDR_CHECK(ndr_push_align(ndr, 8));
1921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1925 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1926 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1928 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1930 if (ndr_flags & NDR_BUFFERS) {
1932 return NDR_ERR_SUCCESS;
1935 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1937 uint32_t cntr_cursors_0;
1938 TALLOC_CTX *_mem_save_cursors_0;
1939 if (ndr_flags & NDR_SCALARS) {
1940 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1941 NDR_CHECK(ndr_pull_align(ndr, 8));
1942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1945 if (r->count > 0x100000) {
1946 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1949 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1950 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1951 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1952 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1956 if (r->cursors) {
1957 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1959 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1961 if (ndr_flags & NDR_BUFFERS) {
1963 return NDR_ERR_SUCCESS;
1966 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1968 uint32_t cntr_cursors_0;
1969 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1970 ndr->depth++;
1971 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1972 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1973 ndr_print_uint32(ndr, "count", r->count);
1974 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1975 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1976 ndr->depth++;
1977 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1978 char *idx_0=NULL;
1979 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1980 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1981 free(idx_0);
1984 ndr->depth--;
1985 ndr->depth--;
1988 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1990 if (ndr_flags & NDR_SCALARS) {
1991 NDR_CHECK(ndr_push_align(ndr, 5));
1992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1993 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1994 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1996 if (ndr_flags & NDR_BUFFERS) {
1997 if (r->blob) {
1998 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2001 return NDR_ERR_SUCCESS;
2004 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2006 uint32_t _ptr_blob;
2007 TALLOC_CTX *_mem_save_blob_0;
2008 if (ndr_flags & NDR_SCALARS) {
2009 NDR_CHECK(ndr_pull_align(ndr, 5));
2010 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2011 if (r->__ndr_size > 10485760) {
2012 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2015 if (_ptr_blob) {
2016 NDR_PULL_ALLOC(ndr, r->blob);
2017 } else {
2018 r->blob = NULL;
2020 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2022 if (ndr_flags & NDR_BUFFERS) {
2023 if (r->blob) {
2024 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2025 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2026 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2030 return NDR_ERR_SUCCESS;
2033 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2035 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2036 ndr->depth++;
2037 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2038 ndr_print_ptr(ndr, "blob", r->blob);
2039 ndr->depth++;
2040 if (r->blob) {
2041 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2043 ndr->depth--;
2044 ndr->depth--;
2047 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2049 uint32_t cntr_values_1;
2050 if (ndr_flags & NDR_SCALARS) {
2051 NDR_CHECK(ndr_push_align(ndr, 5));
2052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2053 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2054 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2056 if (ndr_flags & NDR_BUFFERS) {
2057 if (r->values) {
2058 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2059 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2060 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2062 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2063 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2067 return NDR_ERR_SUCCESS;
2070 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2072 uint32_t _ptr_values;
2073 uint32_t cntr_values_1;
2074 TALLOC_CTX *_mem_save_values_0;
2075 TALLOC_CTX *_mem_save_values_1;
2076 if (ndr_flags & NDR_SCALARS) {
2077 NDR_CHECK(ndr_pull_align(ndr, 5));
2078 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2079 if (r->num_values > 10485760) {
2080 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2082 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2083 if (_ptr_values) {
2084 NDR_PULL_ALLOC(ndr, r->values);
2085 } else {
2086 r->values = NULL;
2088 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2090 if (ndr_flags & NDR_BUFFERS) {
2091 if (r->values) {
2092 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2093 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2094 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2095 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2096 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2097 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2098 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2099 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2101 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2102 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2104 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2107 if (r->values) {
2108 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2111 return NDR_ERR_SUCCESS;
2114 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2116 uint32_t cntr_values_1;
2117 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2118 ndr->depth++;
2119 ndr_print_uint32(ndr, "num_values", r->num_values);
2120 ndr_print_ptr(ndr, "values", r->values);
2121 ndr->depth++;
2122 if (r->values) {
2123 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2124 ndr->depth++;
2125 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2126 char *idx_1=NULL;
2127 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2128 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2129 free(idx_1);
2132 ndr->depth--;
2134 ndr->depth--;
2135 ndr->depth--;
2138 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2140 if (ndr_flags & NDR_SCALARS) {
2141 NDR_CHECK(ndr_push_align(ndr, 4));
2142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2144 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2145 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2147 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2148 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2150 if (ndr_flags & NDR_BUFFERS) {
2151 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2153 return NDR_ERR_SUCCESS;
2156 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2158 if (ndr_flags & NDR_SCALARS) {
2159 NDR_CHECK(ndr_pull_align(ndr, 4));
2160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2162 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2163 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2165 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2166 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2168 if (ndr_flags & NDR_BUFFERS) {
2169 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2171 return NDR_ERR_SUCCESS;
2174 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2176 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2177 ndr->depth++;
2178 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);
2179 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);
2180 ndr_print_GUID(ndr, "guid", &r->guid);
2181 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2182 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2183 ndr_print_string(ndr, "dn", r->dn);
2184 ndr->depth--;
2187 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2189 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2192 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2194 if (ndr_flags & NDR_SCALARS) {
2195 NDR_CHECK(ndr_push_align(ndr, 4));
2196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2198 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2199 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2201 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2204 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2205 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2206 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2207 ndr->flags = _flags_save_DATA_BLOB;
2209 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2211 if (ndr_flags & NDR_BUFFERS) {
2212 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2214 return NDR_ERR_SUCCESS;
2217 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2219 if (ndr_flags & NDR_SCALARS) {
2220 NDR_CHECK(ndr_pull_align(ndr, 4));
2221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2222 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2223 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2224 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2225 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2226 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2227 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2229 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2230 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2231 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2232 ndr->flags = _flags_save_DATA_BLOB;
2234 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2236 if (ndr_flags & NDR_BUFFERS) {
2237 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2239 return NDR_ERR_SUCCESS;
2242 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2244 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2245 ndr->depth++;
2246 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);
2247 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);
2248 ndr_print_GUID(ndr, "guid", &r->guid);
2249 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2250 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2251 ndr_print_string(ndr, "dn", r->dn);
2252 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2253 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2254 ndr->depth--;
2257 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2259 if (ndr_flags & NDR_SCALARS) {
2260 NDR_CHECK(ndr_push_align(ndr, 5));
2261 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2262 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2263 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2265 if (ndr_flags & NDR_BUFFERS) {
2266 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2268 return NDR_ERR_SUCCESS;
2271 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2273 if (ndr_flags & NDR_SCALARS) {
2274 NDR_CHECK(ndr_pull_align(ndr, 5));
2275 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2276 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2277 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2279 if (ndr_flags & NDR_BUFFERS) {
2280 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2282 return NDR_ERR_SUCCESS;
2285 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2287 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2288 ndr->depth++;
2289 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2290 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2291 ndr->depth--;
2294 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2296 uint32_t cntr_attributes_1;
2297 if (ndr_flags & NDR_SCALARS) {
2298 NDR_CHECK(ndr_push_align(ndr, 5));
2299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2300 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2301 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2303 if (ndr_flags & NDR_BUFFERS) {
2304 if (r->attributes) {
2305 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2306 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2307 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2309 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2310 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2314 return NDR_ERR_SUCCESS;
2317 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2319 uint32_t _ptr_attributes;
2320 uint32_t cntr_attributes_1;
2321 TALLOC_CTX *_mem_save_attributes_0;
2322 TALLOC_CTX *_mem_save_attributes_1;
2323 if (ndr_flags & NDR_SCALARS) {
2324 NDR_CHECK(ndr_pull_align(ndr, 5));
2325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2326 if (r->num_attributes > 1048576) {
2327 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2329 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2330 if (_ptr_attributes) {
2331 NDR_PULL_ALLOC(ndr, r->attributes);
2332 } else {
2333 r->attributes = NULL;
2335 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2337 if (ndr_flags & NDR_BUFFERS) {
2338 if (r->attributes) {
2339 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2340 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2341 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2342 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2343 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2344 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2345 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2348 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2349 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2354 if (r->attributes) {
2355 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2358 return NDR_ERR_SUCCESS;
2361 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2363 uint32_t cntr_attributes_1;
2364 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2365 ndr->depth++;
2366 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2367 ndr_print_ptr(ndr, "attributes", r->attributes);
2368 ndr->depth++;
2369 if (r->attributes) {
2370 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2371 ndr->depth++;
2372 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2373 char *idx_1=NULL;
2374 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2375 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2376 free(idx_1);
2379 ndr->depth--;
2381 ndr->depth--;
2382 ndr->depth--;
2385 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2388 return NDR_ERR_SUCCESS;
2391 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2393 uint32_t v;
2394 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2395 *r = v;
2396 return NDR_ERR_SUCCESS;
2399 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2401 ndr_print_uint32(ndr, name, r);
2402 ndr->depth++;
2403 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2404 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2405 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2406 ndr->depth--;
2409 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2411 if (ndr_flags & NDR_SCALARS) {
2412 NDR_CHECK(ndr_push_align(ndr, 5));
2413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2415 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2416 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2418 if (ndr_flags & NDR_BUFFERS) {
2419 if (r->identifier) {
2420 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2422 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2424 return NDR_ERR_SUCCESS;
2427 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2429 uint32_t _ptr_identifier;
2430 TALLOC_CTX *_mem_save_identifier_0;
2431 if (ndr_flags & NDR_SCALARS) {
2432 NDR_CHECK(ndr_pull_align(ndr, 5));
2433 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2434 if (_ptr_identifier) {
2435 NDR_PULL_ALLOC(ndr, r->identifier);
2436 } else {
2437 r->identifier = NULL;
2439 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2440 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2441 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2443 if (ndr_flags & NDR_BUFFERS) {
2444 if (r->identifier) {
2445 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2446 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2452 return NDR_ERR_SUCCESS;
2455 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2457 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2458 ndr->depth++;
2459 ndr_print_ptr(ndr, "identifier", r->identifier);
2460 ndr->depth++;
2461 if (r->identifier) {
2462 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2464 ndr->depth--;
2465 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2466 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2467 ndr->depth--;
2470 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2472 if (ndr_flags & NDR_SCALARS) {
2473 NDR_CHECK(ndr_push_align(ndr, 8));
2474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2475 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2476 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2477 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2478 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2480 if (ndr_flags & NDR_BUFFERS) {
2482 return NDR_ERR_SUCCESS;
2485 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2487 if (ndr_flags & NDR_SCALARS) {
2488 NDR_CHECK(ndr_pull_align(ndr, 8));
2489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2490 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2491 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2492 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2493 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2495 if (ndr_flags & NDR_BUFFERS) {
2497 return NDR_ERR_SUCCESS;
2500 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2502 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2503 ndr->depth++;
2504 ndr_print_uint32(ndr, "version", r->version);
2505 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2506 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2507 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2508 ndr->depth--;
2511 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2513 uint32_t cntr_meta_data_0;
2514 if (ndr_flags & NDR_SCALARS) {
2515 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2516 NDR_CHECK(ndr_push_align(ndr, 8));
2517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2518 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2519 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2521 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2523 if (ndr_flags & NDR_BUFFERS) {
2525 return NDR_ERR_SUCCESS;
2528 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2530 uint32_t cntr_meta_data_0;
2531 TALLOC_CTX *_mem_save_meta_data_0;
2532 if (ndr_flags & NDR_SCALARS) {
2533 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2534 NDR_CHECK(ndr_pull_align(ndr, 8));
2535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2536 if (r->count > 1048576) {
2537 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2539 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2540 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2541 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2542 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2543 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2546 if (r->meta_data) {
2547 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2549 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2551 if (ndr_flags & NDR_BUFFERS) {
2553 return NDR_ERR_SUCCESS;
2556 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2558 uint32_t cntr_meta_data_0;
2559 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2560 ndr->depth++;
2561 ndr_print_uint32(ndr, "count", r->count);
2562 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2563 ndr->depth++;
2564 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2565 char *idx_0=NULL;
2566 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2567 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2568 free(idx_0);
2571 ndr->depth--;
2572 ndr->depth--;
2575 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2577 if (ndr_flags & NDR_SCALARS) {
2578 NDR_CHECK(ndr_push_align(ndr, 5));
2579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2580 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2584 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2586 if (ndr_flags & NDR_BUFFERS) {
2587 if (r->next_object) {
2588 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2590 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2591 if (r->parent_object_guid) {
2592 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2594 if (r->meta_data_ctr) {
2595 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2598 return NDR_ERR_SUCCESS;
2601 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2603 uint32_t _ptr_next_object;
2604 TALLOC_CTX *_mem_save_next_object_0;
2605 uint32_t _ptr_parent_object_guid;
2606 TALLOC_CTX *_mem_save_parent_object_guid_0;
2607 uint32_t _ptr_meta_data_ctr;
2608 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2609 if (ndr_flags & NDR_SCALARS) {
2610 NDR_CHECK(ndr_pull_align(ndr, 5));
2611 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2612 if (_ptr_next_object) {
2613 NDR_PULL_ALLOC(ndr, r->next_object);
2614 } else {
2615 r->next_object = NULL;
2617 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2618 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2619 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2620 if (_ptr_parent_object_guid) {
2621 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2622 } else {
2623 r->parent_object_guid = NULL;
2625 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2626 if (_ptr_meta_data_ctr) {
2627 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2628 } else {
2629 r->meta_data_ctr = NULL;
2631 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2633 if (ndr_flags & NDR_BUFFERS) {
2634 if (r->next_object) {
2635 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2636 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2637 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2638 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2640 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2641 if (r->parent_object_guid) {
2642 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2643 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2644 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2647 if (r->meta_data_ctr) {
2648 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2649 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2650 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2654 return NDR_ERR_SUCCESS;
2657 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2659 if (ndr_flags & NDR_SCALARS) {
2660 NDR_CHECK(ndr_push_align(ndr, 8));
2661 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2662 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2663 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2665 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2666 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2667 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2668 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2671 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2672 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2673 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2675 if (ndr_flags & NDR_BUFFERS) {
2676 if (r->naming_context) {
2677 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2679 if (r->uptodateness_vector) {
2680 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2682 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2683 if (r->first_object) {
2684 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2687 return NDR_ERR_SUCCESS;
2690 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2692 uint32_t _ptr_naming_context;
2693 TALLOC_CTX *_mem_save_naming_context_0;
2694 uint32_t _ptr_uptodateness_vector;
2695 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2696 uint32_t _ptr_first_object;
2697 TALLOC_CTX *_mem_save_first_object_0;
2698 if (ndr_flags & NDR_SCALARS) {
2699 NDR_CHECK(ndr_pull_align(ndr, 8));
2700 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2701 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2702 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2703 if (_ptr_naming_context) {
2704 NDR_PULL_ALLOC(ndr, r->naming_context);
2705 } else {
2706 r->naming_context = NULL;
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2709 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2710 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2711 if (_ptr_uptodateness_vector) {
2712 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2713 } else {
2714 r->uptodateness_vector = NULL;
2716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2717 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2720 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2721 if (_ptr_first_object) {
2722 NDR_PULL_ALLOC(ndr, r->first_object);
2723 } else {
2724 r->first_object = NULL;
2726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2727 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2729 if (ndr_flags & NDR_BUFFERS) {
2730 if (r->naming_context) {
2731 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2732 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2736 if (r->uptodateness_vector) {
2737 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2738 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2739 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2742 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2743 if (r->first_object) {
2744 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2745 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2746 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2750 return NDR_ERR_SUCCESS;
2753 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2755 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2756 ndr->depth++;
2757 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2758 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2759 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2760 ndr->depth++;
2761 if (r->naming_context) {
2762 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2764 ndr->depth--;
2765 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2766 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2767 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2768 ndr->depth++;
2769 if (r->uptodateness_vector) {
2770 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2772 ndr->depth--;
2773 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2774 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2775 ndr_print_uint32(ndr, "object_count", r->object_count);
2776 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);
2777 ndr_print_ptr(ndr, "first_object", r->first_object);
2778 ndr->depth++;
2779 if (r->first_object) {
2780 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2782 ndr->depth--;
2783 ndr_print_uint32(ndr, "more_data", r->more_data);
2784 ndr->depth--;
2787 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2789 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2792 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2795 return NDR_ERR_SUCCESS;
2798 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2800 uint32_t v;
2801 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2802 *r = v;
2803 return NDR_ERR_SUCCESS;
2806 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2808 ndr_print_uint32(ndr, name, r);
2809 ndr->depth++;
2810 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2811 ndr->depth--;
2814 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2816 if (ndr_flags & NDR_SCALARS) {
2817 NDR_CHECK(ndr_push_align(ndr, 8));
2818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2819 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2820 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2821 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2822 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2823 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2824 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2826 if (ndr_flags & NDR_BUFFERS) {
2827 if (r->identifier) {
2828 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2830 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2832 return NDR_ERR_SUCCESS;
2835 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2837 uint32_t _ptr_identifier;
2838 TALLOC_CTX *_mem_save_identifier_0;
2839 if (ndr_flags & NDR_SCALARS) {
2840 NDR_CHECK(ndr_pull_align(ndr, 8));
2841 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2842 if (_ptr_identifier) {
2843 NDR_PULL_ALLOC(ndr, r->identifier);
2844 } else {
2845 r->identifier = NULL;
2847 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2848 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2849 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2850 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2851 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2852 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2854 if (ndr_flags & NDR_BUFFERS) {
2855 if (r->identifier) {
2856 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2857 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2861 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2863 return NDR_ERR_SUCCESS;
2866 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2868 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2869 ndr->depth++;
2870 ndr_print_ptr(ndr, "identifier", r->identifier);
2871 ndr->depth++;
2872 if (r->identifier) {
2873 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2875 ndr->depth--;
2876 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2877 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2878 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2879 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2880 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2881 ndr->depth--;
2884 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2886 uint32_t cntr_linked_attributes_1;
2887 if (ndr_flags & NDR_SCALARS) {
2888 NDR_CHECK(ndr_push_align(ndr, 8));
2889 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2890 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2891 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2892 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2893 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2894 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2895 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2896 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2899 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2900 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2904 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2905 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2906 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2908 if (ndr_flags & NDR_BUFFERS) {
2909 if (r->naming_context) {
2910 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2912 if (r->uptodateness_vector) {
2913 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2915 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2916 if (r->first_object) {
2917 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2919 if (r->linked_attributes) {
2920 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2921 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2922 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2924 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2925 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2929 return NDR_ERR_SUCCESS;
2932 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2934 uint32_t _ptr_naming_context;
2935 TALLOC_CTX *_mem_save_naming_context_0;
2936 uint32_t _ptr_uptodateness_vector;
2937 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2938 uint32_t _ptr_first_object;
2939 TALLOC_CTX *_mem_save_first_object_0;
2940 uint32_t _ptr_linked_attributes;
2941 uint32_t cntr_linked_attributes_1;
2942 TALLOC_CTX *_mem_save_linked_attributes_0;
2943 TALLOC_CTX *_mem_save_linked_attributes_1;
2944 if (ndr_flags & NDR_SCALARS) {
2945 NDR_CHECK(ndr_pull_align(ndr, 8));
2946 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2947 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2948 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2949 if (_ptr_naming_context) {
2950 NDR_PULL_ALLOC(ndr, r->naming_context);
2951 } else {
2952 r->naming_context = NULL;
2954 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2955 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2956 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2957 if (_ptr_uptodateness_vector) {
2958 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2959 } else {
2960 r->uptodateness_vector = NULL;
2962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2963 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2964 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2965 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2966 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2967 if (_ptr_first_object) {
2968 NDR_PULL_ALLOC(ndr, r->first_object);
2969 } else {
2970 r->first_object = NULL;
2972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2975 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2976 if (r->linked_attributes_count > 1048576) {
2977 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2979 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2980 if (_ptr_linked_attributes) {
2981 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2982 } else {
2983 r->linked_attributes = NULL;
2985 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2986 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2988 if (ndr_flags & NDR_BUFFERS) {
2989 if (r->naming_context) {
2990 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2991 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2992 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2995 if (r->uptodateness_vector) {
2996 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2997 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3001 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3002 if (r->first_object) {
3003 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3004 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3008 if (r->linked_attributes) {
3009 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3010 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3011 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3012 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3013 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3014 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3015 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3016 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3018 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3019 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3024 if (r->linked_attributes) {
3025 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3028 return NDR_ERR_SUCCESS;
3031 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3033 uint32_t cntr_linked_attributes_1;
3034 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3035 ndr->depth++;
3036 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3037 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3038 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3039 ndr->depth++;
3040 if (r->naming_context) {
3041 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3043 ndr->depth--;
3044 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3045 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3046 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3047 ndr->depth++;
3048 if (r->uptodateness_vector) {
3049 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3051 ndr->depth--;
3052 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3053 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3054 ndr_print_uint32(ndr, "object_count", r->object_count);
3055 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);
3056 ndr_print_ptr(ndr, "first_object", r->first_object);
3057 ndr->depth++;
3058 if (r->first_object) {
3059 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3061 ndr->depth--;
3062 ndr_print_uint32(ndr, "more_data", r->more_data);
3063 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3064 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3065 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3066 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3067 ndr->depth++;
3068 if (r->linked_attributes) {
3069 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3070 ndr->depth++;
3071 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3072 char *idx_1=NULL;
3073 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3074 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3075 free(idx_1);
3078 ndr->depth--;
3080 ndr->depth--;
3081 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3082 ndr->depth--;
3085 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3087 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3090 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3092 if (ndr_flags & NDR_SCALARS) {
3093 NDR_CHECK(ndr_push_align(ndr, 1));
3095 struct ndr_push *_ndr_ctr1;
3096 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3097 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3098 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3100 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3102 if (ndr_flags & NDR_BUFFERS) {
3104 return NDR_ERR_SUCCESS;
3107 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3109 if (ndr_flags & NDR_SCALARS) {
3110 NDR_CHECK(ndr_pull_align(ndr, 1));
3112 struct ndr_pull *_ndr_ctr1;
3113 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3114 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3115 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3117 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3119 if (ndr_flags & NDR_BUFFERS) {
3121 return NDR_ERR_SUCCESS;
3124 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3126 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3127 ndr->depth++;
3128 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3129 ndr->depth--;
3132 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3134 if (ndr_flags & NDR_SCALARS) {
3135 NDR_CHECK(ndr_push_align(ndr, 1));
3137 struct ndr_push *_ndr_ctr6;
3138 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3139 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3140 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3142 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3144 if (ndr_flags & NDR_BUFFERS) {
3146 return NDR_ERR_SUCCESS;
3149 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3151 if (ndr_flags & NDR_SCALARS) {
3152 NDR_CHECK(ndr_pull_align(ndr, 1));
3154 struct ndr_pull *_ndr_ctr6;
3155 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3156 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3157 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3159 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3161 if (ndr_flags & NDR_BUFFERS) {
3163 return NDR_ERR_SUCCESS;
3166 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3168 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3169 ndr->depth++;
3170 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3171 ndr->depth--;
3174 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3176 uint32_t _ptr_ts;
3177 TALLOC_CTX *_mem_save_ts_0;
3178 if (ndr_flags & NDR_SCALARS) {
3179 NDR_CHECK(ndr_pull_align(ndr, 5));
3180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3181 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3183 if (_ptr_ts) {
3184 NDR_PULL_ALLOC(ndr, r->ts);
3185 } else {
3186 r->ts = NULL;
3188 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3190 if (ndr_flags & NDR_BUFFERS) {
3191 if (r->ts) {
3192 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3193 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3195 struct ndr_pull *_ndr_ts;
3196 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3198 struct ndr_pull *_ndr_ts_compressed;
3199 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3200 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3201 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3203 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3208 return NDR_ERR_SUCCESS;
3211 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3213 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3214 ndr->depth++;
3215 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3216 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3217 ndr_print_ptr(ndr, "ts", r->ts);
3218 ndr->depth++;
3219 if (r->ts) {
3220 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3222 ndr->depth--;
3223 ndr->depth--;
3226 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3228 uint32_t _ptr_ts;
3229 TALLOC_CTX *_mem_save_ts_0;
3230 if (ndr_flags & NDR_SCALARS) {
3231 NDR_CHECK(ndr_pull_align(ndr, 5));
3232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3233 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3234 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3235 if (_ptr_ts) {
3236 NDR_PULL_ALLOC(ndr, r->ts);
3237 } else {
3238 r->ts = NULL;
3240 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3242 if (ndr_flags & NDR_BUFFERS) {
3243 if (r->ts) {
3244 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3245 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3247 struct ndr_pull *_ndr_ts;
3248 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3250 struct ndr_pull *_ndr_ts_compressed;
3251 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3252 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3253 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3255 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3260 return NDR_ERR_SUCCESS;
3263 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3265 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3266 ndr->depth++;
3267 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3268 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3269 ndr_print_ptr(ndr, "ts", r->ts);
3270 ndr->depth++;
3271 if (r->ts) {
3272 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3274 ndr->depth--;
3275 ndr->depth--;
3278 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3280 uint32_t _ptr_ts;
3281 TALLOC_CTX *_mem_save_ts_0;
3282 if (ndr_flags & NDR_SCALARS) {
3283 NDR_CHECK(ndr_pull_align(ndr, 5));
3284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3287 if (_ptr_ts) {
3288 NDR_PULL_ALLOC(ndr, r->ts);
3289 } else {
3290 r->ts = NULL;
3292 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3294 if (ndr_flags & NDR_BUFFERS) {
3295 if (r->ts) {
3296 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3297 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3299 struct ndr_pull *_ndr_ts;
3300 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3302 struct ndr_pull *_ndr_ts_compressed;
3303 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3304 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3305 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3307 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3312 return NDR_ERR_SUCCESS;
3315 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3317 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3318 ndr->depth++;
3319 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3320 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3321 ndr_print_ptr(ndr, "ts", r->ts);
3322 ndr->depth++;
3323 if (r->ts) {
3324 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3326 ndr->depth--;
3327 ndr->depth--;
3330 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3332 uint32_t _ptr_ts;
3333 TALLOC_CTX *_mem_save_ts_0;
3334 if (ndr_flags & NDR_SCALARS) {
3335 NDR_CHECK(ndr_pull_align(ndr, 5));
3336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3337 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3338 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3339 if (_ptr_ts) {
3340 NDR_PULL_ALLOC(ndr, r->ts);
3341 } else {
3342 r->ts = NULL;
3344 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3346 if (ndr_flags & NDR_BUFFERS) {
3347 if (r->ts) {
3348 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3349 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3351 struct ndr_pull *_ndr_ts;
3352 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3354 struct ndr_pull *_ndr_ts_compressed;
3355 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3356 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3357 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3359 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3364 return NDR_ERR_SUCCESS;
3367 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3369 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3370 ndr->depth++;
3371 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3372 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3373 ndr_print_ptr(ndr, "ts", r->ts);
3374 ndr->depth++;
3375 if (r->ts) {
3376 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3378 ndr->depth--;
3379 ndr->depth--;
3382 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3384 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3385 return NDR_ERR_SUCCESS;
3388 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3390 uint16_t v;
3391 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3392 *r = v;
3393 return NDR_ERR_SUCCESS;
3396 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3398 const char *val = NULL;
3400 switch (r) {
3401 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3402 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3404 ndr_print_enum(ndr, name, "ENUM", val, r);
3407 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3410 uint32_t _flags_save_UNION = ndr->flags;
3411 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3412 if (ndr_flags & NDR_SCALARS) {
3413 int level = ndr_push_get_switch_value(ndr, r);
3414 NDR_CHECK(ndr_push_union_align(ndr, 5));
3415 switch (level) {
3416 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3417 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3418 break; }
3420 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3421 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3422 break; }
3424 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3425 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3426 break; }
3428 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3429 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3430 break; }
3432 default:
3433 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3436 if (ndr_flags & NDR_BUFFERS) {
3437 int level = ndr_push_get_switch_value(ndr, r);
3438 switch (level) {
3439 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3440 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3441 break;
3443 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3444 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3445 break;
3447 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3448 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3449 break;
3451 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3452 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3453 break;
3455 default:
3456 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3459 ndr->flags = _flags_save_UNION;
3461 return NDR_ERR_SUCCESS;
3464 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3466 int level;
3468 uint32_t _flags_save_UNION = ndr->flags;
3469 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3470 level = ndr_pull_get_switch_value(ndr, r);
3471 if (ndr_flags & NDR_SCALARS) {
3472 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3473 switch (level) {
3474 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3475 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3476 break; }
3478 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3479 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3480 break; }
3482 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3483 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3484 break; }
3486 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3487 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3488 break; }
3490 default:
3491 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3494 if (ndr_flags & NDR_BUFFERS) {
3495 switch (level) {
3496 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3497 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3498 break;
3500 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3501 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3502 break;
3504 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3505 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3506 break;
3508 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3509 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3510 break;
3512 default:
3513 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3516 ndr->flags = _flags_save_UNION;
3518 return NDR_ERR_SUCCESS;
3521 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3523 int level;
3525 uint32_t _flags_save_UNION = ndr->flags;
3526 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3527 level = ndr_print_get_switch_value(ndr, r);
3528 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3529 switch (level) {
3530 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3531 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3532 break;
3534 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3535 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3536 break;
3538 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3539 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3540 break;
3542 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3543 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3544 break;
3546 default:
3547 ndr_print_bad_level(ndr, name, level);
3549 ndr->flags = _flags_save_UNION;
3553 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3555 if (ndr_flags & NDR_SCALARS) {
3556 NDR_CHECK(ndr_push_align(ndr, 5));
3557 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3558 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3560 if (ndr_flags & NDR_BUFFERS) {
3561 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3563 return NDR_ERR_SUCCESS;
3566 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3568 if (ndr_flags & NDR_SCALARS) {
3569 NDR_CHECK(ndr_pull_align(ndr, 5));
3570 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3571 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3573 if (ndr_flags & NDR_BUFFERS) {
3574 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3576 return NDR_ERR_SUCCESS;
3579 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3581 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3582 ndr->depth++;
3583 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3584 ndr->depth--;
3587 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3589 if (ndr_flags & NDR_SCALARS) {
3590 NDR_CHECK(ndr_push_align(ndr, 5));
3591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
3592 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3593 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3594 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3595 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3597 if (ndr_flags & NDR_BUFFERS) {
3598 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3600 return NDR_ERR_SUCCESS;
3603 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3605 if (ndr_flags & NDR_SCALARS) {
3606 NDR_CHECK(ndr_pull_align(ndr, 5));
3607 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
3608 if (r->level > 6) {
3609 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3611 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3612 if (r->type < 2 || r->type > 3) {
3613 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3615 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3616 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3617 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3619 if (ndr_flags & NDR_BUFFERS) {
3620 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3622 return NDR_ERR_SUCCESS;
3625 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3627 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3628 ndr->depth++;
3629 ndr_print_uint32(ndr, "level", r->level);
3630 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3631 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3632 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3633 ndr->depth--;
3636 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3638 if (ndr_flags & NDR_SCALARS) {
3639 int level = ndr_push_get_switch_value(ndr, r);
3640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3641 NDR_CHECK(ndr_push_union_align(ndr, 8));
3642 switch (level) {
3643 case 1: {
3644 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3645 break; }
3647 case 2: {
3648 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3649 break; }
3651 case 6: {
3652 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3653 break; }
3655 case 7: {
3656 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3657 break; }
3659 default:
3660 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3663 if (ndr_flags & NDR_BUFFERS) {
3664 int level = ndr_push_get_switch_value(ndr, r);
3665 switch (level) {
3666 case 1:
3667 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3668 break;
3670 case 2:
3671 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3672 break;
3674 case 6:
3675 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3676 break;
3678 case 7:
3679 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3680 break;
3682 default:
3683 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3686 return NDR_ERR_SUCCESS;
3689 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3691 int level;
3692 uint32_t _level;
3693 level = ndr_pull_get_switch_value(ndr, r);
3694 if (ndr_flags & NDR_SCALARS) {
3695 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3696 if (_level != level) {
3697 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3699 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3700 switch (level) {
3701 case 1: {
3702 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3703 break; }
3705 case 2: {
3706 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3707 break; }
3709 case 6: {
3710 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3711 break; }
3713 case 7: {
3714 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3715 break; }
3717 default:
3718 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3721 if (ndr_flags & NDR_BUFFERS) {
3722 switch (level) {
3723 case 1:
3724 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3725 break;
3727 case 2:
3728 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3729 break;
3731 case 6:
3732 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3733 break;
3735 case 7:
3736 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3737 break;
3739 default:
3740 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3743 return NDR_ERR_SUCCESS;
3746 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3748 int level;
3749 level = ndr_print_get_switch_value(ndr, r);
3750 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3751 switch (level) {
3752 case 1:
3753 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3754 break;
3756 case 2:
3757 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3758 break;
3760 case 6:
3761 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3762 break;
3764 case 7:
3765 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3766 break;
3768 default:
3769 ndr_print_bad_level(ndr, name, level);
3773 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3775 if (ndr_flags & NDR_SCALARS) {
3776 NDR_CHECK(ndr_push_align(ndr, 5));
3777 if (r->naming_context == NULL) {
3778 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3780 NDR_CHECK(ndr_push_ref_ptr(ndr));
3781 if (r->dest_dsa_dns_name == NULL) {
3782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3784 NDR_CHECK(ndr_push_ref_ptr(ndr));
3785 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3786 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3787 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3789 if (ndr_flags & NDR_BUFFERS) {
3790 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3791 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3792 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3793 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3794 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));
3796 return NDR_ERR_SUCCESS;
3799 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3801 uint32_t _ptr_naming_context;
3802 TALLOC_CTX *_mem_save_naming_context_0;
3803 uint32_t _ptr_dest_dsa_dns_name;
3804 if (ndr_flags & NDR_SCALARS) {
3805 NDR_CHECK(ndr_pull_align(ndr, 5));
3806 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3807 if (_ptr_naming_context) {
3808 NDR_PULL_ALLOC(ndr, r->naming_context);
3809 } else {
3810 r->naming_context = NULL;
3812 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3813 if (_ptr_dest_dsa_dns_name) {
3814 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3815 } else {
3816 r->dest_dsa_dns_name = NULL;
3818 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3819 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3820 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3822 if (ndr_flags & NDR_BUFFERS) {
3823 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3824 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3825 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3827 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3828 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3829 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3830 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));
3832 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3833 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));
3835 return NDR_ERR_SUCCESS;
3838 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3840 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3841 ndr->depth++;
3842 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3843 ndr->depth++;
3844 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3845 ndr->depth--;
3846 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3847 ndr->depth++;
3848 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3849 ndr->depth--;
3850 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3851 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
3852 ndr->depth--;
3855 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3857 if (ndr_flags & NDR_SCALARS) {
3858 int level = ndr_push_get_switch_value(ndr, r);
3859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3860 NDR_CHECK(ndr_push_union_align(ndr, 5));
3861 switch (level) {
3862 case 1: {
3863 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3864 break; }
3866 default:
3867 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3870 if (ndr_flags & NDR_BUFFERS) {
3871 int level = ndr_push_get_switch_value(ndr, r);
3872 switch (level) {
3873 case 1:
3874 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3875 break;
3877 default:
3878 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3881 return NDR_ERR_SUCCESS;
3884 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3886 int level;
3887 uint32_t _level;
3888 level = ndr_pull_get_switch_value(ndr, r);
3889 if (ndr_flags & NDR_SCALARS) {
3890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3891 if (_level != level) {
3892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3894 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3895 switch (level) {
3896 case 1: {
3897 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3898 break; }
3900 default:
3901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3904 if (ndr_flags & NDR_BUFFERS) {
3905 switch (level) {
3906 case 1:
3907 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3908 break;
3910 default:
3911 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3914 return NDR_ERR_SUCCESS;
3917 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3919 int level;
3920 level = ndr_print_get_switch_value(ndr, r);
3921 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3922 switch (level) {
3923 case 1:
3924 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3925 break;
3927 default:
3928 ndr_print_bad_level(ndr, name, level);
3932 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3934 if (ndr_flags & NDR_SCALARS) {
3935 NDR_CHECK(ndr_push_align(ndr, 5));
3936 if (r->naming_context == NULL) {
3937 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3939 NDR_CHECK(ndr_push_ref_ptr(ndr));
3940 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3941 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3942 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3943 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3945 if (ndr_flags & NDR_BUFFERS) {
3946 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3947 if (r->source_dsa_address) {
3948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3951 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));
3954 return NDR_ERR_SUCCESS;
3957 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
3959 uint32_t _ptr_naming_context;
3960 TALLOC_CTX *_mem_save_naming_context_0;
3961 uint32_t _ptr_source_dsa_address;
3962 TALLOC_CTX *_mem_save_source_dsa_address_0;
3963 if (ndr_flags & NDR_SCALARS) {
3964 NDR_CHECK(ndr_pull_align(ndr, 5));
3965 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3966 if (_ptr_naming_context) {
3967 NDR_PULL_ALLOC(ndr, r->naming_context);
3968 } else {
3969 r->naming_context = NULL;
3971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
3972 if (_ptr_source_dsa_address) {
3973 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
3974 } else {
3975 r->source_dsa_address = NULL;
3977 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3978 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3979 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3981 if (ndr_flags & NDR_BUFFERS) {
3982 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3983 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3984 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3986 if (r->source_dsa_address) {
3987 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
3988 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
3989 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
3990 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
3991 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
3992 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));
3994 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
3995 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));
3996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
3999 return NDR_ERR_SUCCESS;
4002 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4004 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4005 ndr->depth++;
4006 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4007 ndr->depth++;
4008 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4009 ndr->depth--;
4010 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4011 ndr->depth++;
4012 if (r->source_dsa_address) {
4013 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4015 ndr->depth--;
4016 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4017 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4018 ndr->depth--;
4021 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4023 if (ndr_flags & NDR_SCALARS) {
4024 NDR_CHECK(ndr_push_align(ndr, 5));
4025 if (r->naming_context == NULL) {
4026 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4028 NDR_CHECK(ndr_push_ref_ptr(ndr));
4029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4032 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4033 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4034 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4036 if (ndr_flags & NDR_BUFFERS) {
4037 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4038 if (r->source_dsa_dn) {
4039 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4041 if (r->transport_dn) {
4042 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4044 if (r->source_dsa_address) {
4045 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4046 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4047 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4048 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));
4051 return NDR_ERR_SUCCESS;
4054 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4056 uint32_t _ptr_naming_context;
4057 TALLOC_CTX *_mem_save_naming_context_0;
4058 uint32_t _ptr_source_dsa_dn;
4059 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4060 uint32_t _ptr_transport_dn;
4061 TALLOC_CTX *_mem_save_transport_dn_0;
4062 uint32_t _ptr_source_dsa_address;
4063 TALLOC_CTX *_mem_save_source_dsa_address_0;
4064 if (ndr_flags & NDR_SCALARS) {
4065 NDR_CHECK(ndr_pull_align(ndr, 5));
4066 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4067 if (_ptr_naming_context) {
4068 NDR_PULL_ALLOC(ndr, r->naming_context);
4069 } else {
4070 r->naming_context = NULL;
4072 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4073 if (_ptr_source_dsa_dn) {
4074 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4075 } else {
4076 r->source_dsa_dn = NULL;
4078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4079 if (_ptr_transport_dn) {
4080 NDR_PULL_ALLOC(ndr, r->transport_dn);
4081 } else {
4082 r->transport_dn = NULL;
4084 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4085 if (_ptr_source_dsa_address) {
4086 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4087 } else {
4088 r->source_dsa_address = NULL;
4090 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4091 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4092 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4094 if (ndr_flags & NDR_BUFFERS) {
4095 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4096 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4097 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4099 if (r->source_dsa_dn) {
4100 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4101 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4102 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4105 if (r->transport_dn) {
4106 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4107 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4108 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4111 if (r->source_dsa_address) {
4112 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4113 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4115 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4116 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4117 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));
4119 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4120 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));
4121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4124 return NDR_ERR_SUCCESS;
4127 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4129 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4130 ndr->depth++;
4131 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4132 ndr->depth++;
4133 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4134 ndr->depth--;
4135 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4136 ndr->depth++;
4137 if (r->source_dsa_dn) {
4138 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4140 ndr->depth--;
4141 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4142 ndr->depth++;
4143 if (r->transport_dn) {
4144 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4146 ndr->depth--;
4147 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4148 ndr->depth++;
4149 if (r->source_dsa_address) {
4150 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4152 ndr->depth--;
4153 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4154 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4155 ndr->depth--;
4158 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4160 if (ndr_flags & NDR_SCALARS) {
4161 int level = ndr_push_get_switch_value(ndr, r);
4162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4163 NDR_CHECK(ndr_push_union_align(ndr, 5));
4164 switch (level) {
4165 case 1: {
4166 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4167 break; }
4169 case 2: {
4170 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4171 break; }
4173 default:
4174 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4177 if (ndr_flags & NDR_BUFFERS) {
4178 int level = ndr_push_get_switch_value(ndr, r);
4179 switch (level) {
4180 case 1:
4181 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4182 break;
4184 case 2:
4185 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4186 break;
4188 default:
4189 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4192 return NDR_ERR_SUCCESS;
4195 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4197 int level;
4198 uint32_t _level;
4199 level = ndr_pull_get_switch_value(ndr, r);
4200 if (ndr_flags & NDR_SCALARS) {
4201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4202 if (_level != level) {
4203 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4205 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4206 switch (level) {
4207 case 1: {
4208 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4209 break; }
4211 case 2: {
4212 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4213 break; }
4215 default:
4216 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4219 if (ndr_flags & NDR_BUFFERS) {
4220 switch (level) {
4221 case 1:
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4223 break;
4225 case 2:
4226 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4227 break;
4229 default:
4230 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4233 return NDR_ERR_SUCCESS;
4236 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4238 int level;
4239 level = ndr_print_get_switch_value(ndr, r);
4240 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4241 switch (level) {
4242 case 1:
4243 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4244 break;
4246 case 2:
4247 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4248 break;
4250 default:
4251 ndr_print_bad_level(ndr, name, level);
4255 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4257 if (ndr_flags & NDR_SCALARS) {
4258 NDR_CHECK(ndr_push_align(ndr, 5));
4259 if (r->naming_context == NULL) {
4260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4262 NDR_CHECK(ndr_push_ref_ptr(ndr));
4263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4264 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4265 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4267 if (ndr_flags & NDR_BUFFERS) {
4268 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4269 if (r->source_dsa_address) {
4270 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4273 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));
4276 return NDR_ERR_SUCCESS;
4279 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4281 uint32_t _ptr_naming_context;
4282 TALLOC_CTX *_mem_save_naming_context_0;
4283 uint32_t _ptr_source_dsa_address;
4284 TALLOC_CTX *_mem_save_source_dsa_address_0;
4285 if (ndr_flags & NDR_SCALARS) {
4286 NDR_CHECK(ndr_pull_align(ndr, 5));
4287 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4288 if (_ptr_naming_context) {
4289 NDR_PULL_ALLOC(ndr, r->naming_context);
4290 } else {
4291 r->naming_context = NULL;
4293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4294 if (_ptr_source_dsa_address) {
4295 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4296 } else {
4297 r->source_dsa_address = NULL;
4299 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4300 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4302 if (ndr_flags & NDR_BUFFERS) {
4303 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4304 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4305 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4307 if (r->source_dsa_address) {
4308 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4309 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4310 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4311 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4312 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4313 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));
4315 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4316 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));
4317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4320 return NDR_ERR_SUCCESS;
4323 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4325 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4326 ndr->depth++;
4327 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4328 ndr->depth++;
4329 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4330 ndr->depth--;
4331 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4332 ndr->depth++;
4333 if (r->source_dsa_address) {
4334 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4336 ndr->depth--;
4337 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4338 ndr->depth--;
4341 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4343 if (ndr_flags & NDR_SCALARS) {
4344 int level = ndr_push_get_switch_value(ndr, r);
4345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4346 NDR_CHECK(ndr_push_union_align(ndr, 5));
4347 switch (level) {
4348 case 1: {
4349 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4350 break; }
4352 default:
4353 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4356 if (ndr_flags & NDR_BUFFERS) {
4357 int level = ndr_push_get_switch_value(ndr, r);
4358 switch (level) {
4359 case 1:
4360 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4361 break;
4363 default:
4364 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4367 return NDR_ERR_SUCCESS;
4370 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4372 int level;
4373 uint32_t _level;
4374 level = ndr_pull_get_switch_value(ndr, r);
4375 if (ndr_flags & NDR_SCALARS) {
4376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4377 if (_level != level) {
4378 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4380 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4381 switch (level) {
4382 case 1: {
4383 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4384 break; }
4386 default:
4387 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4390 if (ndr_flags & NDR_BUFFERS) {
4391 switch (level) {
4392 case 1:
4393 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4394 break;
4396 default:
4397 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4400 return NDR_ERR_SUCCESS;
4403 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4405 int level;
4406 level = ndr_print_get_switch_value(ndr, r);
4407 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4408 switch (level) {
4409 case 1:
4410 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4411 break;
4413 default:
4414 ndr_print_bad_level(ndr, name, level);
4418 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4420 if (ndr_flags & NDR_SCALARS) {
4421 NDR_CHECK(ndr_push_align(ndr, 5));
4422 if (r->naming_context == NULL) {
4423 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4425 NDR_CHECK(ndr_push_ref_ptr(ndr));
4426 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4427 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4428 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4431 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4432 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4434 if (ndr_flags & NDR_BUFFERS) {
4435 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4436 if (r->source_dra_address) {
4437 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4439 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4440 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));
4443 return NDR_ERR_SUCCESS;
4446 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4448 uint32_t _ptr_naming_context;
4449 TALLOC_CTX *_mem_save_naming_context_0;
4450 uint32_t _ptr_source_dra_address;
4451 TALLOC_CTX *_mem_save_source_dra_address_0;
4452 if (ndr_flags & NDR_SCALARS) {
4453 NDR_CHECK(ndr_pull_align(ndr, 5));
4454 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4455 if (_ptr_naming_context) {
4456 NDR_PULL_ALLOC(ndr, r->naming_context);
4457 } else {
4458 r->naming_context = NULL;
4460 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4461 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4462 if (_ptr_source_dra_address) {
4463 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4464 } else {
4465 r->source_dra_address = NULL;
4467 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4470 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4471 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4473 if (ndr_flags & NDR_BUFFERS) {
4474 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4475 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4476 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4478 if (r->source_dra_address) {
4479 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4480 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4481 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4482 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4483 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4484 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));
4486 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4487 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));
4488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4491 return NDR_ERR_SUCCESS;
4494 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4496 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4497 ndr->depth++;
4498 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4499 ndr->depth++;
4500 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4501 ndr->depth--;
4502 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4503 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4504 ndr->depth++;
4505 if (r->source_dra_address) {
4506 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4508 ndr->depth--;
4509 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4510 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4511 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4512 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4513 ndr->depth--;
4516 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4518 if (ndr_flags & NDR_SCALARS) {
4519 int level = ndr_push_get_switch_value(ndr, r);
4520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4521 NDR_CHECK(ndr_push_union_align(ndr, 5));
4522 switch (level) {
4523 case 1: {
4524 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4525 break; }
4527 default:
4528 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4531 if (ndr_flags & NDR_BUFFERS) {
4532 int level = ndr_push_get_switch_value(ndr, r);
4533 switch (level) {
4534 case 1:
4535 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4536 break;
4538 default:
4539 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4542 return NDR_ERR_SUCCESS;
4545 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4547 int level;
4548 uint32_t _level;
4549 level = ndr_pull_get_switch_value(ndr, r);
4550 if (ndr_flags & NDR_SCALARS) {
4551 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4552 if (_level != level) {
4553 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4555 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4556 switch (level) {
4557 case 1: {
4558 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4559 break; }
4561 default:
4562 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4565 if (ndr_flags & NDR_BUFFERS) {
4566 switch (level) {
4567 case 1:
4568 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4569 break;
4571 default:
4572 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4575 return NDR_ERR_SUCCESS;
4578 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4580 int level;
4581 level = ndr_print_get_switch_value(ndr, r);
4582 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4583 switch (level) {
4584 case 1:
4585 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4586 break;
4588 default:
4589 ndr_print_bad_level(ndr, name, level);
4593 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4595 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4596 return NDR_ERR_SUCCESS;
4599 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4601 uint32_t v;
4602 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4603 *r = v;
4604 return NDR_ERR_SUCCESS;
4607 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4609 const char *val = NULL;
4611 switch (r) {
4612 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4613 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4614 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4615 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4616 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4617 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4618 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4620 ndr_print_enum(ndr, name, "ENUM", val, r);
4623 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4625 uint32_t cntr_info_array_1;
4626 uint32_t cntr_group_attrs_1;
4627 uint32_t cntr_sids_1;
4628 if (ndr_flags & NDR_SCALARS) {
4629 NDR_CHECK(ndr_push_align(ndr, 5));
4630 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4634 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4635 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4636 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4638 if (ndr_flags & NDR_BUFFERS) {
4639 if (r->info_array) {
4640 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4641 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4642 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4644 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4645 if (r->info_array[cntr_info_array_1]) {
4646 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4650 if (r->group_attrs) {
4651 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4652 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4653 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4656 if (r->sids) {
4657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4658 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4661 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4662 if (r->sids[cntr_sids_1]) {
4663 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4668 return NDR_ERR_SUCCESS;
4671 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4673 uint32_t _ptr_info_array;
4674 uint32_t cntr_info_array_1;
4675 TALLOC_CTX *_mem_save_info_array_0;
4676 TALLOC_CTX *_mem_save_info_array_1;
4677 TALLOC_CTX *_mem_save_info_array_2;
4678 uint32_t _ptr_group_attrs;
4679 uint32_t cntr_group_attrs_1;
4680 TALLOC_CTX *_mem_save_group_attrs_0;
4681 TALLOC_CTX *_mem_save_group_attrs_1;
4682 uint32_t _ptr_sids;
4683 uint32_t cntr_sids_1;
4684 TALLOC_CTX *_mem_save_sids_0;
4685 TALLOC_CTX *_mem_save_sids_1;
4686 TALLOC_CTX *_mem_save_sids_2;
4687 if (ndr_flags & NDR_SCALARS) {
4688 NDR_CHECK(ndr_pull_align(ndr, 5));
4689 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4690 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4691 if (r->num_memberships > 10000) {
4692 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4695 if (r->num_sids > 10000) {
4696 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4698 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4699 if (_ptr_info_array) {
4700 NDR_PULL_ALLOC(ndr, r->info_array);
4701 } else {
4702 r->info_array = NULL;
4704 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4705 if (_ptr_group_attrs) {
4706 NDR_PULL_ALLOC(ndr, r->group_attrs);
4707 } else {
4708 r->group_attrs = NULL;
4710 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4711 if (_ptr_sids) {
4712 NDR_PULL_ALLOC(ndr, r->sids);
4713 } else {
4714 r->sids = NULL;
4716 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4718 if (ndr_flags & NDR_BUFFERS) {
4719 if (r->info_array) {
4720 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4721 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4722 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4723 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4724 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4725 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4726 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4728 if (_ptr_info_array) {
4729 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4730 } else {
4731 r->info_array[cntr_info_array_1] = NULL;
4734 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4735 if (r->info_array[cntr_info_array_1]) {
4736 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4737 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4738 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4745 if (r->group_attrs) {
4746 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4747 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4748 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4749 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4750 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4751 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4752 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4753 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4758 if (r->sids) {
4759 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4760 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4761 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4762 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4763 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4764 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4765 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4766 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4767 if (_ptr_sids) {
4768 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4769 } else {
4770 r->sids[cntr_sids_1] = NULL;
4773 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4774 if (r->sids[cntr_sids_1]) {
4775 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4776 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4777 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4778 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4784 if (r->info_array) {
4785 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4787 if (r->group_attrs) {
4788 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4790 if (r->sids) {
4791 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4794 return NDR_ERR_SUCCESS;
4797 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4799 uint32_t cntr_info_array_1;
4800 uint32_t cntr_group_attrs_1;
4801 uint32_t cntr_sids_1;
4802 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4803 ndr->depth++;
4804 ndr_print_NTSTATUS(ndr, "status", r->status);
4805 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4806 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4807 ndr_print_ptr(ndr, "info_array", r->info_array);
4808 ndr->depth++;
4809 if (r->info_array) {
4810 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4811 ndr->depth++;
4812 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4813 char *idx_1=NULL;
4814 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4815 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4816 ndr->depth++;
4817 if (r->info_array[cntr_info_array_1]) {
4818 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4820 ndr->depth--;
4821 free(idx_1);
4824 ndr->depth--;
4826 ndr->depth--;
4827 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4828 ndr->depth++;
4829 if (r->group_attrs) {
4830 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4831 ndr->depth++;
4832 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4833 char *idx_1=NULL;
4834 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4835 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4836 free(idx_1);
4839 ndr->depth--;
4841 ndr->depth--;
4842 ndr_print_ptr(ndr, "sids", r->sids);
4843 ndr->depth++;
4844 if (r->sids) {
4845 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4846 ndr->depth++;
4847 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4848 char *idx_1=NULL;
4849 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4850 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4851 ndr->depth++;
4852 if (r->sids[cntr_sids_1]) {
4853 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4855 ndr->depth--;
4856 free(idx_1);
4859 ndr->depth--;
4861 ndr->depth--;
4862 ndr->depth--;
4865 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4867 if (ndr_flags & NDR_SCALARS) {
4868 int level = ndr_push_get_switch_value(ndr, r);
4869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4870 NDR_CHECK(ndr_push_union_align(ndr, 5));
4871 switch (level) {
4872 case 1: {
4873 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4874 break; }
4876 default:
4877 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4880 if (ndr_flags & NDR_BUFFERS) {
4881 int level = ndr_push_get_switch_value(ndr, r);
4882 switch (level) {
4883 case 1:
4884 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4885 break;
4887 default:
4888 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4891 return NDR_ERR_SUCCESS;
4894 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4896 int level;
4897 uint32_t _level;
4898 level = ndr_pull_get_switch_value(ndr, r);
4899 if (ndr_flags & NDR_SCALARS) {
4900 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4901 if (_level != level) {
4902 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4904 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4905 switch (level) {
4906 case 1: {
4907 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4908 break; }
4910 default:
4911 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4914 if (ndr_flags & NDR_BUFFERS) {
4915 switch (level) {
4916 case 1:
4917 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4918 break;
4920 default:
4921 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4924 return NDR_ERR_SUCCESS;
4927 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4929 int level;
4930 level = ndr_print_get_switch_value(ndr, r);
4931 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4932 switch (level) {
4933 case 1:
4934 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4935 break;
4937 default:
4938 ndr_print_bad_level(ndr, name, level);
4942 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4944 uint32_t cntr_info_array_1;
4945 if (ndr_flags & NDR_SCALARS) {
4946 NDR_CHECK(ndr_push_align(ndr, 5));
4947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4948 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4950 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4951 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4952 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4954 if (ndr_flags & NDR_BUFFERS) {
4955 if (r->info_array) {
4956 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4957 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4958 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4960 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4961 if (r->info_array[cntr_info_array_1]) {
4962 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4966 if (r->domain) {
4967 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4970 return NDR_ERR_SUCCESS;
4973 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
4975 uint32_t _ptr_info_array;
4976 uint32_t cntr_info_array_1;
4977 TALLOC_CTX *_mem_save_info_array_0;
4978 TALLOC_CTX *_mem_save_info_array_1;
4979 TALLOC_CTX *_mem_save_info_array_2;
4980 uint32_t _ptr_domain;
4981 TALLOC_CTX *_mem_save_domain_0;
4982 if (ndr_flags & NDR_SCALARS) {
4983 NDR_CHECK(ndr_pull_align(ndr, 5));
4984 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4985 if (r->count < 1 || r->count > 10000) {
4986 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4989 if (_ptr_info_array) {
4990 NDR_PULL_ALLOC(ndr, r->info_array);
4991 } else {
4992 r->info_array = NULL;
4994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4995 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
4996 if (r->type < 1 || r->type > 7) {
4997 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4999 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5000 if (_ptr_domain) {
5001 NDR_PULL_ALLOC(ndr, r->domain);
5002 } else {
5003 r->domain = NULL;
5005 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5007 if (ndr_flags & NDR_BUFFERS) {
5008 if (r->info_array) {
5009 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5010 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5011 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5012 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5013 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5014 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5015 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5017 if (_ptr_info_array) {
5018 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5019 } else {
5020 r->info_array[cntr_info_array_1] = NULL;
5023 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5024 if (r->info_array[cntr_info_array_1]) {
5025 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5026 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5027 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5034 if (r->domain) {
5035 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5036 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5038 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5040 if (r->info_array) {
5041 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5044 return NDR_ERR_SUCCESS;
5047 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5049 uint32_t cntr_info_array_1;
5050 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5051 ndr->depth++;
5052 ndr_print_uint32(ndr, "count", r->count);
5053 ndr_print_ptr(ndr, "info_array", r->info_array);
5054 ndr->depth++;
5055 if (r->info_array) {
5056 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5057 ndr->depth++;
5058 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5059 char *idx_1=NULL;
5060 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5061 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5062 ndr->depth++;
5063 if (r->info_array[cntr_info_array_1]) {
5064 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5066 ndr->depth--;
5067 free(idx_1);
5070 ndr->depth--;
5072 ndr->depth--;
5073 ndr_print_uint32(ndr, "flags", r->flags);
5074 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5075 ndr_print_ptr(ndr, "domain", r->domain);
5076 ndr->depth++;
5077 if (r->domain) {
5078 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5080 ndr->depth--;
5081 ndr->depth--;
5084 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5086 if (ndr_flags & NDR_SCALARS) {
5087 int level = ndr_push_get_switch_value(ndr, r);
5088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5089 NDR_CHECK(ndr_push_union_align(ndr, 5));
5090 switch (level) {
5091 case 1: {
5092 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5093 break; }
5095 default:
5096 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5099 if (ndr_flags & NDR_BUFFERS) {
5100 int level = ndr_push_get_switch_value(ndr, r);
5101 switch (level) {
5102 case 1:
5103 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5104 break;
5106 default:
5107 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5110 return NDR_ERR_SUCCESS;
5113 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5115 int level;
5116 uint32_t _level;
5117 level = ndr_pull_get_switch_value(ndr, r);
5118 if (ndr_flags & NDR_SCALARS) {
5119 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5120 if (_level != level) {
5121 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5123 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5124 switch (level) {
5125 case 1: {
5126 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5127 break; }
5129 default:
5130 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5133 if (ndr_flags & NDR_BUFFERS) {
5134 switch (level) {
5135 case 1:
5136 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5137 break;
5139 default:
5140 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5143 return NDR_ERR_SUCCESS;
5146 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5148 int level;
5149 level = ndr_print_get_switch_value(ndr, r);
5150 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5151 switch (level) {
5152 case 1:
5153 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5154 break;
5156 default:
5157 ndr_print_bad_level(ndr, name, level);
5161 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5164 return NDR_ERR_SUCCESS;
5167 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5169 uint32_t v;
5170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5171 *r = v;
5172 return NDR_ERR_SUCCESS;
5175 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5177 ndr_print_uint32(ndr, name, r);
5178 ndr->depth++;
5179 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r);
5180 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r);
5181 ndr->depth--;
5184 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5186 if (ndr_flags & NDR_SCALARS) {
5187 NDR_CHECK(ndr_push_align(ndr, 5));
5188 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
5189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length));
5190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5191 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5192 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5194 if (ndr_flags & NDR_BUFFERS) {
5195 if (r->restart_data) {
5196 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5197 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5200 return NDR_ERR_SUCCESS;
5203 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5205 uint32_t _ptr_restart_data;
5206 TALLOC_CTX *_mem_save_restart_data_0;
5207 if (ndr_flags & NDR_SCALARS) {
5208 NDR_CHECK(ndr_pull_align(ndr, 5));
5209 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
5210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length));
5211 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5212 if (r->restart_length > 0x00A00000) {
5213 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5216 if (_ptr_restart_data) {
5217 NDR_PULL_ALLOC(ndr, r->restart_data);
5218 } else {
5219 r->restart_data = NULL;
5221 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5223 if (ndr_flags & NDR_BUFFERS) {
5224 if (r->restart_data) {
5225 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5226 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5227 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5228 NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data));
5229 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)));
5230 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5232 if (r->restart_data) {
5233 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5236 return NDR_ERR_SUCCESS;
5239 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5241 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5242 ndr->depth++;
5243 ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags);
5244 ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length);
5245 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5246 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5247 ndr->depth++;
5248 if (r->restart_data) {
5249 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5251 ndr->depth--;
5252 ndr->depth--;
5255 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5257 if (ndr_flags & NDR_SCALARS) {
5258 int level = ndr_push_get_switch_value(ndr, r);
5259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5260 NDR_CHECK(ndr_push_union_align(ndr, 5));
5261 switch (level) {
5262 case 1: {
5263 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5264 break; }
5266 default:
5267 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5270 if (ndr_flags & NDR_BUFFERS) {
5271 int level = ndr_push_get_switch_value(ndr, r);
5272 switch (level) {
5273 case 1:
5274 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5275 break;
5277 default:
5278 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5281 return NDR_ERR_SUCCESS;
5284 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5286 int level;
5287 uint32_t _level;
5288 level = ndr_pull_get_switch_value(ndr, r);
5289 if (ndr_flags & NDR_SCALARS) {
5290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5291 if (_level != level) {
5292 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5294 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5295 switch (level) {
5296 case 1: {
5297 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5298 break; }
5300 default:
5301 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5304 if (ndr_flags & NDR_BUFFERS) {
5305 switch (level) {
5306 case 1:
5307 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5308 break;
5310 default:
5311 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5314 return NDR_ERR_SUCCESS;
5317 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5319 int level;
5320 level = ndr_print_get_switch_value(ndr, r);
5321 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5322 switch (level) {
5323 case 1:
5324 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5325 break;
5327 default:
5328 ndr_print_bad_level(ndr, name, level);
5332 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5334 if (ndr_flags & NDR_SCALARS) {
5335 NDR_CHECK(ndr_push_align(ndr, 8));
5336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length));
5338 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number));
5339 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time));
5340 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number));
5341 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time));
5342 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number));
5343 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time));
5344 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5346 NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data));
5347 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5349 if (ndr_flags & NDR_BUFFERS) {
5350 if (r->restart_data) {
5351 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5352 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5354 if (r->log_data) {
5355 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length));
5356 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length));
5359 return NDR_ERR_SUCCESS;
5362 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5364 uint32_t _ptr_restart_data;
5365 TALLOC_CTX *_mem_save_restart_data_0;
5366 uint32_t _ptr_log_data;
5367 TALLOC_CTX *_mem_save_log_data_0;
5368 if (ndr_flags & NDR_SCALARS) {
5369 NDR_CHECK(ndr_pull_align(ndr, 8));
5370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5371 if (r->restart_length > 0x00A00000) {
5372 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5374 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length));
5375 if (r->log_length > 0x00A00000) {
5376 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5378 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number));
5379 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time));
5380 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number));
5381 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time));
5382 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number));
5383 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time));
5384 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5385 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5386 if (_ptr_restart_data) {
5387 NDR_PULL_ALLOC(ndr, r->restart_data);
5388 } else {
5389 r->restart_data = NULL;
5391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data));
5392 if (_ptr_log_data) {
5393 NDR_PULL_ALLOC(ndr, r->log_data);
5394 } else {
5395 r->log_data = NULL;
5397 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5399 if (ndr_flags & NDR_BUFFERS) {
5400 if (r->restart_data) {
5401 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5402 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5403 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5404 NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data));
5405 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)));
5406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5408 if (r->log_data) {
5409 _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5410 NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0);
5411 NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data));
5412 NDR_PULL_ALLOC_N(ndr, r->log_data, ndr_get_array_size(ndr, &r->log_data));
5413 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, ndr_get_array_size(ndr, &r->log_data)));
5414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0);
5416 if (r->restart_data) {
5417 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5419 if (r->log_data) {
5420 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->log_data, r->log_length));
5423 return NDR_ERR_SUCCESS;
5426 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5428 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5429 ndr->depth++;
5430 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5431 ndr_print_uint32(ndr, "log_length", r->log_length);
5432 ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number);
5433 ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time);
5434 ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number);
5435 ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time);
5436 ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number);
5437 ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time);
5438 ndr_print_NTSTATUS(ndr, "status", r->status);
5439 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5440 ndr->depth++;
5441 if (r->restart_data) {
5442 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5444 ndr->depth--;
5445 ndr_print_ptr(ndr, "log_data", r->log_data);
5446 ndr->depth++;
5447 if (r->log_data) {
5448 ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length);
5450 ndr->depth--;
5451 ndr->depth--;
5454 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5456 if (ndr_flags & NDR_SCALARS) {
5457 int level = ndr_push_get_switch_value(ndr, r);
5458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5459 NDR_CHECK(ndr_push_union_align(ndr, 8));
5460 switch (level) {
5461 case 1: {
5462 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5463 break; }
5465 default:
5466 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5469 if (ndr_flags & NDR_BUFFERS) {
5470 int level = ndr_push_get_switch_value(ndr, r);
5471 switch (level) {
5472 case 1:
5473 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5474 break;
5476 default:
5477 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5480 return NDR_ERR_SUCCESS;
5483 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5485 int level;
5486 uint32_t _level;
5487 level = ndr_pull_get_switch_value(ndr, r);
5488 if (ndr_flags & NDR_SCALARS) {
5489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5490 if (_level != level) {
5491 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5493 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5494 switch (level) {
5495 case 1: {
5496 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5497 break; }
5499 default:
5500 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5503 if (ndr_flags & NDR_BUFFERS) {
5504 switch (level) {
5505 case 1:
5506 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5507 break;
5509 default:
5510 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5513 return NDR_ERR_SUCCESS;
5516 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5518 int level;
5519 level = ndr_print_get_switch_value(ndr, r);
5520 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5521 switch (level) {
5522 case 1:
5523 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5524 break;
5526 default:
5527 ndr_print_bad_level(ndr, name, level);
5531 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5533 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5534 return NDR_ERR_SUCCESS;
5537 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5539 uint32_t v;
5540 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5541 *r = v;
5542 return NDR_ERR_SUCCESS;
5545 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5547 const char *val = NULL;
5549 switch (r) {
5550 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5551 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5552 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5553 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5554 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5555 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5556 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5557 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5559 ndr_print_enum(ndr, name, "ENUM", val, r);
5562 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5564 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5565 return NDR_ERR_SUCCESS;
5568 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5570 uint32_t v;
5571 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5572 *r = v;
5573 return NDR_ERR_SUCCESS;
5576 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5578 const char *val = NULL;
5580 switch (r) {
5581 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5582 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5583 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5584 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5585 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5587 ndr_print_enum(ndr, name, "ENUM", val, r);
5590 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5592 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5593 return NDR_ERR_SUCCESS;
5596 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5598 uint32_t v;
5599 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5600 *r = v;
5601 return NDR_ERR_SUCCESS;
5604 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5606 const char *val = NULL;
5608 switch (r) {
5609 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5610 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5611 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5612 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5613 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5614 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5615 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5616 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5617 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5618 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5619 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5621 ndr_print_enum(ndr, name, "ENUM", val, r);
5624 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5626 if (ndr_flags & NDR_SCALARS) {
5627 NDR_CHECK(ndr_push_align(ndr, 5));
5628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5629 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5631 if (ndr_flags & NDR_BUFFERS) {
5632 if (r->str) {
5633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5635 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5636 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5639 return NDR_ERR_SUCCESS;
5642 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5644 uint32_t _ptr_str;
5645 TALLOC_CTX *_mem_save_str_0;
5646 if (ndr_flags & NDR_SCALARS) {
5647 NDR_CHECK(ndr_pull_align(ndr, 5));
5648 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5649 if (_ptr_str) {
5650 NDR_PULL_ALLOC(ndr, r->str);
5651 } else {
5652 r->str = NULL;
5654 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5656 if (ndr_flags & NDR_BUFFERS) {
5657 if (r->str) {
5658 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5659 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5660 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5661 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5662 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5663 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));
5665 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5666 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5670 return NDR_ERR_SUCCESS;
5673 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5675 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5676 ndr->depth++;
5677 ndr_print_ptr(ndr, "str", r->str);
5678 ndr->depth++;
5679 if (r->str) {
5680 ndr_print_string(ndr, "str", r->str);
5682 ndr->depth--;
5683 ndr->depth--;
5686 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5688 uint32_t cntr_names_1;
5689 if (ndr_flags & NDR_SCALARS) {
5690 NDR_CHECK(ndr_push_align(ndr, 5));
5691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5693 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5694 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5695 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5697 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5698 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5700 if (ndr_flags & NDR_BUFFERS) {
5701 if (r->names) {
5702 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5703 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5704 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5706 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5707 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5711 return NDR_ERR_SUCCESS;
5714 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5716 uint32_t _ptr_names;
5717 uint32_t cntr_names_1;
5718 TALLOC_CTX *_mem_save_names_0;
5719 TALLOC_CTX *_mem_save_names_1;
5720 if (ndr_flags & NDR_SCALARS) {
5721 NDR_CHECK(ndr_pull_align(ndr, 5));
5722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5724 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5725 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5726 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5728 if (r->count < 1 || r->count > 10000) {
5729 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5731 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5732 if (_ptr_names) {
5733 NDR_PULL_ALLOC(ndr, r->names);
5734 } else {
5735 r->names = NULL;
5737 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5739 if (ndr_flags & NDR_BUFFERS) {
5740 if (r->names) {
5741 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5742 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5743 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5744 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5745 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5746 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5747 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5748 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5750 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5751 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5754 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5756 if (r->names) {
5757 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5760 return NDR_ERR_SUCCESS;
5763 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5765 uint32_t cntr_names_1;
5766 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5767 ndr->depth++;
5768 ndr_print_uint32(ndr, "codepage", r->codepage);
5769 ndr_print_uint32(ndr, "language", r->language);
5770 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5771 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5772 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5773 ndr_print_uint32(ndr, "count", r->count);
5774 ndr_print_ptr(ndr, "names", r->names);
5775 ndr->depth++;
5776 if (r->names) {
5777 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5778 ndr->depth++;
5779 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5780 char *idx_1=NULL;
5781 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5782 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5783 free(idx_1);
5786 ndr->depth--;
5788 ndr->depth--;
5789 ndr->depth--;
5792 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5794 if (ndr_flags & NDR_SCALARS) {
5795 int level = ndr_push_get_switch_value(ndr, r);
5796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5797 NDR_CHECK(ndr_push_union_align(ndr, 5));
5798 switch (level) {
5799 case 1: {
5800 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5801 break; }
5803 default:
5804 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5807 if (ndr_flags & NDR_BUFFERS) {
5808 int level = ndr_push_get_switch_value(ndr, r);
5809 switch (level) {
5810 case 1:
5811 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5812 break;
5814 default:
5815 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5818 return NDR_ERR_SUCCESS;
5821 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5823 int level;
5824 uint32_t _level;
5825 level = ndr_pull_get_switch_value(ndr, r);
5826 if (ndr_flags & NDR_SCALARS) {
5827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5828 if (_level != level) {
5829 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5831 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5832 switch (level) {
5833 case 1: {
5834 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5835 break; }
5837 default:
5838 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5841 if (ndr_flags & NDR_BUFFERS) {
5842 switch (level) {
5843 case 1:
5844 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5845 break;
5847 default:
5848 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5851 return NDR_ERR_SUCCESS;
5854 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5856 int level;
5857 level = ndr_print_get_switch_value(ndr, r);
5858 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5859 switch (level) {
5860 case 1:
5861 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5862 break;
5864 default:
5865 ndr_print_bad_level(ndr, name, level);
5869 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5871 if (ndr_flags & NDR_SCALARS) {
5872 NDR_CHECK(ndr_push_align(ndr, 5));
5873 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5874 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5875 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5876 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5878 if (ndr_flags & NDR_BUFFERS) {
5879 if (r->dns_domain_name) {
5880 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5881 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5882 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5883 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));
5885 if (r->result_name) {
5886 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5887 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5888 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5889 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5892 return NDR_ERR_SUCCESS;
5895 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5897 uint32_t _ptr_dns_domain_name;
5898 TALLOC_CTX *_mem_save_dns_domain_name_0;
5899 uint32_t _ptr_result_name;
5900 TALLOC_CTX *_mem_save_result_name_0;
5901 if (ndr_flags & NDR_SCALARS) {
5902 NDR_CHECK(ndr_pull_align(ndr, 5));
5903 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5904 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5905 if (_ptr_dns_domain_name) {
5906 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5907 } else {
5908 r->dns_domain_name = NULL;
5910 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5911 if (_ptr_result_name) {
5912 NDR_PULL_ALLOC(ndr, r->result_name);
5913 } else {
5914 r->result_name = NULL;
5916 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5918 if (ndr_flags & NDR_BUFFERS) {
5919 if (r->dns_domain_name) {
5920 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5921 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5922 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5923 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5924 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5925 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));
5927 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5928 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));
5929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5931 if (r->result_name) {
5932 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5933 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5934 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5935 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5936 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5937 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));
5939 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5940 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5944 return NDR_ERR_SUCCESS;
5947 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5949 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5950 ndr->depth++;
5951 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5952 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5953 ndr->depth++;
5954 if (r->dns_domain_name) {
5955 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5957 ndr->depth--;
5958 ndr_print_ptr(ndr, "result_name", r->result_name);
5959 ndr->depth++;
5960 if (r->result_name) {
5961 ndr_print_string(ndr, "result_name", r->result_name);
5963 ndr->depth--;
5964 ndr->depth--;
5967 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5969 uint32_t cntr_array_1;
5970 if (ndr_flags & NDR_SCALARS) {
5971 NDR_CHECK(ndr_push_align(ndr, 5));
5972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5974 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5976 if (ndr_flags & NDR_BUFFERS) {
5977 if (r->array) {
5978 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5979 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5980 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5982 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5983 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5987 return NDR_ERR_SUCCESS;
5990 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5992 uint32_t _ptr_array;
5993 uint32_t cntr_array_1;
5994 TALLOC_CTX *_mem_save_array_0;
5995 TALLOC_CTX *_mem_save_array_1;
5996 if (ndr_flags & NDR_SCALARS) {
5997 NDR_CHECK(ndr_pull_align(ndr, 5));
5998 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5999 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6000 if (_ptr_array) {
6001 NDR_PULL_ALLOC(ndr, r->array);
6002 } else {
6003 r->array = NULL;
6005 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6007 if (ndr_flags & NDR_BUFFERS) {
6008 if (r->array) {
6009 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6010 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6011 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6012 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6013 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6014 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6015 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6016 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6018 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6019 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6024 if (r->array) {
6025 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6028 return NDR_ERR_SUCCESS;
6031 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6033 uint32_t cntr_array_1;
6034 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6035 ndr->depth++;
6036 ndr_print_uint32(ndr, "count", r->count);
6037 ndr_print_ptr(ndr, "array", r->array);
6038 ndr->depth++;
6039 if (r->array) {
6040 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6041 ndr->depth++;
6042 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6043 char *idx_1=NULL;
6044 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6045 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6046 free(idx_1);
6049 ndr->depth--;
6051 ndr->depth--;
6052 ndr->depth--;
6055 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6057 if (ndr_flags & NDR_SCALARS) {
6058 int level = ndr_push_get_switch_value(ndr, r);
6059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6060 NDR_CHECK(ndr_push_union_align(ndr, 5));
6061 switch (level) {
6062 case 1: {
6063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6064 break; }
6066 default:
6067 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6070 if (ndr_flags & NDR_BUFFERS) {
6071 int level = ndr_push_get_switch_value(ndr, r);
6072 switch (level) {
6073 case 1:
6074 if (r->ctr1) {
6075 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6077 break;
6079 default:
6080 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6083 return NDR_ERR_SUCCESS;
6086 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6088 int level;
6089 uint32_t _level;
6090 TALLOC_CTX *_mem_save_ctr1_0;
6091 level = ndr_pull_get_switch_value(ndr, r);
6092 if (ndr_flags & NDR_SCALARS) {
6093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6094 if (_level != level) {
6095 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6097 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6098 switch (level) {
6099 case 1: {
6100 uint32_t _ptr_ctr1;
6101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6102 if (_ptr_ctr1) {
6103 NDR_PULL_ALLOC(ndr, r->ctr1);
6104 } else {
6105 r->ctr1 = NULL;
6107 break; }
6109 default:
6110 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6113 if (ndr_flags & NDR_BUFFERS) {
6114 switch (level) {
6115 case 1:
6116 if (r->ctr1) {
6117 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6118 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6119 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6122 break;
6124 default:
6125 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6128 return NDR_ERR_SUCCESS;
6131 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6133 int level;
6134 level = ndr_print_get_switch_value(ndr, r);
6135 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6136 switch (level) {
6137 case 1:
6138 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6139 ndr->depth++;
6140 if (r->ctr1) {
6141 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6143 ndr->depth--;
6144 break;
6146 default:
6147 ndr_print_bad_level(ndr, name, level);
6151 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6153 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6154 return NDR_ERR_SUCCESS;
6157 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6159 uint32_t v;
6160 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6161 *r = v;
6162 return NDR_ERR_SUCCESS;
6165 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6167 const char *val = NULL;
6169 switch (r) {
6170 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6171 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6172 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6174 ndr_print_enum(ndr, name, "ENUM", val, r);
6177 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6179 uint32_t cntr_spn_names_1;
6180 if (ndr_flags & NDR_SCALARS) {
6181 NDR_CHECK(ndr_push_align(ndr, 5));
6182 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6186 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6187 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6189 if (ndr_flags & NDR_BUFFERS) {
6190 if (r->object_dn) {
6191 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6192 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6193 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6194 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6196 if (r->spn_names) {
6197 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6198 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6199 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6201 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6202 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6206 return NDR_ERR_SUCCESS;
6209 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6211 uint32_t _ptr_object_dn;
6212 TALLOC_CTX *_mem_save_object_dn_0;
6213 uint32_t _ptr_spn_names;
6214 uint32_t cntr_spn_names_1;
6215 TALLOC_CTX *_mem_save_spn_names_0;
6216 TALLOC_CTX *_mem_save_spn_names_1;
6217 if (ndr_flags & NDR_SCALARS) {
6218 NDR_CHECK(ndr_pull_align(ndr, 5));
6219 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6222 if (_ptr_object_dn) {
6223 NDR_PULL_ALLOC(ndr, r->object_dn);
6224 } else {
6225 r->object_dn = NULL;
6227 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6228 if (r->count > 10000) {
6229 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6231 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6232 if (_ptr_spn_names) {
6233 NDR_PULL_ALLOC(ndr, r->spn_names);
6234 } else {
6235 r->spn_names = NULL;
6237 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6239 if (ndr_flags & NDR_BUFFERS) {
6240 if (r->object_dn) {
6241 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6242 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6243 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6244 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6245 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6246 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));
6248 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6249 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6252 if (r->spn_names) {
6253 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6254 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6255 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6256 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6257 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6258 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6259 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6260 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6262 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6263 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6268 if (r->spn_names) {
6269 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6272 return NDR_ERR_SUCCESS;
6275 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6277 uint32_t cntr_spn_names_1;
6278 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6279 ndr->depth++;
6280 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6281 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6282 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6283 ndr->depth++;
6284 if (r->object_dn) {
6285 ndr_print_string(ndr, "object_dn", r->object_dn);
6287 ndr->depth--;
6288 ndr_print_uint32(ndr, "count", r->count);
6289 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6290 ndr->depth++;
6291 if (r->spn_names) {
6292 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6293 ndr->depth++;
6294 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6295 char *idx_1=NULL;
6296 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6297 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6298 free(idx_1);
6301 ndr->depth--;
6303 ndr->depth--;
6304 ndr->depth--;
6307 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6309 if (ndr_flags & NDR_SCALARS) {
6310 int level = ndr_push_get_switch_value(ndr, r);
6311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6312 NDR_CHECK(ndr_push_union_align(ndr, 5));
6313 switch (level) {
6314 case 1: {
6315 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6316 break; }
6318 default:
6319 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6322 if (ndr_flags & NDR_BUFFERS) {
6323 int level = ndr_push_get_switch_value(ndr, r);
6324 switch (level) {
6325 case 1:
6326 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6327 break;
6329 default:
6330 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6333 return NDR_ERR_SUCCESS;
6336 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6338 int level;
6339 uint32_t _level;
6340 level = ndr_pull_get_switch_value(ndr, r);
6341 if (ndr_flags & NDR_SCALARS) {
6342 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6343 if (_level != level) {
6344 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6346 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6347 switch (level) {
6348 case 1: {
6349 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6350 break; }
6352 default:
6353 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6356 if (ndr_flags & NDR_BUFFERS) {
6357 switch (level) {
6358 case 1:
6359 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6360 break;
6362 default:
6363 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6366 return NDR_ERR_SUCCESS;
6369 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6371 int level;
6372 level = ndr_print_get_switch_value(ndr, r);
6373 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6374 switch (level) {
6375 case 1:
6376 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6377 break;
6379 default:
6380 ndr_print_bad_level(ndr, name, level);
6384 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6386 if (ndr_flags & NDR_SCALARS) {
6387 NDR_CHECK(ndr_push_align(ndr, 4));
6388 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6389 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6391 if (ndr_flags & NDR_BUFFERS) {
6393 return NDR_ERR_SUCCESS;
6396 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6398 if (ndr_flags & NDR_SCALARS) {
6399 NDR_CHECK(ndr_pull_align(ndr, 4));
6400 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6401 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6403 if (ndr_flags & NDR_BUFFERS) {
6405 return NDR_ERR_SUCCESS;
6408 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6410 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6411 ndr->depth++;
6412 ndr_print_WERROR(ndr, "status", r->status);
6413 ndr->depth--;
6416 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6418 if (ndr_flags & NDR_SCALARS) {
6419 int level = ndr_push_get_switch_value(ndr, r);
6420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6421 NDR_CHECK(ndr_push_union_align(ndr, 4));
6422 switch (level) {
6423 case 1: {
6424 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6425 break; }
6427 default:
6428 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6431 if (ndr_flags & NDR_BUFFERS) {
6432 int level = ndr_push_get_switch_value(ndr, r);
6433 switch (level) {
6434 case 1:
6435 break;
6437 default:
6438 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6441 return NDR_ERR_SUCCESS;
6444 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6446 int level;
6447 uint32_t _level;
6448 level = ndr_pull_get_switch_value(ndr, r);
6449 if (ndr_flags & NDR_SCALARS) {
6450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6451 if (_level != level) {
6452 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6454 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6455 switch (level) {
6456 case 1: {
6457 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6458 break; }
6460 default:
6461 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6464 if (ndr_flags & NDR_BUFFERS) {
6465 switch (level) {
6466 case 1:
6467 break;
6469 default:
6470 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6473 return NDR_ERR_SUCCESS;
6476 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6478 int level;
6479 level = ndr_print_get_switch_value(ndr, r);
6480 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6481 switch (level) {
6482 case 1:
6483 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6484 break;
6486 default:
6487 ndr_print_bad_level(ndr, name, level);
6491 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6493 if (ndr_flags & NDR_SCALARS) {
6494 NDR_CHECK(ndr_push_align(ndr, 5));
6495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6496 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6497 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6498 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6500 if (ndr_flags & NDR_BUFFERS) {
6501 if (r->server_dn) {
6502 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6503 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6504 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6505 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6507 if (r->domain_dn) {
6508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6509 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6510 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6511 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6514 return NDR_ERR_SUCCESS;
6517 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6519 uint32_t _ptr_server_dn;
6520 TALLOC_CTX *_mem_save_server_dn_0;
6521 uint32_t _ptr_domain_dn;
6522 TALLOC_CTX *_mem_save_domain_dn_0;
6523 if (ndr_flags & NDR_SCALARS) {
6524 NDR_CHECK(ndr_pull_align(ndr, 5));
6525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6526 if (_ptr_server_dn) {
6527 NDR_PULL_ALLOC(ndr, r->server_dn);
6528 } else {
6529 r->server_dn = NULL;
6531 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6532 if (_ptr_domain_dn) {
6533 NDR_PULL_ALLOC(ndr, r->domain_dn);
6534 } else {
6535 r->domain_dn = NULL;
6537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6538 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6540 if (ndr_flags & NDR_BUFFERS) {
6541 if (r->server_dn) {
6542 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6543 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6544 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6545 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6546 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6547 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));
6549 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6550 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6553 if (r->domain_dn) {
6554 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6555 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6556 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6557 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6558 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6559 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));
6561 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6562 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6566 return NDR_ERR_SUCCESS;
6569 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6571 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6572 ndr->depth++;
6573 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6574 ndr->depth++;
6575 if (r->server_dn) {
6576 ndr_print_string(ndr, "server_dn", r->server_dn);
6578 ndr->depth--;
6579 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6580 ndr->depth++;
6581 if (r->domain_dn) {
6582 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6584 ndr->depth--;
6585 ndr_print_uint32(ndr, "commit", r->commit);
6586 ndr->depth--;
6589 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6591 if (ndr_flags & NDR_SCALARS) {
6592 int level = ndr_push_get_switch_value(ndr, r);
6593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6594 NDR_CHECK(ndr_push_union_align(ndr, 5));
6595 switch (level) {
6596 case 1: {
6597 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6598 break; }
6600 default:
6601 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6604 if (ndr_flags & NDR_BUFFERS) {
6605 int level = ndr_push_get_switch_value(ndr, r);
6606 switch (level) {
6607 case 1:
6608 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6609 break;
6611 default:
6612 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6615 return NDR_ERR_SUCCESS;
6618 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6620 int level;
6621 uint32_t _level;
6622 level = ndr_pull_get_switch_value(ndr, r);
6623 if (ndr_flags & NDR_SCALARS) {
6624 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6625 if (_level != level) {
6626 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6628 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6629 switch (level) {
6630 case 1: {
6631 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6632 break; }
6634 default:
6635 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6638 if (ndr_flags & NDR_BUFFERS) {
6639 switch (level) {
6640 case 1:
6641 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6642 break;
6644 default:
6645 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6648 return NDR_ERR_SUCCESS;
6651 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6653 int level;
6654 level = ndr_print_get_switch_value(ndr, r);
6655 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6656 switch (level) {
6657 case 1:
6658 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6659 break;
6661 default:
6662 ndr_print_bad_level(ndr, name, level);
6666 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6668 if (ndr_flags & NDR_SCALARS) {
6669 NDR_CHECK(ndr_push_align(ndr, 4));
6670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6671 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6673 if (ndr_flags & NDR_BUFFERS) {
6675 return NDR_ERR_SUCCESS;
6678 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6680 if (ndr_flags & NDR_SCALARS) {
6681 NDR_CHECK(ndr_pull_align(ndr, 4));
6682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6683 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6685 if (ndr_flags & NDR_BUFFERS) {
6687 return NDR_ERR_SUCCESS;
6690 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6692 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6693 ndr->depth++;
6694 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6695 ndr->depth--;
6698 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6700 if (ndr_flags & NDR_SCALARS) {
6701 int level = ndr_push_get_switch_value(ndr, r);
6702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6703 NDR_CHECK(ndr_push_union_align(ndr, 4));
6704 switch (level) {
6705 case 1: {
6706 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6707 break; }
6709 default:
6710 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6713 if (ndr_flags & NDR_BUFFERS) {
6714 int level = ndr_push_get_switch_value(ndr, r);
6715 switch (level) {
6716 case 1:
6717 break;
6719 default:
6720 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6723 return NDR_ERR_SUCCESS;
6726 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6728 int level;
6729 uint32_t _level;
6730 level = ndr_pull_get_switch_value(ndr, r);
6731 if (ndr_flags & NDR_SCALARS) {
6732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6733 if (_level != level) {
6734 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6736 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6737 switch (level) {
6738 case 1: {
6739 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6740 break; }
6742 default:
6743 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6746 if (ndr_flags & NDR_BUFFERS) {
6747 switch (level) {
6748 case 1:
6749 break;
6751 default:
6752 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6755 return NDR_ERR_SUCCESS;
6758 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6760 int level;
6761 level = ndr_print_get_switch_value(ndr, r);
6762 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6763 switch (level) {
6764 case 1:
6765 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6766 break;
6768 default:
6769 ndr_print_bad_level(ndr, name, level);
6773 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6775 if (ndr_flags & NDR_SCALARS) {
6776 NDR_CHECK(ndr_push_align(ndr, 5));
6777 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6778 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6779 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6781 if (ndr_flags & NDR_BUFFERS) {
6782 if (r->domain_name) {
6783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6785 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6786 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6789 return NDR_ERR_SUCCESS;
6792 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6794 uint32_t _ptr_domain_name;
6795 TALLOC_CTX *_mem_save_domain_name_0;
6796 if (ndr_flags & NDR_SCALARS) {
6797 NDR_CHECK(ndr_pull_align(ndr, 5));
6798 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6799 if (_ptr_domain_name) {
6800 NDR_PULL_ALLOC(ndr, r->domain_name);
6801 } else {
6802 r->domain_name = NULL;
6804 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6805 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6807 if (ndr_flags & NDR_BUFFERS) {
6808 if (r->domain_name) {
6809 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6810 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6811 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6812 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6813 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6814 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));
6816 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6817 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6821 return NDR_ERR_SUCCESS;
6824 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6826 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6827 ndr->depth++;
6828 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6829 ndr->depth++;
6830 if (r->domain_name) {
6831 ndr_print_string(ndr, "domain_name", r->domain_name);
6833 ndr->depth--;
6834 ndr_print_int32(ndr, "level", r->level);
6835 ndr->depth--;
6838 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6840 if (ndr_flags & NDR_SCALARS) {
6841 int level = ndr_push_get_switch_value(ndr, r);
6842 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6843 NDR_CHECK(ndr_push_union_align(ndr, 5));
6844 switch (level) {
6845 case 1: {
6846 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6847 break; }
6849 default:
6850 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6853 if (ndr_flags & NDR_BUFFERS) {
6854 int level = ndr_push_get_switch_value(ndr, r);
6855 switch (level) {
6856 case 1:
6857 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6858 break;
6860 default:
6861 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6864 return NDR_ERR_SUCCESS;
6867 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6869 int level;
6870 int32_t _level;
6871 level = ndr_pull_get_switch_value(ndr, r);
6872 if (ndr_flags & NDR_SCALARS) {
6873 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6874 if (_level != level) {
6875 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6877 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6878 switch (level) {
6879 case 1: {
6880 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6881 break; }
6883 default:
6884 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6887 if (ndr_flags & NDR_BUFFERS) {
6888 switch (level) {
6889 case 1:
6890 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6891 break;
6893 default:
6894 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6897 return NDR_ERR_SUCCESS;
6900 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6902 int level;
6903 level = ndr_print_get_switch_value(ndr, r);
6904 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6905 switch (level) {
6906 case 1:
6907 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6908 break;
6910 default:
6911 ndr_print_bad_level(ndr, name, level);
6915 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6917 if (ndr_flags & NDR_SCALARS) {
6918 NDR_CHECK(ndr_push_align(ndr, 5));
6919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6920 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6921 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6923 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6925 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6926 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6928 if (ndr_flags & NDR_BUFFERS) {
6929 if (r->netbios_name) {
6930 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6931 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6932 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6933 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6935 if (r->dns_name) {
6936 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6937 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6938 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6939 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6941 if (r->site_name) {
6942 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6943 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6944 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6945 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6947 if (r->computer_dn) {
6948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6951 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6953 if (r->server_dn) {
6954 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6955 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6956 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6957 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6960 return NDR_ERR_SUCCESS;
6963 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6965 uint32_t _ptr_netbios_name;
6966 TALLOC_CTX *_mem_save_netbios_name_0;
6967 uint32_t _ptr_dns_name;
6968 TALLOC_CTX *_mem_save_dns_name_0;
6969 uint32_t _ptr_site_name;
6970 TALLOC_CTX *_mem_save_site_name_0;
6971 uint32_t _ptr_computer_dn;
6972 TALLOC_CTX *_mem_save_computer_dn_0;
6973 uint32_t _ptr_server_dn;
6974 TALLOC_CTX *_mem_save_server_dn_0;
6975 if (ndr_flags & NDR_SCALARS) {
6976 NDR_CHECK(ndr_pull_align(ndr, 5));
6977 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6978 if (_ptr_netbios_name) {
6979 NDR_PULL_ALLOC(ndr, r->netbios_name);
6980 } else {
6981 r->netbios_name = NULL;
6983 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6984 if (_ptr_dns_name) {
6985 NDR_PULL_ALLOC(ndr, r->dns_name);
6986 } else {
6987 r->dns_name = NULL;
6989 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6990 if (_ptr_site_name) {
6991 NDR_PULL_ALLOC(ndr, r->site_name);
6992 } else {
6993 r->site_name = NULL;
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6996 if (_ptr_computer_dn) {
6997 NDR_PULL_ALLOC(ndr, r->computer_dn);
6998 } else {
6999 r->computer_dn = NULL;
7001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7002 if (_ptr_server_dn) {
7003 NDR_PULL_ALLOC(ndr, r->server_dn);
7004 } else {
7005 r->server_dn = NULL;
7007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7009 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7011 if (ndr_flags & NDR_BUFFERS) {
7012 if (r->netbios_name) {
7013 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7014 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7015 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7016 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7017 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7018 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));
7020 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7021 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7024 if (r->dns_name) {
7025 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7026 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7027 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7028 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7029 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7030 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));
7032 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7033 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7036 if (r->site_name) {
7037 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7038 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7039 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7040 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7041 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7042 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));
7044 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7045 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7048 if (r->computer_dn) {
7049 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7050 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7051 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7052 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7053 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7054 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));
7056 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7057 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7060 if (r->server_dn) {
7061 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7062 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7063 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7064 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7065 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7066 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));
7068 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7069 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7073 return NDR_ERR_SUCCESS;
7076 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7078 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7079 ndr->depth++;
7080 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7081 ndr->depth++;
7082 if (r->netbios_name) {
7083 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7085 ndr->depth--;
7086 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7087 ndr->depth++;
7088 if (r->dns_name) {
7089 ndr_print_string(ndr, "dns_name", r->dns_name);
7091 ndr->depth--;
7092 ndr_print_ptr(ndr, "site_name", r->site_name);
7093 ndr->depth++;
7094 if (r->site_name) {
7095 ndr_print_string(ndr, "site_name", r->site_name);
7097 ndr->depth--;
7098 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7099 ndr->depth++;
7100 if (r->computer_dn) {
7101 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7103 ndr->depth--;
7104 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7105 ndr->depth++;
7106 if (r->server_dn) {
7107 ndr_print_string(ndr, "server_dn", r->server_dn);
7109 ndr->depth--;
7110 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7111 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7112 ndr->depth--;
7115 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7117 uint32_t cntr_array_1;
7118 if (ndr_flags & NDR_SCALARS) {
7119 NDR_CHECK(ndr_push_align(ndr, 5));
7120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7121 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7122 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7124 if (ndr_flags & NDR_BUFFERS) {
7125 if (r->array) {
7126 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7127 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7128 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7130 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7131 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7135 return NDR_ERR_SUCCESS;
7138 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7140 uint32_t _ptr_array;
7141 uint32_t cntr_array_1;
7142 TALLOC_CTX *_mem_save_array_0;
7143 TALLOC_CTX *_mem_save_array_1;
7144 if (ndr_flags & NDR_SCALARS) {
7145 NDR_CHECK(ndr_pull_align(ndr, 5));
7146 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7147 if (r->count > 10000) {
7148 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7150 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7151 if (_ptr_array) {
7152 NDR_PULL_ALLOC(ndr, r->array);
7153 } else {
7154 r->array = NULL;
7156 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7158 if (ndr_flags & NDR_BUFFERS) {
7159 if (r->array) {
7160 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7161 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7162 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7163 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7164 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7165 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7166 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7167 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7169 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7170 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7175 if (r->array) {
7176 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7179 return NDR_ERR_SUCCESS;
7182 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7184 uint32_t cntr_array_1;
7185 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7186 ndr->depth++;
7187 ndr_print_uint32(ndr, "count", r->count);
7188 ndr_print_ptr(ndr, "array", r->array);
7189 ndr->depth++;
7190 if (r->array) {
7191 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7192 ndr->depth++;
7193 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7194 char *idx_1=NULL;
7195 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7196 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7197 free(idx_1);
7200 ndr->depth--;
7202 ndr->depth--;
7203 ndr->depth--;
7206 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7208 if (ndr_flags & NDR_SCALARS) {
7209 NDR_CHECK(ndr_push_align(ndr, 5));
7210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7213 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7214 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7216 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7220 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7221 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7222 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7223 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7224 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7226 if (ndr_flags & NDR_BUFFERS) {
7227 if (r->netbios_name) {
7228 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7230 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7231 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7233 if (r->dns_name) {
7234 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7235 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7236 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7237 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7239 if (r->site_name) {
7240 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7241 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7242 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7243 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7245 if (r->site_dn) {
7246 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7247 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7248 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7249 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7251 if (r->computer_dn) {
7252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7254 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7255 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7257 if (r->server_dn) {
7258 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7259 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7260 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7261 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7263 if (r->ntds_dn) {
7264 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7265 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7266 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7267 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7270 return NDR_ERR_SUCCESS;
7273 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7275 uint32_t _ptr_netbios_name;
7276 TALLOC_CTX *_mem_save_netbios_name_0;
7277 uint32_t _ptr_dns_name;
7278 TALLOC_CTX *_mem_save_dns_name_0;
7279 uint32_t _ptr_site_name;
7280 TALLOC_CTX *_mem_save_site_name_0;
7281 uint32_t _ptr_site_dn;
7282 TALLOC_CTX *_mem_save_site_dn_0;
7283 uint32_t _ptr_computer_dn;
7284 TALLOC_CTX *_mem_save_computer_dn_0;
7285 uint32_t _ptr_server_dn;
7286 TALLOC_CTX *_mem_save_server_dn_0;
7287 uint32_t _ptr_ntds_dn;
7288 TALLOC_CTX *_mem_save_ntds_dn_0;
7289 if (ndr_flags & NDR_SCALARS) {
7290 NDR_CHECK(ndr_pull_align(ndr, 5));
7291 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7292 if (_ptr_netbios_name) {
7293 NDR_PULL_ALLOC(ndr, r->netbios_name);
7294 } else {
7295 r->netbios_name = NULL;
7297 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7298 if (_ptr_dns_name) {
7299 NDR_PULL_ALLOC(ndr, r->dns_name);
7300 } else {
7301 r->dns_name = NULL;
7303 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7304 if (_ptr_site_name) {
7305 NDR_PULL_ALLOC(ndr, r->site_name);
7306 } else {
7307 r->site_name = NULL;
7309 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7310 if (_ptr_site_dn) {
7311 NDR_PULL_ALLOC(ndr, r->site_dn);
7312 } else {
7313 r->site_dn = NULL;
7315 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7316 if (_ptr_computer_dn) {
7317 NDR_PULL_ALLOC(ndr, r->computer_dn);
7318 } else {
7319 r->computer_dn = NULL;
7321 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7322 if (_ptr_server_dn) {
7323 NDR_PULL_ALLOC(ndr, r->server_dn);
7324 } else {
7325 r->server_dn = NULL;
7327 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7328 if (_ptr_ntds_dn) {
7329 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7330 } else {
7331 r->ntds_dn = NULL;
7333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7336 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7337 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7338 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7339 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7340 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7342 if (ndr_flags & NDR_BUFFERS) {
7343 if (r->netbios_name) {
7344 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7345 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7346 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7347 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7348 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7349 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));
7351 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7352 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7355 if (r->dns_name) {
7356 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7357 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7358 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7359 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7360 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7361 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));
7363 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7364 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7367 if (r->site_name) {
7368 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7369 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7370 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7371 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7372 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7373 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));
7375 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7376 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7379 if (r->site_dn) {
7380 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7381 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7382 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7383 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7384 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7385 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));
7387 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7388 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7391 if (r->computer_dn) {
7392 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7393 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7394 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7395 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7396 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7397 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));
7399 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7400 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7403 if (r->server_dn) {
7404 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7405 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7406 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7407 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7408 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7409 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));
7411 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7412 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7415 if (r->ntds_dn) {
7416 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7417 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7418 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7419 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7420 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7421 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));
7423 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7424 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7428 return NDR_ERR_SUCCESS;
7431 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7433 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7434 ndr->depth++;
7435 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7436 ndr->depth++;
7437 if (r->netbios_name) {
7438 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7440 ndr->depth--;
7441 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7442 ndr->depth++;
7443 if (r->dns_name) {
7444 ndr_print_string(ndr, "dns_name", r->dns_name);
7446 ndr->depth--;
7447 ndr_print_ptr(ndr, "site_name", r->site_name);
7448 ndr->depth++;
7449 if (r->site_name) {
7450 ndr_print_string(ndr, "site_name", r->site_name);
7452 ndr->depth--;
7453 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7454 ndr->depth++;
7455 if (r->site_dn) {
7456 ndr_print_string(ndr, "site_dn", r->site_dn);
7458 ndr->depth--;
7459 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7460 ndr->depth++;
7461 if (r->computer_dn) {
7462 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7464 ndr->depth--;
7465 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7466 ndr->depth++;
7467 if (r->server_dn) {
7468 ndr_print_string(ndr, "server_dn", r->server_dn);
7470 ndr->depth--;
7471 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7472 ndr->depth++;
7473 if (r->ntds_dn) {
7474 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7476 ndr->depth--;
7477 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7478 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7479 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7480 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7481 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7482 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7483 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7484 ndr->depth--;
7487 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7489 uint32_t cntr_array_1;
7490 if (ndr_flags & NDR_SCALARS) {
7491 NDR_CHECK(ndr_push_align(ndr, 5));
7492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7493 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7494 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7496 if (ndr_flags & NDR_BUFFERS) {
7497 if (r->array) {
7498 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7499 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7500 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7502 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7503 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7507 return NDR_ERR_SUCCESS;
7510 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7512 uint32_t _ptr_array;
7513 uint32_t cntr_array_1;
7514 TALLOC_CTX *_mem_save_array_0;
7515 TALLOC_CTX *_mem_save_array_1;
7516 if (ndr_flags & NDR_SCALARS) {
7517 NDR_CHECK(ndr_pull_align(ndr, 5));
7518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7519 if (r->count > 10000) {
7520 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7522 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7523 if (_ptr_array) {
7524 NDR_PULL_ALLOC(ndr, r->array);
7525 } else {
7526 r->array = NULL;
7528 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7530 if (ndr_flags & NDR_BUFFERS) {
7531 if (r->array) {
7532 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7533 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7534 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7535 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7536 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7537 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7538 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7539 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7541 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7542 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7547 if (r->array) {
7548 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7551 return NDR_ERR_SUCCESS;
7554 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7556 uint32_t cntr_array_1;
7557 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7558 ndr->depth++;
7559 ndr_print_uint32(ndr, "count", r->count);
7560 ndr_print_ptr(ndr, "array", r->array);
7561 ndr->depth++;
7562 if (r->array) {
7563 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7564 ndr->depth++;
7565 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7566 char *idx_1=NULL;
7567 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7568 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7569 free(idx_1);
7572 ndr->depth--;
7574 ndr->depth--;
7575 ndr->depth--;
7578 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7580 if (ndr_flags & NDR_SCALARS) {
7581 NDR_CHECK(ndr_push_align(ndr, 5));
7582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7586 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7587 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7593 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7594 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7595 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7596 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7597 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7599 if (ndr_flags & NDR_BUFFERS) {
7600 if (r->netbios_name) {
7601 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7602 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7603 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7604 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7606 if (r->dns_name) {
7607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7610 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7612 if (r->site_name) {
7613 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7614 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7615 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7616 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7618 if (r->site_dn) {
7619 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7621 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7622 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7624 if (r->computer_dn) {
7625 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7626 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7627 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7628 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7630 if (r->server_dn) {
7631 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7634 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7636 if (r->ntds_dn) {
7637 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7638 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7639 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7640 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7643 return NDR_ERR_SUCCESS;
7646 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7648 uint32_t _ptr_netbios_name;
7649 TALLOC_CTX *_mem_save_netbios_name_0;
7650 uint32_t _ptr_dns_name;
7651 TALLOC_CTX *_mem_save_dns_name_0;
7652 uint32_t _ptr_site_name;
7653 TALLOC_CTX *_mem_save_site_name_0;
7654 uint32_t _ptr_site_dn;
7655 TALLOC_CTX *_mem_save_site_dn_0;
7656 uint32_t _ptr_computer_dn;
7657 TALLOC_CTX *_mem_save_computer_dn_0;
7658 uint32_t _ptr_server_dn;
7659 TALLOC_CTX *_mem_save_server_dn_0;
7660 uint32_t _ptr_ntds_dn;
7661 TALLOC_CTX *_mem_save_ntds_dn_0;
7662 if (ndr_flags & NDR_SCALARS) {
7663 NDR_CHECK(ndr_pull_align(ndr, 5));
7664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7665 if (_ptr_netbios_name) {
7666 NDR_PULL_ALLOC(ndr, r->netbios_name);
7667 } else {
7668 r->netbios_name = NULL;
7670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7671 if (_ptr_dns_name) {
7672 NDR_PULL_ALLOC(ndr, r->dns_name);
7673 } else {
7674 r->dns_name = NULL;
7676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7677 if (_ptr_site_name) {
7678 NDR_PULL_ALLOC(ndr, r->site_name);
7679 } else {
7680 r->site_name = NULL;
7682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7683 if (_ptr_site_dn) {
7684 NDR_PULL_ALLOC(ndr, r->site_dn);
7685 } else {
7686 r->site_dn = NULL;
7688 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7689 if (_ptr_computer_dn) {
7690 NDR_PULL_ALLOC(ndr, r->computer_dn);
7691 } else {
7692 r->computer_dn = NULL;
7694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7695 if (_ptr_server_dn) {
7696 NDR_PULL_ALLOC(ndr, r->server_dn);
7697 } else {
7698 r->server_dn = NULL;
7700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7701 if (_ptr_ntds_dn) {
7702 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7703 } else {
7704 r->ntds_dn = NULL;
7706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7710 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7711 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7712 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7713 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7714 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7716 if (ndr_flags & NDR_BUFFERS) {
7717 if (r->netbios_name) {
7718 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7719 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7720 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7721 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7722 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7723 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));
7725 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7726 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7729 if (r->dns_name) {
7730 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7731 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7732 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7733 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7734 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7735 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));
7737 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7738 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7741 if (r->site_name) {
7742 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7743 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7744 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7745 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7746 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7747 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));
7749 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7750 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7753 if (r->site_dn) {
7754 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7755 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7756 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7757 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7758 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7759 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));
7761 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7762 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7765 if (r->computer_dn) {
7766 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7767 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7768 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7769 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7770 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7771 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));
7773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7777 if (r->server_dn) {
7778 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7779 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7780 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7781 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7782 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7783 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));
7785 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7786 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7789 if (r->ntds_dn) {
7790 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7791 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7792 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7793 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7794 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7795 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));
7797 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7798 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7802 return NDR_ERR_SUCCESS;
7805 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7807 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7808 ndr->depth++;
7809 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7810 ndr->depth++;
7811 if (r->netbios_name) {
7812 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7814 ndr->depth--;
7815 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7816 ndr->depth++;
7817 if (r->dns_name) {
7818 ndr_print_string(ndr, "dns_name", r->dns_name);
7820 ndr->depth--;
7821 ndr_print_ptr(ndr, "site_name", r->site_name);
7822 ndr->depth++;
7823 if (r->site_name) {
7824 ndr_print_string(ndr, "site_name", r->site_name);
7826 ndr->depth--;
7827 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7828 ndr->depth++;
7829 if (r->site_dn) {
7830 ndr_print_string(ndr, "site_dn", r->site_dn);
7832 ndr->depth--;
7833 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7834 ndr->depth++;
7835 if (r->computer_dn) {
7836 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7838 ndr->depth--;
7839 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7840 ndr->depth++;
7841 if (r->server_dn) {
7842 ndr_print_string(ndr, "server_dn", r->server_dn);
7844 ndr->depth--;
7845 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7846 ndr->depth++;
7847 if (r->ntds_dn) {
7848 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7850 ndr->depth--;
7851 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7852 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7853 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7854 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7855 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7856 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7857 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7858 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7859 ndr->depth--;
7862 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7864 uint32_t cntr_array_1;
7865 if (ndr_flags & NDR_SCALARS) {
7866 NDR_CHECK(ndr_push_align(ndr, 5));
7867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7868 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7869 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7871 if (ndr_flags & NDR_BUFFERS) {
7872 if (r->array) {
7873 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7874 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7875 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7877 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7878 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7882 return NDR_ERR_SUCCESS;
7885 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7887 uint32_t _ptr_array;
7888 uint32_t cntr_array_1;
7889 TALLOC_CTX *_mem_save_array_0;
7890 TALLOC_CTX *_mem_save_array_1;
7891 if (ndr_flags & NDR_SCALARS) {
7892 NDR_CHECK(ndr_pull_align(ndr, 5));
7893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7894 if (r->count > 10000) {
7895 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7897 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7898 if (_ptr_array) {
7899 NDR_PULL_ALLOC(ndr, r->array);
7900 } else {
7901 r->array = NULL;
7903 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7905 if (ndr_flags & NDR_BUFFERS) {
7906 if (r->array) {
7907 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7908 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7909 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7910 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7911 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7912 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7913 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7914 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7916 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7917 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7922 if (r->array) {
7923 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7926 return NDR_ERR_SUCCESS;
7929 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7931 uint32_t cntr_array_1;
7932 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7933 ndr->depth++;
7934 ndr_print_uint32(ndr, "count", r->count);
7935 ndr_print_ptr(ndr, "array", r->array);
7936 ndr->depth++;
7937 if (r->array) {
7938 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7939 ndr->depth++;
7940 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7941 char *idx_1=NULL;
7942 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7943 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7944 free(idx_1);
7947 ndr->depth--;
7949 ndr->depth--;
7950 ndr->depth--;
7953 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7955 if (ndr_flags & NDR_SCALARS) {
7956 NDR_CHECK(ndr_push_align(ndr, 5));
7958 uint32_t _flags_save_ipv4address = ndr->flags;
7959 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7960 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7961 ndr->flags = _flags_save_ipv4address;
7963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7969 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7971 if (ndr_flags & NDR_BUFFERS) {
7972 if (r->client_account) {
7973 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7974 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7975 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7976 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7979 return NDR_ERR_SUCCESS;
7982 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7984 uint32_t _ptr_client_account;
7985 TALLOC_CTX *_mem_save_client_account_0;
7986 if (ndr_flags & NDR_SCALARS) {
7987 NDR_CHECK(ndr_pull_align(ndr, 5));
7989 uint32_t _flags_save_ipv4address = ndr->flags;
7990 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7991 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7992 ndr->flags = _flags_save_ipv4address;
7994 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7996 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7998 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7999 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8000 if (_ptr_client_account) {
8001 NDR_PULL_ALLOC(ndr, r->client_account);
8002 } else {
8003 r->client_account = NULL;
8005 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8007 if (ndr_flags & NDR_BUFFERS) {
8008 if (r->client_account) {
8009 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8010 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8011 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8012 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8013 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8014 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));
8016 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8017 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8021 return NDR_ERR_SUCCESS;
8024 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8026 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8027 ndr->depth++;
8028 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8029 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8030 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8031 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8032 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8033 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8034 ndr_print_ptr(ndr, "client_account", r->client_account);
8035 ndr->depth++;
8036 if (r->client_account) {
8037 ndr_print_string(ndr, "client_account", r->client_account);
8039 ndr->depth--;
8040 ndr->depth--;
8043 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8045 uint32_t cntr_array_1;
8046 if (ndr_flags & NDR_SCALARS) {
8047 NDR_CHECK(ndr_push_align(ndr, 5));
8048 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8049 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8050 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8052 if (ndr_flags & NDR_BUFFERS) {
8053 if (r->array) {
8054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8055 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8056 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8058 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8059 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8063 return NDR_ERR_SUCCESS;
8066 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8068 uint32_t _ptr_array;
8069 uint32_t cntr_array_1;
8070 TALLOC_CTX *_mem_save_array_0;
8071 TALLOC_CTX *_mem_save_array_1;
8072 if (ndr_flags & NDR_SCALARS) {
8073 NDR_CHECK(ndr_pull_align(ndr, 5));
8074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8075 if (r->count > 10000) {
8076 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8079 if (_ptr_array) {
8080 NDR_PULL_ALLOC(ndr, r->array);
8081 } else {
8082 r->array = NULL;
8084 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8086 if (ndr_flags & NDR_BUFFERS) {
8087 if (r->array) {
8088 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8089 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8090 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8091 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8092 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8093 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8094 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8095 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8097 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8098 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8103 if (r->array) {
8104 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8107 return NDR_ERR_SUCCESS;
8110 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8112 uint32_t cntr_array_1;
8113 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8114 ndr->depth++;
8115 ndr_print_uint32(ndr, "count", r->count);
8116 ndr_print_ptr(ndr, "array", r->array);
8117 ndr->depth++;
8118 if (r->array) {
8119 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8120 ndr->depth++;
8121 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8122 char *idx_1=NULL;
8123 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8124 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8125 free(idx_1);
8128 ndr->depth--;
8130 ndr->depth--;
8131 ndr->depth--;
8134 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8136 if (ndr_flags & NDR_SCALARS) {
8137 int level = ndr_push_get_switch_value(ndr, r);
8138 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8139 NDR_CHECK(ndr_push_union_align(ndr, 5));
8140 switch (level) {
8141 case DRSUAPI_DC_INFO_CTR_1: {
8142 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8143 break; }
8145 case DRSUAPI_DC_INFO_CTR_2: {
8146 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8147 break; }
8149 case DRSUAPI_DC_INFO_CTR_3: {
8150 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8151 break; }
8153 case DRSUAPI_DC_CONNECTION_CTR_01: {
8154 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8155 break; }
8157 default:
8158 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8161 if (ndr_flags & NDR_BUFFERS) {
8162 int level = ndr_push_get_switch_value(ndr, r);
8163 switch (level) {
8164 case DRSUAPI_DC_INFO_CTR_1:
8165 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8166 break;
8168 case DRSUAPI_DC_INFO_CTR_2:
8169 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8170 break;
8172 case DRSUAPI_DC_INFO_CTR_3:
8173 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8174 break;
8176 case DRSUAPI_DC_CONNECTION_CTR_01:
8177 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8178 break;
8180 default:
8181 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8184 return NDR_ERR_SUCCESS;
8187 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8189 int level;
8190 int32_t _level;
8191 level = ndr_pull_get_switch_value(ndr, r);
8192 if (ndr_flags & NDR_SCALARS) {
8193 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8194 if (_level != level) {
8195 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8197 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8198 switch (level) {
8199 case DRSUAPI_DC_INFO_CTR_1: {
8200 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8201 break; }
8203 case DRSUAPI_DC_INFO_CTR_2: {
8204 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8205 break; }
8207 case DRSUAPI_DC_INFO_CTR_3: {
8208 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8209 break; }
8211 case DRSUAPI_DC_CONNECTION_CTR_01: {
8212 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8213 break; }
8215 default:
8216 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8219 if (ndr_flags & NDR_BUFFERS) {
8220 switch (level) {
8221 case DRSUAPI_DC_INFO_CTR_1:
8222 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8223 break;
8225 case DRSUAPI_DC_INFO_CTR_2:
8226 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8227 break;
8229 case DRSUAPI_DC_INFO_CTR_3:
8230 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8231 break;
8233 case DRSUAPI_DC_CONNECTION_CTR_01:
8234 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8235 break;
8237 default:
8238 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8241 return NDR_ERR_SUCCESS;
8244 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8246 int level;
8247 level = ndr_print_get_switch_value(ndr, r);
8248 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8249 switch (level) {
8250 case DRSUAPI_DC_INFO_CTR_1:
8251 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8252 break;
8254 case DRSUAPI_DC_INFO_CTR_2:
8255 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8256 break;
8258 case DRSUAPI_DC_INFO_CTR_3:
8259 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8260 break;
8262 case DRSUAPI_DC_CONNECTION_CTR_01:
8263 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8264 break;
8266 default:
8267 ndr_print_bad_level(ndr, name, level);
8271 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8273 if (ndr_flags & NDR_SCALARS) {
8274 NDR_CHECK(ndr_push_align(ndr, 5));
8275 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8276 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8277 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8279 if (ndr_flags & NDR_BUFFERS) {
8280 if (r->next_object) {
8281 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8283 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8285 return NDR_ERR_SUCCESS;
8288 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8290 uint32_t _ptr_next_object;
8291 TALLOC_CTX *_mem_save_next_object_0;
8292 if (ndr_flags & NDR_SCALARS) {
8293 NDR_CHECK(ndr_pull_align(ndr, 5));
8294 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8295 if (_ptr_next_object) {
8296 NDR_PULL_ALLOC(ndr, r->next_object);
8297 } else {
8298 r->next_object = NULL;
8300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8301 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8303 if (ndr_flags & NDR_BUFFERS) {
8304 if (r->next_object) {
8305 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8306 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8307 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8312 return NDR_ERR_SUCCESS;
8315 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_DirErr(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr r)
8317 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8318 return NDR_ERR_SUCCESS;
8321 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_DirErr(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr *r)
8323 uint32_t v;
8324 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8325 *r = v;
8326 return NDR_ERR_SUCCESS;
8329 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_DirErr r)
8331 const char *val = NULL;
8333 switch (r) {
8334 case DRSUAPI_DIRERR_OK: val = "DRSUAPI_DIRERR_OK"; break;
8335 case DRSUAPI_DIRERR_ATTRIBUTE: val = "DRSUAPI_DIRERR_ATTRIBUTE"; break;
8336 case DRSUAPI_DIRERR_NAME: val = "DRSUAPI_DIRERR_NAME"; break;
8337 case DRSUAPI_DIRERR_REFERRAL: val = "DRSUAPI_DIRERR_REFERRAL"; break;
8338 case DRSUAPI_DIRERR_SECURITY: val = "DRSUAPI_DIRERR_SECURITY"; break;
8339 case DRSUAPI_DIRERR_SERVICE: val = "DRSUAPI_DIRERR_SERVICE"; break;
8340 case DRSUAPI_DIRERR_UPDATE: val = "DRSUAPI_DIRERR_UPDATE"; break;
8341 case DRSUAPI_DIRERR_SYSTEM: val = "DRSUAPI_DIRERR_SYSTEM"; break;
8343 ndr_print_enum(ndr, name, "ENUM", val, r);
8346 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8348 if (ndr_flags & NDR_SCALARS) {
8349 NDR_CHECK(ndr_push_align(ndr, 5));
8350 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8351 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8353 if (ndr_flags & NDR_BUFFERS) {
8354 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8356 return NDR_ERR_SUCCESS;
8359 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8361 if (ndr_flags & NDR_SCALARS) {
8362 NDR_CHECK(ndr_pull_align(ndr, 5));
8363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8364 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8366 if (ndr_flags & NDR_BUFFERS) {
8367 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8369 return NDR_ERR_SUCCESS;
8372 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8374 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8375 ndr->depth++;
8376 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8377 ndr->depth--;
8380 static enum ndr_err_code ndr_push_drsuapi_SecBufferType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_SecBufferType r)
8382 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8383 return NDR_ERR_SUCCESS;
8386 static enum ndr_err_code ndr_pull_drsuapi_SecBufferType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_SecBufferType *r)
8388 uint32_t v;
8389 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8390 *r = v;
8391 return NDR_ERR_SUCCESS;
8394 static enum ndr_err_code ndr_push_drsuapi_SecBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBuffer *r)
8396 if (ndr_flags & NDR_SCALARS) {
8397 NDR_CHECK(ndr_push_align(ndr, 5));
8398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_size));
8399 NDR_CHECK(ndr_push_drsuapi_SecBufferType(ndr, NDR_SCALARS, r->buf_type));
8400 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8401 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8403 if (ndr_flags & NDR_BUFFERS) {
8404 if (r->buffer) {
8405 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_size));
8406 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_size));
8409 return NDR_ERR_SUCCESS;
8412 static enum ndr_err_code ndr_pull_drsuapi_SecBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBuffer *r)
8414 uint32_t _ptr_buffer;
8415 TALLOC_CTX *_mem_save_buffer_0;
8416 if (ndr_flags & NDR_SCALARS) {
8417 NDR_CHECK(ndr_pull_align(ndr, 5));
8418 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_size));
8419 if (r->buf_size > 10000) {
8420 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8422 NDR_CHECK(ndr_pull_drsuapi_SecBufferType(ndr, NDR_SCALARS, &r->buf_type));
8423 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8424 if (_ptr_buffer) {
8425 NDR_PULL_ALLOC(ndr, r->buffer);
8426 } else {
8427 r->buffer = NULL;
8429 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8431 if (ndr_flags & NDR_BUFFERS) {
8432 if (r->buffer) {
8433 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8434 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8435 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8436 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8437 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8440 if (r->buffer) {
8441 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_size));
8444 return NDR_ERR_SUCCESS;
8447 _PUBLIC_ void ndr_print_drsuapi_SecBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBuffer *r)
8449 ndr_print_struct(ndr, name, "drsuapi_SecBuffer");
8450 ndr->depth++;
8451 ndr_print_uint32(ndr, "buf_size", r->buf_size);
8452 ndr_print_drsuapi_SecBufferType(ndr, "buf_type", r->buf_type);
8453 ndr_print_ptr(ndr, "buffer", r->buffer);
8454 ndr->depth++;
8455 if (r->buffer) {
8456 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_size);
8458 ndr->depth--;
8459 ndr->depth--;
8462 static enum ndr_err_code ndr_push_drsuapi_SecBufferDesc(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBufferDesc *r)
8464 uint32_t cntr_buffers_1;
8465 if (ndr_flags & NDR_SCALARS) {
8466 NDR_CHECK(ndr_push_align(ndr, 5));
8467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buff_count));
8469 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffers));
8470 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8472 if (ndr_flags & NDR_BUFFERS) {
8473 if (r->buffers) {
8474 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buff_count));
8475 for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) {
8476 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
8478 for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) {
8479 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
8483 return NDR_ERR_SUCCESS;
8486 static enum ndr_err_code ndr_pull_drsuapi_SecBufferDesc(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBufferDesc *r)
8488 uint32_t _ptr_buffers;
8489 uint32_t cntr_buffers_1;
8490 TALLOC_CTX *_mem_save_buffers_0;
8491 TALLOC_CTX *_mem_save_buffers_1;
8492 if (ndr_flags & NDR_SCALARS) {
8493 NDR_CHECK(ndr_pull_align(ndr, 5));
8494 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
8495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buff_count));
8496 if (r->buff_count > 10000) {
8497 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffers));
8500 if (_ptr_buffers) {
8501 NDR_PULL_ALLOC(ndr, r->buffers);
8502 } else {
8503 r->buffers = NULL;
8505 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8507 if (ndr_flags & NDR_BUFFERS) {
8508 if (r->buffers) {
8509 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
8510 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
8511 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffers));
8512 NDR_PULL_ALLOC_N(ndr, r->buffers, ndr_get_array_size(ndr, &r->buffers));
8513 _mem_save_buffers_1 = NDR_PULL_GET_MEM_CTX(ndr);
8514 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
8515 for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) {
8516 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
8518 for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) {
8519 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
8521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_1, 0);
8522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
8524 if (r->buffers) {
8525 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffers, r->buff_count));
8528 return NDR_ERR_SUCCESS;
8531 _PUBLIC_ void ndr_print_drsuapi_SecBufferDesc(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBufferDesc *r)
8533 uint32_t cntr_buffers_1;
8534 ndr_print_struct(ndr, name, "drsuapi_SecBufferDesc");
8535 ndr->depth++;
8536 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
8537 ndr_print_uint32(ndr, "buff_count", r->buff_count);
8538 ndr_print_ptr(ndr, "buffers", r->buffers);
8539 ndr->depth++;
8540 if (r->buffers) {
8541 ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->buff_count);
8542 ndr->depth++;
8543 for (cntr_buffers_1=0;cntr_buffers_1<r->buff_count;cntr_buffers_1++) {
8544 char *idx_1=NULL;
8545 if (asprintf(&idx_1, "[%d]", cntr_buffers_1) != -1) {
8546 ndr_print_drsuapi_SecBuffer(ndr, "buffers", &r->buffers[cntr_buffers_1]);
8547 free(idx_1);
8550 ndr->depth--;
8552 ndr->depth--;
8553 ndr->depth--;
8556 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest3 *r)
8558 if (ndr_flags & NDR_SCALARS) {
8559 NDR_CHECK(ndr_push_align(ndr, 5));
8560 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8561 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_creds));
8562 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8564 if (ndr_flags & NDR_BUFFERS) {
8565 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8566 if (r->client_creds) {
8567 NDR_CHECK(ndr_push_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
8570 return NDR_ERR_SUCCESS;
8573 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest3 *r)
8575 uint32_t _ptr_client_creds;
8576 TALLOC_CTX *_mem_save_client_creds_0;
8577 if (ndr_flags & NDR_SCALARS) {
8578 NDR_CHECK(ndr_pull_align(ndr, 5));
8579 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8580 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_creds));
8581 if (_ptr_client_creds) {
8582 NDR_PULL_ALLOC(ndr, r->client_creds);
8583 } else {
8584 r->client_creds = NULL;
8586 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8588 if (ndr_flags & NDR_BUFFERS) {
8589 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8590 if (r->client_creds) {
8591 _mem_save_client_creds_0 = NDR_PULL_GET_MEM_CTX(ndr);
8592 NDR_PULL_SET_MEM_CTX(ndr, r->client_creds, 0);
8593 NDR_CHECK(ndr_pull_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
8594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_creds_0, 0);
8597 return NDR_ERR_SUCCESS;
8600 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest3 *r)
8602 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest3");
8603 ndr->depth++;
8604 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8605 ndr_print_ptr(ndr, "client_creds", r->client_creds);
8606 ndr->depth++;
8607 if (r->client_creds) {
8608 ndr_print_drsuapi_SecBufferDesc(ndr, "client_creds", r->client_creds);
8610 ndr->depth--;
8611 ndr->depth--;
8614 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8616 if (ndr_flags & NDR_SCALARS) {
8617 int level = ndr_push_get_switch_value(ndr, r);
8618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8619 NDR_CHECK(ndr_push_union_align(ndr, 5));
8620 switch (level) {
8621 case 2: {
8622 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8623 break; }
8625 case 3: {
8626 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
8627 break; }
8629 default:
8630 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8633 if (ndr_flags & NDR_BUFFERS) {
8634 int level = ndr_push_get_switch_value(ndr, r);
8635 switch (level) {
8636 case 2:
8637 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8638 break;
8640 case 3:
8641 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
8642 break;
8644 default:
8645 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8648 return NDR_ERR_SUCCESS;
8651 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8653 int level;
8654 uint32_t _level;
8655 level = ndr_pull_get_switch_value(ndr, r);
8656 if (ndr_flags & NDR_SCALARS) {
8657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8658 if (_level != level) {
8659 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8661 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8662 switch (level) {
8663 case 2: {
8664 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8665 break; }
8667 case 3: {
8668 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
8669 break; }
8671 default:
8672 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8675 if (ndr_flags & NDR_BUFFERS) {
8676 switch (level) {
8677 case 2:
8678 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8679 break;
8681 case 3:
8682 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
8683 break;
8685 default:
8686 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8689 return NDR_ERR_SUCCESS;
8692 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8694 int level;
8695 level = ndr_print_get_switch_value(ndr, r);
8696 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8697 switch (level) {
8698 case 2:
8699 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8700 break;
8702 case 3:
8703 ndr_print_drsuapi_DsAddEntryRequest3(ndr, "req3", &r->req3);
8704 break;
8706 default:
8707 ndr_print_bad_level(ndr, name, level);
8711 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8713 if (ndr_flags & NDR_SCALARS) {
8714 NDR_CHECK(ndr_push_align(ndr, 4));
8715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
8716 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
8717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
8718 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
8719 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8721 if (ndr_flags & NDR_BUFFERS) {
8723 return NDR_ERR_SUCCESS;
8726 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8728 if (ndr_flags & NDR_SCALARS) {
8729 NDR_CHECK(ndr_pull_align(ndr, 4));
8730 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
8731 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
8732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
8733 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
8734 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8736 if (ndr_flags & NDR_BUFFERS) {
8738 return NDR_ERR_SUCCESS;
8741 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8743 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8744 ndr->depth++;
8745 ndr_print_uint32(ndr, "dsid", r->dsid);
8746 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
8747 ndr_print_uint32(ndr, "extended_data", r->extended_data);
8748 ndr_print_uint16(ndr, "problem", r->problem);
8749 ndr->depth--;
8752 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
8754 if (ndr_flags & NDR_SCALARS) {
8755 NDR_CHECK(ndr_push_align(ndr, 5));
8756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
8757 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
8758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
8759 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
8760 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_val_returned));
8762 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
8763 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8765 if (ndr_flags & NDR_BUFFERS) {
8766 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
8768 return NDR_ERR_SUCCESS;
8771 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErr_V1 *r)
8773 if (ndr_flags & NDR_SCALARS) {
8774 NDR_CHECK(ndr_pull_align(ndr, 5));
8775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
8776 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
8777 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
8778 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
8779 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8780 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_val_returned));
8781 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
8782 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8784 if (ndr_flags & NDR_BUFFERS) {
8785 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
8787 return NDR_ERR_SUCCESS;
8790 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
8792 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_AttrErr_V1");
8793 ndr->depth++;
8794 ndr_print_uint32(ndr, "dsid", r->dsid);
8795 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
8796 ndr_print_uint32(ndr, "extended_data", r->extended_data);
8797 ndr_print_uint16(ndr, "problem", r->problem);
8798 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8799 ndr_print_uint32(ndr, "is_val_returned", r->is_val_returned);
8800 ndr_print_drsuapi_DsAttributeValue(ndr, "attr_val", &r->attr_val);
8801 ndr->depth--;
8804 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
8806 if (ndr_flags & NDR_SCALARS) {
8807 NDR_CHECK(ndr_push_align(ndr, 5));
8808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8809 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
8810 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8812 if (ndr_flags & NDR_BUFFERS) {
8813 if (r->next) {
8814 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8816 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
8818 return NDR_ERR_SUCCESS;
8821 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
8823 uint32_t _ptr_next;
8824 TALLOC_CTX *_mem_save_next_0;
8825 if (ndr_flags & NDR_SCALARS) {
8826 NDR_CHECK(ndr_pull_align(ndr, 5));
8827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8828 if (_ptr_next) {
8829 NDR_PULL_ALLOC(ndr, r->next);
8830 } else {
8831 r->next = NULL;
8833 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
8834 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8836 if (ndr_flags & NDR_BUFFERS) {
8837 if (r->next) {
8838 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8839 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8840 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8843 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
8845 return NDR_ERR_SUCCESS;
8848 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
8850 if (ndr_flags & NDR_SCALARS) {
8851 NDR_CHECK(ndr_push_align(ndr, 5));
8852 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8854 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
8855 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8857 if (ndr_flags & NDR_BUFFERS) {
8858 if (r->id) {
8859 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8861 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
8863 return NDR_ERR_SUCCESS;
8866 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
8868 uint32_t _ptr_id;
8869 TALLOC_CTX *_mem_save_id_0;
8870 if (ndr_flags & NDR_SCALARS) {
8871 NDR_CHECK(ndr_pull_align(ndr, 5));
8872 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8873 if (_ptr_id) {
8874 NDR_PULL_ALLOC(ndr, r->id);
8875 } else {
8876 r->id = NULL;
8878 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8879 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
8880 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8882 if (ndr_flags & NDR_BUFFERS) {
8883 if (r->id) {
8884 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8885 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8886 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8889 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
8891 return NDR_ERR_SUCCESS;
8894 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
8896 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Attr_V1");
8897 ndr->depth++;
8898 ndr_print_ptr(ndr, "id", r->id);
8899 ndr->depth++;
8900 if (r->id) {
8901 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8903 ndr->depth--;
8904 ndr_print_uint32(ndr, "count", r->count);
8905 ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, "first", &r->first);
8906 ndr->depth--;
8909 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
8911 if (ndr_flags & NDR_SCALARS) {
8912 NDR_CHECK(ndr_push_align(ndr, 5));
8913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
8914 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
8915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
8916 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
8917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_matched));
8918 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8920 if (ndr_flags & NDR_BUFFERS) {
8921 if (r->id_matched) {
8922 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
8925 return NDR_ERR_SUCCESS;
8928 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
8930 uint32_t _ptr_id_matched;
8931 TALLOC_CTX *_mem_save_id_matched_0;
8932 if (ndr_flags & NDR_SCALARS) {
8933 NDR_CHECK(ndr_pull_align(ndr, 5));
8934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
8935 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
8936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
8937 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
8938 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_matched));
8939 if (_ptr_id_matched) {
8940 NDR_PULL_ALLOC(ndr, r->id_matched);
8941 } else {
8942 r->id_matched = NULL;
8944 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8946 if (ndr_flags & NDR_BUFFERS) {
8947 if (r->id_matched) {
8948 _mem_save_id_matched_0 = NDR_PULL_GET_MEM_CTX(ndr);
8949 NDR_PULL_SET_MEM_CTX(ndr, r->id_matched, 0);
8950 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
8951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_matched_0, 0);
8954 return NDR_ERR_SUCCESS;
8957 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
8959 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Name_V1");
8960 ndr->depth++;
8961 ndr_print_uint32(ndr, "dsid", r->dsid);
8962 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
8963 ndr_print_uint32(ndr, "extended_data", r->extended_data);
8964 ndr_print_uint16(ndr, "problem", r->problem);
8965 ndr_print_ptr(ndr, "id_matched", r->id_matched);
8966 ndr->depth++;
8967 if (r->id_matched) {
8968 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_matched", r->id_matched);
8970 ndr->depth--;
8971 ndr->depth--;
8974 static enum ndr_err_code ndr_push_drsuapi_NameResOp_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_NameResOp_V1 *r)
8976 if (ndr_flags & NDR_SCALARS) {
8977 NDR_CHECK(ndr_push_align(ndr, 2));
8978 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 83));
8979 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
8980 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
8981 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
8983 if (ndr_flags & NDR_BUFFERS) {
8985 return NDR_ERR_SUCCESS;
8988 static enum ndr_err_code ndr_pull_drsuapi_NameResOp_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_NameResOp_V1 *r)
8990 if (ndr_flags & NDR_SCALARS) {
8991 NDR_CHECK(ndr_pull_align(ndr, 2));
8992 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->name_res));
8993 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unused_pad));
8994 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->next_rdn));
8995 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
8997 if (ndr_flags & NDR_BUFFERS) {
8999 return NDR_ERR_SUCCESS;
9002 _PUBLIC_ void ndr_print_drsuapi_NameResOp_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_NameResOp_V1 *r)
9004 ndr_print_struct(ndr, name, "drsuapi_NameResOp_V1");
9005 ndr->depth++;
9006 ndr_print_uint8(ndr, "name_res", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?83:r->name_res);
9007 ndr_print_uint8(ndr, "unused_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unused_pad);
9008 ndr_print_uint16(ndr, "next_rdn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->next_rdn);
9009 ndr->depth--;
9012 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType r)
9014 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
9015 return NDR_ERR_SUCCESS;
9018 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType *r)
9020 uint16_t v;
9021 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
9022 *r = v;
9023 return NDR_ERR_SUCCESS;
9026 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_RefType r)
9028 const char *val = NULL;
9030 switch (r) {
9031 case DRSUAPI_CH_REFTYPE_SUPERIOR: val = "DRSUAPI_CH_REFTYPE_SUPERIOR"; break;
9032 case DRSUAPI_CH_REFTYPE_SUBORDINATE: val = "DRSUAPI_CH_REFTYPE_SUBORDINATE"; break;
9033 case DRSUAPI_CH_REFTYPE_NSSR: val = "DRSUAPI_CH_REFTYPE_NSSR"; break;
9034 case DRSUAPI_CH_REFTYPE_CROSS: val = "DRSUAPI_CH_REFTYPE_CROSS"; break;
9036 ndr_print_enum(ndr, name, "ENUM", val, r);
9039 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ChoiceType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType r)
9041 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
9042 return NDR_ERR_SUCCESS;
9045 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ChoiceType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType *r)
9047 uint8_t v;
9048 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
9049 *r = v;
9050 return NDR_ERR_SUCCESS;
9053 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_ChoiceType r)
9055 const char *val = NULL;
9057 switch (r) {
9058 case DRSUAPI_SE_CHOICE_BASE_ONLY: val = "DRSUAPI_SE_CHOICE_BASE_ONLY"; break;
9059 case DRSUAPI_SE_CHOICE_IMMED_CHLDRN: val = "DRSUAPI_SE_CHOICE_IMMED_CHLDRN"; break;
9060 case DRSUAPI_SE_CHOICE_WHOLE_SUBTREE: val = "DRSUAPI_SE_CHOICE_WHOLE_SUBTREE"; break;
9062 ndr_print_enum(ndr, name, "ENUM", val, r);
9065 static enum ndr_err_code ndr_push_drsuapi_DsaAddressListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsaAddressListItem_V1 *r)
9067 if (ndr_flags & NDR_SCALARS) {
9068 NDR_CHECK(ndr_push_align(ndr, 5));
9069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9070 NDR_CHECK(ndr_push_unique_ptr(ndr, r->address));
9071 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9073 if (ndr_flags & NDR_BUFFERS) {
9074 if (r->next) {
9075 NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9077 if (r->address) {
9078 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
9081 return NDR_ERR_SUCCESS;
9084 static enum ndr_err_code ndr_pull_drsuapi_DsaAddressListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsaAddressListItem_V1 *r)
9086 uint32_t _ptr_next;
9087 TALLOC_CTX *_mem_save_next_0;
9088 uint32_t _ptr_address;
9089 TALLOC_CTX *_mem_save_address_0;
9090 if (ndr_flags & NDR_SCALARS) {
9091 NDR_CHECK(ndr_pull_align(ndr, 5));
9092 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9093 if (_ptr_next) {
9094 NDR_PULL_ALLOC(ndr, r->next);
9095 } else {
9096 r->next = NULL;
9098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address));
9099 if (_ptr_address) {
9100 NDR_PULL_ALLOC(ndr, r->address);
9101 } else {
9102 r->address = NULL;
9104 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9106 if (ndr_flags & NDR_BUFFERS) {
9107 if (r->next) {
9108 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9109 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9110 NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9113 if (r->address) {
9114 _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9115 NDR_PULL_SET_MEM_CTX(ndr, r->address, 0);
9116 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
9117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0);
9120 return NDR_ERR_SUCCESS;
9123 _PUBLIC_ void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsaAddressListItem_V1 *r)
9125 ndr_print_struct(ndr, name, "drsuapi_DsaAddressListItem_V1");
9126 ndr->depth++;
9127 ndr_print_ptr(ndr, "next", r->next);
9128 ndr->depth++;
9129 if (r->next) {
9130 ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "next", r->next);
9132 ndr->depth--;
9133 ndr_print_ptr(ndr, "address", r->address);
9134 ndr->depth++;
9135 if (r->address) {
9136 ndr_print_lsa_String(ndr, "address", r->address);
9138 ndr->depth--;
9139 ndr->depth--;
9142 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
9144 if (ndr_flags & NDR_SCALARS) {
9145 NDR_CHECK(ndr_push_align(ndr, 5));
9146 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_target));
9147 NDR_CHECK(ndr_push_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
9148 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
9149 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
9150 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, r->ref_type));
9151 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addr_list_count));
9152 NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr_list));
9153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_choice_set));
9155 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, r->choice));
9156 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9158 if (ndr_flags & NDR_BUFFERS) {
9159 if (r->id_target) {
9160 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
9162 if (r->addr_list) {
9163 NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
9165 if (r->next) {
9166 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9169 return NDR_ERR_SUCCESS;
9172 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
9174 uint32_t _ptr_id_target;
9175 TALLOC_CTX *_mem_save_id_target_0;
9176 uint32_t _ptr_addr_list;
9177 TALLOC_CTX *_mem_save_addr_list_0;
9178 uint32_t _ptr_next;
9179 TALLOC_CTX *_mem_save_next_0;
9180 if (ndr_flags & NDR_SCALARS) {
9181 NDR_CHECK(ndr_pull_align(ndr, 5));
9182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_target));
9183 if (_ptr_id_target) {
9184 NDR_PULL_ALLOC(ndr, r->id_target);
9185 } else {
9186 r->id_target = NULL;
9188 NDR_CHECK(ndr_pull_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
9189 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_alias));
9190 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_internal));
9191 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, &r->ref_type));
9192 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addr_list_count));
9193 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr_list));
9194 if (_ptr_addr_list) {
9195 NDR_PULL_ALLOC(ndr, r->addr_list);
9196 } else {
9197 r->addr_list = NULL;
9199 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9200 if (_ptr_next) {
9201 NDR_PULL_ALLOC(ndr, r->next);
9202 } else {
9203 r->next = NULL;
9205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_choice_set));
9206 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, &r->choice));
9207 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9209 if (ndr_flags & NDR_BUFFERS) {
9210 if (r->id_target) {
9211 _mem_save_id_target_0 = NDR_PULL_GET_MEM_CTX(ndr);
9212 NDR_PULL_SET_MEM_CTX(ndr, r->id_target, 0);
9213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
9214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_target_0, 0);
9216 if (r->addr_list) {
9217 _mem_save_addr_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
9218 NDR_PULL_SET_MEM_CTX(ndr, r->addr_list, 0);
9219 NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
9220 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_list_0, 0);
9222 if (r->next) {
9223 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9224 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9225 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9229 return NDR_ERR_SUCCESS;
9232 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
9234 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_RefErrListItem_V1");
9235 ndr->depth++;
9236 ndr_print_ptr(ndr, "id_target", r->id_target);
9237 ndr->depth++;
9238 if (r->id_target) {
9239 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_target", r->id_target);
9241 ndr->depth--;
9242 ndr_print_drsuapi_NameResOp_V1(ndr, "op_state", &r->op_state);
9243 ndr_print_uint16(ndr, "rdn_alias", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_alias);
9244 ndr_print_uint16(ndr, "rdn_internal", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_internal);
9245 ndr_print_drsuapi_DsAddEntry_RefType(ndr, "ref_type", r->ref_type);
9246 ndr_print_uint16(ndr, "addr_list_count", r->addr_list_count);
9247 ndr_print_ptr(ndr, "addr_list", r->addr_list);
9248 ndr->depth++;
9249 if (r->addr_list) {
9250 ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "addr_list", r->addr_list);
9252 ndr->depth--;
9253 ndr_print_ptr(ndr, "next", r->next);
9254 ndr->depth++;
9255 if (r->next) {
9256 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "next", r->next);
9258 ndr->depth--;
9259 ndr_print_uint32(ndr, "is_choice_set", r->is_choice_set);
9260 ndr_print_drsuapi_DsAddEntry_ChoiceType(ndr, "choice", r->choice);
9261 ndr->depth--;
9264 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
9266 if (ndr_flags & NDR_SCALARS) {
9267 NDR_CHECK(ndr_push_align(ndr, 5));
9268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9269 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9271 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
9272 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9274 if (ndr_flags & NDR_BUFFERS) {
9275 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
9277 return NDR_ERR_SUCCESS;
9280 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
9282 if (ndr_flags & NDR_SCALARS) {
9283 NDR_CHECK(ndr_pull_align(ndr, 5));
9284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9285 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9287 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
9288 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9290 if (ndr_flags & NDR_BUFFERS) {
9291 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
9293 return NDR_ERR_SUCCESS;
9296 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
9298 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Referr_V1");
9299 ndr->depth++;
9300 ndr_print_uint32(ndr, "dsid", r->dsid);
9301 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9302 ndr_print_uint32(ndr, "extended_data", r->extended_data);
9303 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "refer", &r->refer);
9304 ndr->depth--;
9307 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
9309 if (ndr_flags & NDR_SCALARS) {
9310 int level = ndr_push_get_switch_value(ndr, r);
9311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9312 NDR_CHECK(ndr_push_union_align(ndr, 5));
9313 switch (level) {
9314 case 1: {
9315 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
9316 break; }
9318 case 2: {
9319 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
9320 break; }
9322 case 3: {
9323 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
9324 break; }
9326 case 4: {
9327 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
9328 break; }
9330 case 5: {
9331 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
9332 break; }
9334 case 6: {
9335 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
9336 break; }
9338 case 7: {
9339 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
9340 break; }
9342 default:
9343 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9346 if (ndr_flags & NDR_BUFFERS) {
9347 int level = ndr_push_get_switch_value(ndr, r);
9348 switch (level) {
9349 case 1:
9350 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
9351 break;
9353 case 2:
9354 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
9355 break;
9357 case 3:
9358 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
9359 break;
9361 case 4:
9362 break;
9364 case 5:
9365 break;
9367 case 6:
9368 break;
9370 case 7:
9371 break;
9373 default:
9374 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9377 return NDR_ERR_SUCCESS;
9380 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
9382 int level;
9383 uint32_t _level;
9384 level = ndr_pull_get_switch_value(ndr, r);
9385 if (ndr_flags & NDR_SCALARS) {
9386 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9387 if (_level != level) {
9388 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9390 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9391 switch (level) {
9392 case 1: {
9393 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
9394 break; }
9396 case 2: {
9397 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
9398 break; }
9400 case 3: {
9401 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
9402 break; }
9404 case 4: {
9405 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
9406 break; }
9408 case 5: {
9409 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
9410 break; }
9412 case 6: {
9413 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
9414 break; }
9416 case 7: {
9417 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
9418 break; }
9420 default:
9421 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9424 if (ndr_flags & NDR_BUFFERS) {
9425 switch (level) {
9426 case 1:
9427 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
9428 break;
9430 case 2:
9431 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
9432 break;
9434 case 3:
9435 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
9436 break;
9438 case 4:
9439 break;
9441 case 5:
9442 break;
9444 case 6:
9445 break;
9447 case 7:
9448 break;
9450 default:
9451 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9454 return NDR_ERR_SUCCESS;
9457 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
9459 int level;
9460 level = ndr_print_get_switch_value(ndr, r);
9461 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
9462 switch (level) {
9463 case 1:
9464 ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, "attr_err", &r->attr_err);
9465 break;
9467 case 2:
9468 ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, "name_err", &r->name_err);
9469 break;
9471 case 3:
9472 ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, "referral_err", &r->referral_err);
9473 break;
9475 case 4:
9476 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "security_err", &r->security_err);
9477 break;
9479 case 5:
9480 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "service_err", &r->service_err);
9481 break;
9483 case 6:
9484 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "update_err", &r->update_err);
9485 break;
9487 case 7:
9488 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "system_err", &r->system_err);
9489 break;
9491 default:
9492 ndr_print_bad_level(ndr, name, level);
9496 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
9498 if (ndr_flags & NDR_SCALARS) {
9499 NDR_CHECK(ndr_push_align(ndr, 5));
9500 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
9501 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
9502 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
9503 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9505 if (ndr_flags & NDR_BUFFERS) {
9506 if (r->info) {
9507 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->dir_err));
9508 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9511 return NDR_ERR_SUCCESS;
9514 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_ErrData_V1 *r)
9516 uint32_t _ptr_info;
9517 TALLOC_CTX *_mem_save_info_0;
9518 if (ndr_flags & NDR_SCALARS) {
9519 NDR_CHECK(ndr_pull_align(ndr, 5));
9520 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
9521 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
9522 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9523 if (_ptr_info) {
9524 NDR_PULL_ALLOC(ndr, r->info);
9525 } else {
9526 r->info = NULL;
9528 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9530 if (ndr_flags & NDR_BUFFERS) {
9531 if (r->info) {
9532 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9533 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
9534 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->dir_err));
9535 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9539 return NDR_ERR_SUCCESS;
9542 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
9544 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_ErrData_V1");
9545 ndr->depth++;
9546 ndr_print_WERROR(ndr, "status", r->status);
9547 ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
9548 ndr_print_ptr(ndr, "info", r->info);
9549 ndr->depth++;
9550 if (r->info) {
9551 ndr_print_set_switch_value(ndr, r->info, r->dir_err);
9552 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
9554 ndr->depth--;
9555 ndr->depth--;
9558 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntry_ErrData *r)
9560 if (ndr_flags & NDR_SCALARS) {
9561 int level = ndr_push_get_switch_value(ndr, r);
9562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9563 NDR_CHECK(ndr_push_union_align(ndr, 5));
9564 switch (level) {
9565 case 1: {
9566 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
9567 break; }
9569 default:
9570 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9573 if (ndr_flags & NDR_BUFFERS) {
9574 int level = ndr_push_get_switch_value(ndr, r);
9575 switch (level) {
9576 case 1:
9577 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
9578 break;
9580 default:
9581 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9584 return NDR_ERR_SUCCESS;
9587 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntry_ErrData *r)
9589 int level;
9590 uint32_t _level;
9591 level = ndr_pull_get_switch_value(ndr, r);
9592 if (ndr_flags & NDR_SCALARS) {
9593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9594 if (_level != level) {
9595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9597 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9598 switch (level) {
9599 case 1: {
9600 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
9601 break; }
9603 default:
9604 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9607 if (ndr_flags & NDR_BUFFERS) {
9608 switch (level) {
9609 case 1:
9610 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
9611 break;
9613 default:
9614 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9617 return NDR_ERR_SUCCESS;
9620 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntry_ErrData *r)
9622 int level;
9623 level = ndr_print_get_switch_value(ndr, r);
9624 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntry_ErrData");
9625 switch (level) {
9626 case 1:
9627 ndr_print_drsuapi_DsAddEntry_ErrData_V1(ndr, "v1", &r->v1);
9628 break;
9630 default:
9631 ndr_print_bad_level(ndr, name, level);
9635 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9637 if (ndr_flags & NDR_SCALARS) {
9638 NDR_CHECK(ndr_push_align(ndr, 4));
9639 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9640 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9641 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9643 if (ndr_flags & NDR_BUFFERS) {
9644 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9646 return NDR_ERR_SUCCESS;
9649 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9651 if (ndr_flags & NDR_SCALARS) {
9652 NDR_CHECK(ndr_pull_align(ndr, 4));
9653 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9654 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9655 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9657 if (ndr_flags & NDR_BUFFERS) {
9658 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9660 return NDR_ERR_SUCCESS;
9663 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9665 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9666 ndr->depth++;
9667 ndr_print_GUID(ndr, "guid", &r->guid);
9668 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9669 ndr->depth--;
9672 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9674 uint32_t cntr_objects_1;
9675 if (ndr_flags & NDR_SCALARS) {
9676 NDR_CHECK(ndr_push_align(ndr, 5));
9677 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9678 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
9679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9680 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9682 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9685 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9687 if (ndr_flags & NDR_BUFFERS) {
9688 if (r->id) {
9689 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9691 if (r->objects) {
9692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9693 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9694 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9696 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9697 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9701 return NDR_ERR_SUCCESS;
9704 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9706 uint32_t _ptr_id;
9707 TALLOC_CTX *_mem_save_id_0;
9708 uint32_t _ptr_objects;
9709 uint32_t cntr_objects_1;
9710 TALLOC_CTX *_mem_save_objects_0;
9711 TALLOC_CTX *_mem_save_objects_1;
9712 if (ndr_flags & NDR_SCALARS) {
9713 NDR_CHECK(ndr_pull_align(ndr, 5));
9714 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9715 if (_ptr_id) {
9716 NDR_PULL_ALLOC(ndr, r->id);
9717 } else {
9718 r->id = NULL;
9720 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
9721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9722 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9724 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9726 if (r->count > 10000) {
9727 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9730 if (_ptr_objects) {
9731 NDR_PULL_ALLOC(ndr, r->objects);
9732 } else {
9733 r->objects = NULL;
9735 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9737 if (ndr_flags & NDR_BUFFERS) {
9738 if (r->id) {
9739 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9740 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9744 if (r->objects) {
9745 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9746 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9747 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9748 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9749 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9750 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9751 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9754 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9760 if (r->objects) {
9761 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9764 return NDR_ERR_SUCCESS;
9767 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9769 uint32_t cntr_objects_1;
9770 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9771 ndr->depth++;
9772 ndr_print_ptr(ndr, "id", r->id);
9773 ndr->depth++;
9774 if (r->id) {
9775 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9777 ndr->depth--;
9778 ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
9779 ndr_print_uint32(ndr, "dsid", r->dsid);
9780 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9781 ndr_print_uint32(ndr, "extended_data", r->extended_data);
9782 ndr_print_uint16(ndr, "problem", r->problem);
9783 ndr_print_uint32(ndr, "count", r->count);
9784 ndr_print_ptr(ndr, "objects", r->objects);
9785 ndr->depth++;
9786 if (r->objects) {
9787 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9788 ndr->depth++;
9789 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9790 char *idx_1=NULL;
9791 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9792 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9793 free(idx_1);
9796 ndr->depth--;
9798 ndr->depth--;
9799 ndr->depth--;
9802 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9804 uint32_t cntr_objects_1;
9805 if (ndr_flags & NDR_SCALARS) {
9806 NDR_CHECK(ndr_push_align(ndr, 5));
9807 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->err_ver));
9809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->err_data));
9810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9812 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9814 if (ndr_flags & NDR_BUFFERS) {
9815 if (r->id) {
9816 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9818 if (r->err_data) {
9819 NDR_CHECK(ndr_push_set_switch_value(ndr, r->err_data, r->err_ver));
9820 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
9822 if (r->objects) {
9823 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9824 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9825 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9827 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9828 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9832 return NDR_ERR_SUCCESS;
9835 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9837 uint32_t _ptr_id;
9838 TALLOC_CTX *_mem_save_id_0;
9839 uint32_t _ptr_err_data;
9840 TALLOC_CTX *_mem_save_err_data_0;
9841 uint32_t _ptr_objects;
9842 uint32_t cntr_objects_1;
9843 TALLOC_CTX *_mem_save_objects_0;
9844 TALLOC_CTX *_mem_save_objects_1;
9845 if (ndr_flags & NDR_SCALARS) {
9846 NDR_CHECK(ndr_pull_align(ndr, 5));
9847 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9848 if (_ptr_id) {
9849 NDR_PULL_ALLOC(ndr, r->id);
9850 } else {
9851 r->id = NULL;
9853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->err_ver));
9854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_err_data));
9855 if (_ptr_err_data) {
9856 NDR_PULL_ALLOC(ndr, r->err_data);
9857 } else {
9858 r->err_data = NULL;
9860 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9861 if (r->count > 10000) {
9862 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9865 if (_ptr_objects) {
9866 NDR_PULL_ALLOC(ndr, r->objects);
9867 } else {
9868 r->objects = NULL;
9870 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9872 if (ndr_flags & NDR_BUFFERS) {
9873 if (r->id) {
9874 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9875 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9876 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9879 if (r->err_data) {
9880 _mem_save_err_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9881 NDR_PULL_SET_MEM_CTX(ndr, r->err_data, 0);
9882 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->err_data, r->err_ver));
9883 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
9884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_err_data_0, 0);
9886 if (r->objects) {
9887 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9888 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9890 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9891 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9892 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9893 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9894 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9896 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9897 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9902 if (r->objects) {
9903 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9906 return NDR_ERR_SUCCESS;
9909 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9911 uint32_t cntr_objects_1;
9912 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9913 ndr->depth++;
9914 ndr_print_ptr(ndr, "id", r->id);
9915 ndr->depth++;
9916 if (r->id) {
9917 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9919 ndr->depth--;
9920 ndr_print_uint32(ndr, "err_ver", r->err_ver);
9921 ndr_print_ptr(ndr, "err_data", r->err_data);
9922 ndr->depth++;
9923 if (r->err_data) {
9924 ndr_print_set_switch_value(ndr, r->err_data, r->err_ver);
9925 ndr_print_drsuapi_DsAddEntry_ErrData(ndr, "err_data", r->err_data);
9927 ndr->depth--;
9928 ndr_print_uint32(ndr, "count", r->count);
9929 ndr_print_ptr(ndr, "objects", r->objects);
9930 ndr->depth++;
9931 if (r->objects) {
9932 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9933 ndr->depth++;
9934 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9935 char *idx_1=NULL;
9936 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9937 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9938 free(idx_1);
9941 ndr->depth--;
9943 ndr->depth--;
9944 ndr->depth--;
9947 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9949 if (ndr_flags & NDR_SCALARS) {
9950 int level = ndr_push_get_switch_value(ndr, r);
9951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9952 NDR_CHECK(ndr_push_union_align(ndr, 5));
9953 switch (level) {
9954 case 2: {
9955 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9956 break; }
9958 case 3: {
9959 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9960 break; }
9962 default:
9963 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9966 if (ndr_flags & NDR_BUFFERS) {
9967 int level = ndr_push_get_switch_value(ndr, r);
9968 switch (level) {
9969 case 2:
9970 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9971 break;
9973 case 3:
9974 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9975 break;
9977 default:
9978 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9981 return NDR_ERR_SUCCESS;
9984 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9986 int level;
9987 uint32_t _level;
9988 level = ndr_pull_get_switch_value(ndr, r);
9989 if (ndr_flags & NDR_SCALARS) {
9990 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9991 if (_level != level) {
9992 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9994 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9995 switch (level) {
9996 case 2: {
9997 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9998 break; }
10000 case 3: {
10001 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
10002 break; }
10004 default:
10005 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10008 if (ndr_flags & NDR_BUFFERS) {
10009 switch (level) {
10010 case 2:
10011 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
10012 break;
10014 case 3:
10015 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
10016 break;
10018 default:
10019 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10022 return NDR_ERR_SUCCESS;
10025 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
10027 int level;
10028 level = ndr_print_get_switch_value(ndr, r);
10029 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
10030 switch (level) {
10031 case 2:
10032 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
10033 break;
10035 case 3:
10036 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
10037 break;
10039 default:
10040 ndr_print_bad_level(ndr, name, level);
10044 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
10046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
10047 return NDR_ERR_SUCCESS;
10050 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
10052 uint32_t v;
10053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
10054 *r = v;
10055 return NDR_ERR_SUCCESS;
10058 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
10060 ndr_print_uint32(ndr, name, r);
10061 ndr->depth++;
10062 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
10063 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
10064 ndr->depth--;
10067 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
10069 if (ndr_flags & NDR_SCALARS) {
10070 NDR_CHECK(ndr_push_align(ndr, 4));
10071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
10072 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
10073 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
10075 if (ndr_flags & NDR_BUFFERS) {
10077 return NDR_ERR_SUCCESS;
10080 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
10082 if (ndr_flags & NDR_SCALARS) {
10083 NDR_CHECK(ndr_pull_align(ndr, 4));
10084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
10085 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
10086 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
10088 if (ndr_flags & NDR_BUFFERS) {
10090 return NDR_ERR_SUCCESS;
10093 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
10095 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
10096 ndr->depth++;
10097 ndr_print_uint32(ndr, "taskID", r->taskID);
10098 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
10099 ndr->depth--;
10102 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
10104 if (ndr_flags & NDR_SCALARS) {
10105 int level = ndr_push_get_switch_value(ndr, r);
10106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10107 NDR_CHECK(ndr_push_union_align(ndr, 4));
10108 switch (level) {
10109 case 1: {
10110 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
10111 break; }
10113 default:
10114 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10117 if (ndr_flags & NDR_BUFFERS) {
10118 int level = ndr_push_get_switch_value(ndr, r);
10119 switch (level) {
10120 case 1:
10121 break;
10123 default:
10124 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10127 return NDR_ERR_SUCCESS;
10130 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
10132 int level;
10133 uint32_t _level;
10134 level = ndr_pull_get_switch_value(ndr, r);
10135 if (ndr_flags & NDR_SCALARS) {
10136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10137 if (_level != level) {
10138 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10140 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10141 switch (level) {
10142 case 1: {
10143 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
10144 break; }
10146 default:
10147 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10150 if (ndr_flags & NDR_BUFFERS) {
10151 switch (level) {
10152 case 1:
10153 break;
10155 default:
10156 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10159 return NDR_ERR_SUCCESS;
10162 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
10164 int level;
10165 level = ndr_print_get_switch_value(ndr, r);
10166 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
10167 switch (level) {
10168 case 1:
10169 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
10170 break;
10172 default:
10173 ndr_print_bad_level(ndr, name, level);
10177 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
10179 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
10180 return NDR_ERR_SUCCESS;
10183 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
10185 uint32_t v;
10186 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
10187 *r = v;
10188 return NDR_ERR_SUCCESS;
10191 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
10193 const char *val = NULL;
10195 switch (r) {
10196 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
10197 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
10199 ndr_print_enum(ndr, name, "ENUM", val, r);
10202 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
10204 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
10205 return NDR_ERR_SUCCESS;
10208 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
10210 uint32_t v;
10211 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
10212 *r = v;
10213 return NDR_ERR_SUCCESS;
10216 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
10218 const char *val = NULL;
10220 switch (r) {
10221 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
10222 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
10223 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
10224 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
10225 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
10226 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
10227 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
10228 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
10229 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
10230 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
10231 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
10232 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
10233 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
10234 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
10235 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
10237 ndr_print_enum(ndr, name, "ENUM", val, r);
10240 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
10242 if (ndr_flags & NDR_SCALARS) {
10243 NDR_CHECK(ndr_push_align(ndr, 5));
10244 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
10245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10246 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10247 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10249 if (ndr_flags & NDR_BUFFERS) {
10250 if (r->object_dn) {
10251 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10254 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10257 return NDR_ERR_SUCCESS;
10260 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
10262 uint32_t _ptr_object_dn;
10263 TALLOC_CTX *_mem_save_object_dn_0;
10264 if (ndr_flags & NDR_SCALARS) {
10265 NDR_CHECK(ndr_pull_align(ndr, 5));
10266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
10267 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10268 if (_ptr_object_dn) {
10269 NDR_PULL_ALLOC(ndr, r->object_dn);
10270 } else {
10271 r->object_dn = NULL;
10273 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10274 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10276 if (ndr_flags & NDR_BUFFERS) {
10277 if (r->object_dn) {
10278 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10279 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10280 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10281 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10282 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10283 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));
10285 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10286 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10290 return NDR_ERR_SUCCESS;
10293 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
10295 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
10296 ndr->depth++;
10297 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
10298 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10299 ndr->depth++;
10300 if (r->object_dn) {
10301 ndr_print_string(ndr, "object_dn", r->object_dn);
10303 ndr->depth--;
10304 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
10305 ndr->depth--;
10308 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
10310 if (ndr_flags & NDR_SCALARS) {
10311 NDR_CHECK(ndr_push_align(ndr, 5));
10312 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
10313 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10314 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
10316 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10317 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
10318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10319 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10321 if (ndr_flags & NDR_BUFFERS) {
10322 if (r->object_dn) {
10323 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10324 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10325 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10326 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10328 if (r->attribute_name) {
10329 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10330 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10331 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10332 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10334 if (r->value_dn_str) {
10335 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
10336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10337 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
10338 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));
10341 return NDR_ERR_SUCCESS;
10344 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
10346 uint32_t _ptr_object_dn;
10347 TALLOC_CTX *_mem_save_object_dn_0;
10348 uint32_t _ptr_attribute_name;
10349 TALLOC_CTX *_mem_save_attribute_name_0;
10350 uint32_t _ptr_value_dn_str;
10351 TALLOC_CTX *_mem_save_value_dn_str_0;
10352 if (ndr_flags & NDR_SCALARS) {
10353 NDR_CHECK(ndr_pull_align(ndr, 5));
10354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
10355 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10356 if (_ptr_object_dn) {
10357 NDR_PULL_ALLOC(ndr, r->object_dn);
10358 } else {
10359 r->object_dn = NULL;
10361 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
10363 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10364 if (_ptr_attribute_name) {
10365 NDR_PULL_ALLOC(ndr, r->attribute_name);
10366 } else {
10367 r->attribute_name = NULL;
10369 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
10370 if (_ptr_value_dn_str) {
10371 NDR_PULL_ALLOC(ndr, r->value_dn_str);
10372 } else {
10373 r->value_dn_str = NULL;
10375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10376 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10378 if (ndr_flags & NDR_BUFFERS) {
10379 if (r->object_dn) {
10380 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10381 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10382 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10383 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10384 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10385 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));
10387 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10388 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10391 if (r->attribute_name) {
10392 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10393 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10394 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10395 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10396 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10397 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));
10399 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10400 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10403 if (r->value_dn_str) {
10404 _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
10405 NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
10406 NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
10407 NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
10408 if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) {
10409 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));
10411 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t)));
10412 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));
10413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
10416 return NDR_ERR_SUCCESS;
10419 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
10421 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
10422 ndr->depth++;
10423 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
10424 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10425 ndr->depth++;
10426 if (r->object_dn) {
10427 ndr_print_string(ndr, "object_dn", r->object_dn);
10429 ndr->depth--;
10430 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
10431 ndr_print_uint32(ndr, "flags", r->flags);
10432 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10433 ndr->depth++;
10434 if (r->attribute_name) {
10435 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10437 ndr->depth--;
10438 ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
10439 ndr->depth++;
10440 if (r->value_dn_str) {
10441 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
10443 ndr->depth--;
10444 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10445 ndr->depth--;
10448 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
10450 if (ndr_flags & NDR_SCALARS) {
10451 int level = ndr_push_get_switch_value(ndr, r);
10452 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
10453 NDR_CHECK(ndr_push_union_align(ndr, 5));
10454 switch (level) {
10455 case DRSUAPI_DS_REPLICA_GET_INFO: {
10456 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
10457 break; }
10459 case DRSUAPI_DS_REPLICA_GET_INFO2: {
10460 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
10461 break; }
10463 default:
10464 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10467 if (ndr_flags & NDR_BUFFERS) {
10468 int level = ndr_push_get_switch_value(ndr, r);
10469 switch (level) {
10470 case DRSUAPI_DS_REPLICA_GET_INFO:
10471 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
10472 break;
10474 case DRSUAPI_DS_REPLICA_GET_INFO2:
10475 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
10476 break;
10478 default:
10479 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10482 return NDR_ERR_SUCCESS;
10485 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
10487 int level;
10488 uint32_t _level;
10489 level = ndr_pull_get_switch_value(ndr, r);
10490 if (ndr_flags & NDR_SCALARS) {
10491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10492 if (_level != level) {
10493 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10495 NDR_CHECK(ndr_pull_union_align(ndr, 5));
10496 switch (level) {
10497 case DRSUAPI_DS_REPLICA_GET_INFO: {
10498 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
10499 break; }
10501 case DRSUAPI_DS_REPLICA_GET_INFO2: {
10502 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
10503 break; }
10505 default:
10506 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10509 if (ndr_flags & NDR_BUFFERS) {
10510 switch (level) {
10511 case DRSUAPI_DS_REPLICA_GET_INFO:
10512 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
10513 break;
10515 case DRSUAPI_DS_REPLICA_GET_INFO2:
10516 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
10517 break;
10519 default:
10520 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10523 return NDR_ERR_SUCCESS;
10526 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
10528 int level;
10529 level = ndr_print_get_switch_value(ndr, r);
10530 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
10531 switch (level) {
10532 case DRSUAPI_DS_REPLICA_GET_INFO:
10533 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
10534 break;
10536 case DRSUAPI_DS_REPLICA_GET_INFO2:
10537 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
10538 break;
10540 default:
10541 ndr_print_bad_level(ndr, name, level);
10545 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
10547 if (ndr_flags & NDR_SCALARS) {
10548 NDR_CHECK(ndr_push_align(ndr, 8));
10549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
10550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
10552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
10553 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
10554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10555 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10556 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10557 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10558 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10559 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
10560 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10561 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
10562 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
10563 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
10564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
10565 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10567 if (ndr_flags & NDR_BUFFERS) {
10568 if (r->naming_context_dn) {
10569 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10570 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10571 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10572 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));
10574 if (r->source_dsa_obj_dn) {
10575 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10576 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10577 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10578 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));
10580 if (r->source_dsa_address) {
10581 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10582 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10583 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10584 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));
10586 if (r->transport_obj_dn) {
10587 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10588 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10589 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10590 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));
10593 return NDR_ERR_SUCCESS;
10596 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
10598 uint32_t _ptr_naming_context_dn;
10599 TALLOC_CTX *_mem_save_naming_context_dn_0;
10600 uint32_t _ptr_source_dsa_obj_dn;
10601 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10602 uint32_t _ptr_source_dsa_address;
10603 TALLOC_CTX *_mem_save_source_dsa_address_0;
10604 uint32_t _ptr_transport_obj_dn;
10605 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10606 if (ndr_flags & NDR_SCALARS) {
10607 NDR_CHECK(ndr_pull_align(ndr, 8));
10608 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10609 if (_ptr_naming_context_dn) {
10610 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10611 } else {
10612 r->naming_context_dn = NULL;
10614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10615 if (_ptr_source_dsa_obj_dn) {
10616 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10617 } else {
10618 r->source_dsa_obj_dn = NULL;
10620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10621 if (_ptr_source_dsa_address) {
10622 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10623 } else {
10624 r->source_dsa_address = NULL;
10626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10627 if (_ptr_transport_obj_dn) {
10628 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10629 } else {
10630 r->transport_obj_dn = NULL;
10632 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
10633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10634 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10635 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10636 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10637 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10638 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10639 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10640 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10641 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10642 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10643 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10644 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10646 if (ndr_flags & NDR_BUFFERS) {
10647 if (r->naming_context_dn) {
10648 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10649 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10650 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10651 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10652 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10653 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));
10655 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10656 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));
10657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10659 if (r->source_dsa_obj_dn) {
10660 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10661 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10662 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10663 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10664 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10665 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));
10667 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10668 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));
10669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10671 if (r->source_dsa_address) {
10672 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10673 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10674 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10675 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10676 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10677 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));
10679 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10680 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));
10681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10683 if (r->transport_obj_dn) {
10684 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10685 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10686 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10687 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10688 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10689 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));
10691 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10692 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));
10693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10696 return NDR_ERR_SUCCESS;
10699 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10701 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10702 ndr->depth++;
10703 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10704 ndr->depth++;
10705 if (r->naming_context_dn) {
10706 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10708 ndr->depth--;
10709 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10710 ndr->depth++;
10711 if (r->source_dsa_obj_dn) {
10712 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10714 ndr->depth--;
10715 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10716 ndr->depth++;
10717 if (r->source_dsa_address) {
10718 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10720 ndr->depth--;
10721 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10722 ndr->depth++;
10723 if (r->transport_obj_dn) {
10724 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10726 ndr->depth--;
10727 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
10728 ndr_print_uint32(ndr, "reserved", r->reserved);
10729 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10730 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10731 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10732 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10733 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10734 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10735 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10736 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10737 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10738 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10739 ndr->depth--;
10742 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10744 uint32_t cntr_array_0;
10745 if (ndr_flags & NDR_SCALARS) {
10746 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10747 NDR_CHECK(ndr_push_align(ndr, 8));
10748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10750 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10751 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10753 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10755 if (ndr_flags & NDR_BUFFERS) {
10756 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10757 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10760 return NDR_ERR_SUCCESS;
10763 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10765 uint32_t cntr_array_0;
10766 TALLOC_CTX *_mem_save_array_0;
10767 if (ndr_flags & NDR_SCALARS) {
10768 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10769 NDR_CHECK(ndr_pull_align(ndr, 8));
10770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10771 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10772 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10773 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10774 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10775 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10776 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10778 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10779 if (r->array) {
10780 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10782 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10784 if (ndr_flags & NDR_BUFFERS) {
10785 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10786 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10787 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10788 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10790 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10792 return NDR_ERR_SUCCESS;
10795 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10797 uint32_t cntr_array_0;
10798 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10799 ndr->depth++;
10800 ndr_print_uint32(ndr, "count", r->count);
10801 ndr_print_uint32(ndr, "reserved", r->reserved);
10802 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10803 ndr->depth++;
10804 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10805 char *idx_0=NULL;
10806 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10807 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10808 free(idx_0);
10811 ndr->depth--;
10812 ndr->depth--;
10815 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10817 uint32_t cntr_array_0;
10818 if (ndr_flags & NDR_SCALARS) {
10819 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10820 NDR_CHECK(ndr_push_align(ndr, 8));
10821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10823 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10824 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10826 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10828 if (ndr_flags & NDR_BUFFERS) {
10830 return NDR_ERR_SUCCESS;
10833 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10835 uint32_t cntr_array_0;
10836 TALLOC_CTX *_mem_save_array_0;
10837 if (ndr_flags & NDR_SCALARS) {
10838 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10839 NDR_CHECK(ndr_pull_align(ndr, 8));
10840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10842 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10843 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10844 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10845 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10848 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10849 if (r->array) {
10850 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10852 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10854 if (ndr_flags & NDR_BUFFERS) {
10856 return NDR_ERR_SUCCESS;
10859 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10861 uint32_t cntr_array_0;
10862 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10863 ndr->depth++;
10864 ndr_print_uint32(ndr, "count", r->count);
10865 ndr_print_uint32(ndr, "reserved", r->reserved);
10866 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10867 ndr->depth++;
10868 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10869 char *idx_0=NULL;
10870 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10871 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10872 free(idx_0);
10875 ndr->depth--;
10876 ndr->depth--;
10879 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10881 if (ndr_flags & NDR_SCALARS) {
10882 NDR_CHECK(ndr_push_align(ndr, 8));
10883 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10885 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10886 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10887 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10888 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10889 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10891 if (ndr_flags & NDR_BUFFERS) {
10892 if (r->attribute_name) {
10893 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10894 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10895 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10896 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10899 return NDR_ERR_SUCCESS;
10902 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10904 uint32_t _ptr_attribute_name;
10905 TALLOC_CTX *_mem_save_attribute_name_0;
10906 if (ndr_flags & NDR_SCALARS) {
10907 NDR_CHECK(ndr_pull_align(ndr, 8));
10908 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10909 if (_ptr_attribute_name) {
10910 NDR_PULL_ALLOC(ndr, r->attribute_name);
10911 } else {
10912 r->attribute_name = NULL;
10914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10915 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10916 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10917 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10918 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10919 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10921 if (ndr_flags & NDR_BUFFERS) {
10922 if (r->attribute_name) {
10923 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10924 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10925 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10926 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10927 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10928 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));
10930 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10931 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10935 return NDR_ERR_SUCCESS;
10938 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10940 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10941 ndr->depth++;
10942 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10943 ndr->depth++;
10944 if (r->attribute_name) {
10945 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10947 ndr->depth--;
10948 ndr_print_uint32(ndr, "version", r->version);
10949 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10950 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10951 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10952 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10953 ndr->depth--;
10956 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10958 uint32_t cntr_array_0;
10959 if (ndr_flags & NDR_SCALARS) {
10960 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10961 NDR_CHECK(ndr_push_align(ndr, 8));
10962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10964 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10965 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10967 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10969 if (ndr_flags & NDR_BUFFERS) {
10970 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10971 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10974 return NDR_ERR_SUCCESS;
10977 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10979 uint32_t cntr_array_0;
10980 TALLOC_CTX *_mem_save_array_0;
10981 if (ndr_flags & NDR_SCALARS) {
10982 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10983 NDR_CHECK(ndr_pull_align(ndr, 8));
10984 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10985 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10986 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10987 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10988 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10989 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10990 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10993 if (r->array) {
10994 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10996 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10998 if (ndr_flags & NDR_BUFFERS) {
10999 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11000 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11001 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11002 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11006 return NDR_ERR_SUCCESS;
11009 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
11011 uint32_t cntr_array_0;
11012 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
11013 ndr->depth++;
11014 ndr_print_uint32(ndr, "count", r->count);
11015 ndr_print_uint32(ndr, "reserved", r->reserved);
11016 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11017 ndr->depth++;
11018 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11019 char *idx_0=NULL;
11020 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11021 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
11022 free(idx_0);
11025 ndr->depth--;
11026 ndr->depth--;
11029 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
11031 if (ndr_flags & NDR_SCALARS) {
11032 NDR_CHECK(ndr_push_align(ndr, 5));
11033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
11034 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
11035 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
11036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
11037 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
11038 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11040 if (ndr_flags & NDR_BUFFERS) {
11041 if (r->dsa_obj_dn) {
11042 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
11043 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11044 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
11045 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));
11048 return NDR_ERR_SUCCESS;
11051 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
11053 uint32_t _ptr_dsa_obj_dn;
11054 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
11055 if (ndr_flags & NDR_SCALARS) {
11056 NDR_CHECK(ndr_pull_align(ndr, 5));
11057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
11058 if (_ptr_dsa_obj_dn) {
11059 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
11060 } else {
11061 r->dsa_obj_dn = NULL;
11063 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
11064 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
11065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
11066 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
11067 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11069 if (ndr_flags & NDR_BUFFERS) {
11070 if (r->dsa_obj_dn) {
11071 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11072 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
11073 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
11074 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
11075 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
11076 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));
11078 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
11079 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));
11080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
11083 return NDR_ERR_SUCCESS;
11086 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
11088 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
11089 ndr->depth++;
11090 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
11091 ndr->depth++;
11092 if (r->dsa_obj_dn) {
11093 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
11095 ndr->depth--;
11096 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
11097 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
11098 ndr_print_uint32(ndr, "num_failures", r->num_failures);
11099 ndr_print_WERROR(ndr, "last_result", r->last_result);
11100 ndr->depth--;
11103 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
11105 uint32_t cntr_array_0;
11106 if (ndr_flags & NDR_SCALARS) {
11107 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11108 NDR_CHECK(ndr_push_align(ndr, 5));
11109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11111 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11112 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11114 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11116 if (ndr_flags & NDR_BUFFERS) {
11117 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11118 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11121 return NDR_ERR_SUCCESS;
11124 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
11126 uint32_t cntr_array_0;
11127 TALLOC_CTX *_mem_save_array_0;
11128 if (ndr_flags & NDR_SCALARS) {
11129 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11130 NDR_CHECK(ndr_pull_align(ndr, 5));
11131 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11132 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11133 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11134 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11135 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11136 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11137 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11140 if (r->array) {
11141 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11143 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11145 if (ndr_flags & NDR_BUFFERS) {
11146 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11147 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11148 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11149 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11153 return NDR_ERR_SUCCESS;
11156 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
11158 uint32_t cntr_array_0;
11159 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
11160 ndr->depth++;
11161 ndr_print_uint32(ndr, "count", r->count);
11162 ndr_print_uint32(ndr, "reserved", r->reserved);
11163 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11164 ndr->depth++;
11165 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11166 char *idx_0=NULL;
11167 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11168 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
11169 free(idx_0);
11172 ndr->depth--;
11173 ndr->depth--;
11176 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
11178 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
11179 return NDR_ERR_SUCCESS;
11182 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
11184 uint16_t v;
11185 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
11186 *r = v;
11187 return NDR_ERR_SUCCESS;
11190 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
11192 const char *val = NULL;
11194 switch (r) {
11195 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
11196 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
11197 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
11198 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
11199 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
11201 ndr_print_enum(ndr, name, "ENUM", val, r);
11204 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
11206 if (ndr_flags & NDR_SCALARS) {
11207 NDR_CHECK(ndr_push_align(ndr, 5));
11208 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
11209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
11210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
11211 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
11212 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
11213 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
11214 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
11215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
11216 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
11217 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
11218 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11220 if (ndr_flags & NDR_BUFFERS) {
11221 if (r->nc_dn) {
11222 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
11223 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11224 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
11225 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11227 if (r->remote_dsa_obj_dn) {
11228 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
11229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11230 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
11231 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));
11233 if (r->remote_dsa_address) {
11234 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
11235 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11236 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
11237 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));
11240 return NDR_ERR_SUCCESS;
11243 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
11245 uint32_t _ptr_nc_dn;
11246 TALLOC_CTX *_mem_save_nc_dn_0;
11247 uint32_t _ptr_remote_dsa_obj_dn;
11248 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
11249 uint32_t _ptr_remote_dsa_address;
11250 TALLOC_CTX *_mem_save_remote_dsa_address_0;
11251 if (ndr_flags & NDR_SCALARS) {
11252 NDR_CHECK(ndr_pull_align(ndr, 5));
11253 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
11254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
11255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
11256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
11257 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
11258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
11259 if (_ptr_nc_dn) {
11260 NDR_PULL_ALLOC(ndr, r->nc_dn);
11261 } else {
11262 r->nc_dn = NULL;
11264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
11265 if (_ptr_remote_dsa_obj_dn) {
11266 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
11267 } else {
11268 r->remote_dsa_obj_dn = NULL;
11270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
11271 if (_ptr_remote_dsa_address) {
11272 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
11273 } else {
11274 r->remote_dsa_address = NULL;
11276 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
11277 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
11278 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11280 if (ndr_flags & NDR_BUFFERS) {
11281 if (r->nc_dn) {
11282 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11283 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
11284 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
11285 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
11286 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
11287 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));
11289 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
11290 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
11291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
11293 if (r->remote_dsa_obj_dn) {
11294 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11295 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
11296 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
11297 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
11298 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
11299 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));
11301 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
11302 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));
11303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
11305 if (r->remote_dsa_address) {
11306 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
11307 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
11308 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
11309 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
11310 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
11311 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));
11313 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
11314 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));
11315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
11318 return NDR_ERR_SUCCESS;
11321 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
11323 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
11324 ndr->depth++;
11325 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
11326 ndr_print_uint32(ndr, "serial_num", r->serial_num);
11327 ndr_print_uint32(ndr, "priority", r->priority);
11328 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
11329 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
11330 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
11331 ndr->depth++;
11332 if (r->nc_dn) {
11333 ndr_print_string(ndr, "nc_dn", r->nc_dn);
11335 ndr->depth--;
11336 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
11337 ndr->depth++;
11338 if (r->remote_dsa_obj_dn) {
11339 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
11341 ndr->depth--;
11342 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
11343 ndr->depth++;
11344 if (r->remote_dsa_address) {
11345 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
11347 ndr->depth--;
11348 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
11349 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
11350 ndr->depth--;
11353 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
11355 uint32_t cntr_array_0;
11356 if (ndr_flags & NDR_SCALARS) {
11357 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11358 NDR_CHECK(ndr_push_align(ndr, 5));
11359 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
11360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11361 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11362 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11364 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11366 if (ndr_flags & NDR_BUFFERS) {
11367 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11368 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11371 return NDR_ERR_SUCCESS;
11374 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
11376 uint32_t cntr_array_0;
11377 TALLOC_CTX *_mem_save_array_0;
11378 if (ndr_flags & NDR_SCALARS) {
11379 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11380 NDR_CHECK(ndr_pull_align(ndr, 5));
11381 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
11382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11383 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11384 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11385 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11386 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11387 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11390 if (r->array) {
11391 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11393 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11395 if (ndr_flags & NDR_BUFFERS) {
11396 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11397 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11398 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11399 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11403 return NDR_ERR_SUCCESS;
11406 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11408 uint32_t cntr_array_0;
11409 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11410 ndr->depth++;
11411 ndr_print_NTTIME(ndr, "time", r->time);
11412 ndr_print_uint32(ndr, "count", r->count);
11413 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11414 ndr->depth++;
11415 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11416 char *idx_0=NULL;
11417 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11418 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
11419 free(idx_0);
11422 ndr->depth--;
11423 ndr->depth--;
11426 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
11428 if (ndr_flags & NDR_SCALARS) {
11429 NDR_CHECK(ndr_push_align(ndr, 8));
11430 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11431 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11433 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11434 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11435 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11437 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11438 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11439 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11440 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11441 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11443 if (ndr_flags & NDR_BUFFERS) {
11444 if (r->attribute_name) {
11445 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11446 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11447 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11448 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11450 if (r->object_dn) {
11451 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11452 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11453 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11454 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11456 if (r->binary) {
11457 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11460 return NDR_ERR_SUCCESS;
11463 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11465 uint32_t _ptr_attribute_name;
11466 TALLOC_CTX *_mem_save_attribute_name_0;
11467 uint32_t _ptr_object_dn;
11468 TALLOC_CTX *_mem_save_object_dn_0;
11469 uint32_t _ptr_binary;
11470 TALLOC_CTX *_mem_save_binary_0;
11471 if (ndr_flags & NDR_SCALARS) {
11472 NDR_CHECK(ndr_pull_align(ndr, 8));
11473 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11474 if (_ptr_attribute_name) {
11475 NDR_PULL_ALLOC(ndr, r->attribute_name);
11476 } else {
11477 r->attribute_name = NULL;
11479 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11480 if (_ptr_object_dn) {
11481 NDR_PULL_ALLOC(ndr, r->object_dn);
11482 } else {
11483 r->object_dn = NULL;
11485 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11486 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11487 if (_ptr_binary) {
11488 NDR_PULL_ALLOC(ndr, r->binary);
11489 } else {
11490 r->binary = NULL;
11492 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11493 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11494 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11495 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11496 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11497 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11498 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11499 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11501 if (ndr_flags & NDR_BUFFERS) {
11502 if (r->attribute_name) {
11503 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11504 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11505 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11506 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11507 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11508 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));
11510 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11511 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11514 if (r->object_dn) {
11515 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11516 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11517 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11518 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11519 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11520 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));
11522 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11523 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11526 if (r->binary) {
11527 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11528 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11529 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11533 return NDR_ERR_SUCCESS;
11536 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11538 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11539 ndr->depth++;
11540 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11541 ndr->depth++;
11542 if (r->attribute_name) {
11543 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11545 ndr->depth--;
11546 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11547 ndr->depth++;
11548 if (r->object_dn) {
11549 ndr_print_string(ndr, "object_dn", r->object_dn);
11551 ndr->depth--;
11552 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);
11553 ndr_print_ptr(ndr, "binary", r->binary);
11554 ndr->depth++;
11555 if (r->binary) {
11556 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11558 ndr->depth--;
11559 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11560 ndr_print_NTTIME(ndr, "created", r->created);
11561 ndr_print_uint32(ndr, "version", r->version);
11562 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11563 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11564 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11565 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11566 ndr->depth--;
11569 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11571 uint32_t cntr_array_0;
11572 if (ndr_flags & NDR_SCALARS) {
11573 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11574 NDR_CHECK(ndr_push_align(ndr, 8));
11575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11577 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11578 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11580 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11582 if (ndr_flags & NDR_BUFFERS) {
11583 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11584 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11587 return NDR_ERR_SUCCESS;
11590 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11592 uint32_t cntr_array_0;
11593 TALLOC_CTX *_mem_save_array_0;
11594 if (ndr_flags & NDR_SCALARS) {
11595 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11596 NDR_CHECK(ndr_pull_align(ndr, 8));
11597 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11598 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11599 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11600 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11601 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11602 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11606 if (r->array) {
11607 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11609 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11611 if (ndr_flags & NDR_BUFFERS) {
11612 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11613 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11614 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11615 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11619 return NDR_ERR_SUCCESS;
11622 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11624 uint32_t cntr_array_0;
11625 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11626 ndr->depth++;
11627 ndr_print_uint32(ndr, "count", r->count);
11628 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11629 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11630 ndr->depth++;
11631 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11632 char *idx_0=NULL;
11633 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11634 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11635 free(idx_0);
11638 ndr->depth--;
11639 ndr->depth--;
11642 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11644 uint32_t cntr_array_0;
11645 if (ndr_flags & NDR_SCALARS) {
11646 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11647 NDR_CHECK(ndr_push_align(ndr, 8));
11648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11650 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11651 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11653 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11655 if (ndr_flags & NDR_BUFFERS) {
11657 return NDR_ERR_SUCCESS;
11660 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11662 uint32_t cntr_array_0;
11663 TALLOC_CTX *_mem_save_array_0;
11664 if (ndr_flags & NDR_SCALARS) {
11665 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11666 NDR_CHECK(ndr_pull_align(ndr, 8));
11667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11669 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11670 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11671 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11672 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11673 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11675 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11676 if (r->array) {
11677 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11679 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11681 if (ndr_flags & NDR_BUFFERS) {
11683 return NDR_ERR_SUCCESS;
11686 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11688 uint32_t cntr_array_0;
11689 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11690 ndr->depth++;
11691 ndr_print_uint32(ndr, "count", r->count);
11692 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11693 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11694 ndr->depth++;
11695 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11696 char *idx_0=NULL;
11697 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11698 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11699 free(idx_0);
11702 ndr->depth--;
11703 ndr->depth--;
11706 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11708 if (ndr_flags & NDR_SCALARS) {
11709 NDR_CHECK(ndr_push_align(ndr, 8));
11710 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11711 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11712 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11713 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11714 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11716 if (ndr_flags & NDR_BUFFERS) {
11717 if (r->source_dsa_obj_dn) {
11718 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11719 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11720 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11721 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));
11724 return NDR_ERR_SUCCESS;
11727 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11729 uint32_t _ptr_source_dsa_obj_dn;
11730 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11731 if (ndr_flags & NDR_SCALARS) {
11732 NDR_CHECK(ndr_pull_align(ndr, 8));
11733 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11734 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11735 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11736 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11737 if (_ptr_source_dsa_obj_dn) {
11738 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11739 } else {
11740 r->source_dsa_obj_dn = NULL;
11742 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11744 if (ndr_flags & NDR_BUFFERS) {
11745 if (r->source_dsa_obj_dn) {
11746 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11747 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11748 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11749 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11750 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11751 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));
11753 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11754 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));
11755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11758 return NDR_ERR_SUCCESS;
11761 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11763 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11764 ndr->depth++;
11765 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11766 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11767 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11768 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11769 ndr->depth++;
11770 if (r->source_dsa_obj_dn) {
11771 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11773 ndr->depth--;
11774 ndr->depth--;
11777 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11779 uint32_t cntr_array_0;
11780 if (ndr_flags & NDR_SCALARS) {
11781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11782 NDR_CHECK(ndr_push_align(ndr, 8));
11783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11785 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11786 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11788 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11790 if (ndr_flags & NDR_BUFFERS) {
11791 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11792 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11795 return NDR_ERR_SUCCESS;
11798 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11800 uint32_t cntr_array_0;
11801 TALLOC_CTX *_mem_save_array_0;
11802 if (ndr_flags & NDR_SCALARS) {
11803 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11804 NDR_CHECK(ndr_pull_align(ndr, 8));
11805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11807 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11808 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11809 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11810 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11811 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11814 if (r->array) {
11815 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11817 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11819 if (ndr_flags & NDR_BUFFERS) {
11820 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11821 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11822 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11823 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11827 return NDR_ERR_SUCCESS;
11830 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11832 uint32_t cntr_array_0;
11833 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11834 ndr->depth++;
11835 ndr_print_uint32(ndr, "count", r->count);
11836 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11837 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11838 ndr->depth++;
11839 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11840 char *idx_0=NULL;
11841 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11842 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11843 free(idx_0);
11846 ndr->depth--;
11847 ndr->depth--;
11850 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11852 if (ndr_flags & NDR_SCALARS) {
11853 NDR_CHECK(ndr_push_align(ndr, 8));
11854 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11856 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11857 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11858 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11859 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11861 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11863 if (ndr_flags & NDR_BUFFERS) {
11864 if (r->attribute_name) {
11865 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11866 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11867 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11868 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11870 if (r->originating_dsa_dn) {
11871 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11872 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11873 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11874 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));
11877 return NDR_ERR_SUCCESS;
11880 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11882 uint32_t _ptr_attribute_name;
11883 TALLOC_CTX *_mem_save_attribute_name_0;
11884 uint32_t _ptr_originating_dsa_dn;
11885 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11886 if (ndr_flags & NDR_SCALARS) {
11887 NDR_CHECK(ndr_pull_align(ndr, 8));
11888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11889 if (_ptr_attribute_name) {
11890 NDR_PULL_ALLOC(ndr, r->attribute_name);
11891 } else {
11892 r->attribute_name = NULL;
11894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11895 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11896 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11897 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11898 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11900 if (_ptr_originating_dsa_dn) {
11901 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11902 } else {
11903 r->originating_dsa_dn = NULL;
11905 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11907 if (ndr_flags & NDR_BUFFERS) {
11908 if (r->attribute_name) {
11909 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11910 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11911 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11912 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11913 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11914 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));
11916 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11917 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11920 if (r->originating_dsa_dn) {
11921 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11922 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11923 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11924 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11925 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11926 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));
11928 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11929 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));
11930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11933 return NDR_ERR_SUCCESS;
11936 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11938 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11939 ndr->depth++;
11940 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11941 ndr->depth++;
11942 if (r->attribute_name) {
11943 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11945 ndr->depth--;
11946 ndr_print_uint32(ndr, "version", r->version);
11947 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11948 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11949 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11950 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11951 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11952 ndr->depth++;
11953 if (r->originating_dsa_dn) {
11954 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11956 ndr->depth--;
11957 ndr->depth--;
11960 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11962 uint32_t cntr_array_0;
11963 if (ndr_flags & NDR_SCALARS) {
11964 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11965 NDR_CHECK(ndr_push_align(ndr, 8));
11966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11968 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11969 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11971 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11973 if (ndr_flags & NDR_BUFFERS) {
11974 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11975 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11978 return NDR_ERR_SUCCESS;
11981 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11983 uint32_t cntr_array_0;
11984 TALLOC_CTX *_mem_save_array_0;
11985 if (ndr_flags & NDR_SCALARS) {
11986 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11987 NDR_CHECK(ndr_pull_align(ndr, 8));
11988 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11989 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11990 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11991 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11992 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11993 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11997 if (r->array) {
11998 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12000 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12002 if (ndr_flags & NDR_BUFFERS) {
12003 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12004 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12005 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12006 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12010 return NDR_ERR_SUCCESS;
12013 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
12015 uint32_t cntr_array_0;
12016 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
12017 ndr->depth++;
12018 ndr_print_uint32(ndr, "count", r->count);
12019 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12020 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12021 ndr->depth++;
12022 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12023 char *idx_0=NULL;
12024 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12025 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
12026 free(idx_0);
12029 ndr->depth--;
12030 ndr->depth--;
12033 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
12035 if (ndr_flags & NDR_SCALARS) {
12036 NDR_CHECK(ndr_push_align(ndr, 8));
12037 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
12038 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
12039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
12040 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
12041 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
12042 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
12043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
12044 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
12045 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12046 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
12047 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
12048 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
12049 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12051 if (ndr_flags & NDR_BUFFERS) {
12052 if (r->attribute_name) {
12053 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12056 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12058 if (r->object_dn) {
12059 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12060 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12061 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12062 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12064 if (r->binary) {
12065 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
12067 if (r->originating_dsa_dn) {
12068 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12069 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12071 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));
12074 return NDR_ERR_SUCCESS;
12077 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
12079 uint32_t _ptr_attribute_name;
12080 TALLOC_CTX *_mem_save_attribute_name_0;
12081 uint32_t _ptr_object_dn;
12082 TALLOC_CTX *_mem_save_object_dn_0;
12083 uint32_t _ptr_binary;
12084 TALLOC_CTX *_mem_save_binary_0;
12085 uint32_t _ptr_originating_dsa_dn;
12086 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
12087 if (ndr_flags & NDR_SCALARS) {
12088 NDR_CHECK(ndr_pull_align(ndr, 8));
12089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
12090 if (_ptr_attribute_name) {
12091 NDR_PULL_ALLOC(ndr, r->attribute_name);
12092 } else {
12093 r->attribute_name = NULL;
12095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
12096 if (_ptr_object_dn) {
12097 NDR_PULL_ALLOC(ndr, r->object_dn);
12098 } else {
12099 r->object_dn = NULL;
12101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
12102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
12103 if (_ptr_binary) {
12104 NDR_PULL_ALLOC(ndr, r->binary);
12105 } else {
12106 r->binary = NULL;
12108 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
12109 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
12110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
12111 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
12112 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12113 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
12114 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
12115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
12116 if (_ptr_originating_dsa_dn) {
12117 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
12118 } else {
12119 r->originating_dsa_dn = NULL;
12121 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12123 if (ndr_flags & NDR_BUFFERS) {
12124 if (r->attribute_name) {
12125 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12126 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
12127 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
12128 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
12129 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
12130 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));
12132 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
12133 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
12134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
12136 if (r->object_dn) {
12137 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12138 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
12139 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
12140 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
12141 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
12142 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));
12144 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
12145 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
12146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
12148 if (r->binary) {
12149 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
12150 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
12151 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
12152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
12154 if (r->originating_dsa_dn) {
12155 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12156 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
12157 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
12158 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
12159 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
12160 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));
12162 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
12163 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));
12164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
12167 return NDR_ERR_SUCCESS;
12170 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
12172 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
12173 ndr->depth++;
12174 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
12175 ndr->depth++;
12176 if (r->attribute_name) {
12177 ndr_print_string(ndr, "attribute_name", r->attribute_name);
12179 ndr->depth--;
12180 ndr_print_ptr(ndr, "object_dn", r->object_dn);
12181 ndr->depth++;
12182 if (r->object_dn) {
12183 ndr_print_string(ndr, "object_dn", r->object_dn);
12185 ndr->depth--;
12186 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);
12187 ndr_print_ptr(ndr, "binary", r->binary);
12188 ndr->depth++;
12189 if (r->binary) {
12190 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
12192 ndr->depth--;
12193 ndr_print_NTTIME(ndr, "deleted", r->deleted);
12194 ndr_print_NTTIME(ndr, "created", r->created);
12195 ndr_print_uint32(ndr, "version", r->version);
12196 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
12197 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
12198 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
12199 ndr_print_hyper(ndr, "local_usn", r->local_usn);
12200 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
12201 ndr->depth++;
12202 if (r->originating_dsa_dn) {
12203 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
12205 ndr->depth--;
12206 ndr->depth--;
12209 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
12211 uint32_t cntr_array_0;
12212 if (ndr_flags & NDR_SCALARS) {
12213 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12214 NDR_CHECK(ndr_push_align(ndr, 8));
12215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12217 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12218 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12220 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12222 if (ndr_flags & NDR_BUFFERS) {
12223 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12224 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12227 return NDR_ERR_SUCCESS;
12230 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
12232 uint32_t cntr_array_0;
12233 TALLOC_CTX *_mem_save_array_0;
12234 if (ndr_flags & NDR_SCALARS) {
12235 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12236 NDR_CHECK(ndr_pull_align(ndr, 8));
12237 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12239 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12240 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12241 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12242 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12243 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12246 if (r->array) {
12247 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12249 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12251 if (ndr_flags & NDR_BUFFERS) {
12252 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12253 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12254 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12259 return NDR_ERR_SUCCESS;
12262 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
12264 uint32_t cntr_array_0;
12265 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
12266 ndr->depth++;
12267 ndr_print_uint32(ndr, "count", r->count);
12268 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12269 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12270 ndr->depth++;
12271 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12272 char *idx_0=NULL;
12273 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12274 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
12275 free(idx_0);
12278 ndr->depth--;
12279 ndr->depth--;
12282 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
12284 if (ndr_flags & NDR_SCALARS) {
12285 NDR_CHECK(ndr_push_align(ndr, 8));
12286 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
12287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12289 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
12290 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
12292 uint32_t _flags_save_ipv4address = ndr->flags;
12293 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
12294 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
12295 ndr->flags = _flags_save_ipv4address;
12297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12298 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12300 if (ndr_flags & NDR_BUFFERS) {
12302 return NDR_ERR_SUCCESS;
12305 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
12307 if (ndr_flags & NDR_SCALARS) {
12308 NDR_CHECK(ndr_pull_align(ndr, 8));
12309 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
12310 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12311 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12312 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
12313 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
12315 uint32_t _flags_save_ipv4address = ndr->flags;
12316 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
12317 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
12318 ndr->flags = _flags_save_ipv4address;
12320 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12321 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12323 if (ndr_flags & NDR_BUFFERS) {
12325 return NDR_ERR_SUCCESS;
12328 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
12330 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
12331 ndr->depth++;
12332 ndr_print_hyper(ndr, "u1", r->u1);
12333 ndr_print_uint32(ndr, "u2", r->u2);
12334 ndr_print_uint32(ndr, "u3", r->u3);
12335 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
12336 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
12337 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
12338 ndr_print_uint32(ndr, "u5", r->u5);
12339 ndr->depth--;
12342 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
12344 uint32_t cntr_array_0;
12345 if (ndr_flags & NDR_SCALARS) {
12346 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12347 NDR_CHECK(ndr_push_align(ndr, 8));
12348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12350 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12351 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12353 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12355 if (ndr_flags & NDR_BUFFERS) {
12357 return NDR_ERR_SUCCESS;
12360 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
12362 uint32_t cntr_array_0;
12363 TALLOC_CTX *_mem_save_array_0;
12364 if (ndr_flags & NDR_SCALARS) {
12365 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12366 NDR_CHECK(ndr_pull_align(ndr, 8));
12367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12368 if (r->count > 10000) {
12369 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12371 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12372 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12373 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12374 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12375 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12376 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12379 if (r->array) {
12380 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12382 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12384 if (ndr_flags & NDR_BUFFERS) {
12386 return NDR_ERR_SUCCESS;
12389 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
12391 uint32_t cntr_array_0;
12392 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
12393 ndr->depth++;
12394 ndr_print_uint32(ndr, "count", r->count);
12395 ndr_print_uint32(ndr, "reserved", r->reserved);
12396 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12397 ndr->depth++;
12398 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12399 char *idx_0=NULL;
12400 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12401 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
12402 free(idx_0);
12405 ndr->depth--;
12406 ndr->depth--;
12409 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
12411 if (ndr_flags & NDR_SCALARS) {
12412 NDR_CHECK(ndr_push_align(ndr, 8));
12413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
12414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
12415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12417 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
12418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12419 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
12420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
12421 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12423 if (ndr_flags & NDR_BUFFERS) {
12424 if (r->str1) {
12425 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12426 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12427 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12428 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12431 return NDR_ERR_SUCCESS;
12434 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
12436 uint32_t _ptr_str1;
12437 TALLOC_CTX *_mem_save_str1_0;
12438 if (ndr_flags & NDR_SCALARS) {
12439 NDR_CHECK(ndr_pull_align(ndr, 8));
12440 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
12441 if (_ptr_str1) {
12442 NDR_PULL_ALLOC(ndr, r->str1);
12443 } else {
12444 r->str1 = NULL;
12446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12448 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12451 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12453 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12455 if (ndr_flags & NDR_BUFFERS) {
12456 if (r->str1) {
12457 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12458 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12459 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12460 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12461 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12462 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));
12464 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12465 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12469 return NDR_ERR_SUCCESS;
12472 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12474 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12475 ndr->depth++;
12476 ndr_print_ptr(ndr, "str1", r->str1);
12477 ndr->depth++;
12478 if (r->str1) {
12479 ndr_print_string(ndr, "str1", r->str1);
12481 ndr->depth--;
12482 ndr_print_uint32(ndr, "u1", r->u1);
12483 ndr_print_uint32(ndr, "u2", r->u2);
12484 ndr_print_uint32(ndr, "u3", r->u3);
12485 ndr_print_uint32(ndr, "u4", r->u4);
12486 ndr_print_uint32(ndr, "u5", r->u5);
12487 ndr_print_hyper(ndr, "u6", r->u6);
12488 ndr_print_uint32(ndr, "u7", r->u7);
12489 ndr->depth--;
12492 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12494 uint32_t cntr_array_0;
12495 if (ndr_flags & NDR_SCALARS) {
12496 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12497 NDR_CHECK(ndr_push_align(ndr, 8));
12498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12500 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12501 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12503 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12505 if (ndr_flags & NDR_BUFFERS) {
12506 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12507 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12510 return NDR_ERR_SUCCESS;
12513 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12515 uint32_t cntr_array_0;
12516 TALLOC_CTX *_mem_save_array_0;
12517 if (ndr_flags & NDR_SCALARS) {
12518 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12519 NDR_CHECK(ndr_pull_align(ndr, 8));
12520 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12521 if (r->count > 256) {
12522 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12524 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12525 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12526 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12527 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12528 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12529 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12532 if (r->array) {
12533 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12535 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12537 if (ndr_flags & NDR_BUFFERS) {
12538 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12539 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12540 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12541 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12545 return NDR_ERR_SUCCESS;
12548 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12550 uint32_t cntr_array_0;
12551 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12552 ndr->depth++;
12553 ndr_print_uint32(ndr, "count", r->count);
12554 ndr_print_uint32(ndr, "reserved", r->reserved);
12555 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12556 ndr->depth++;
12557 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12558 char *idx_0=NULL;
12559 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12560 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12561 free(idx_0);
12564 ndr->depth--;
12565 ndr->depth--;
12568 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12570 if (ndr_flags & NDR_SCALARS) {
12571 int level = ndr_push_get_switch_value(ndr, r);
12572 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12573 NDR_CHECK(ndr_push_union_align(ndr, 5));
12574 switch (level) {
12575 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12576 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12577 break; }
12579 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12581 break; }
12583 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12585 break; }
12587 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12589 break; }
12591 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12592 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12593 break; }
12595 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12596 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12597 break; }
12599 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12600 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12601 break; }
12603 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12605 break; }
12607 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12609 break; }
12611 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12612 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12613 break; }
12615 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12616 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12617 break; }
12619 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
12620 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
12621 break; }
12623 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
12624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
12625 break; }
12627 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
12628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
12629 break; }
12631 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
12632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
12633 break; }
12635 default:
12636 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12639 if (ndr_flags & NDR_BUFFERS) {
12640 int level = ndr_push_get_switch_value(ndr, r);
12641 switch (level) {
12642 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12643 if (r->neighbours) {
12644 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12646 break;
12648 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12649 if (r->cursors) {
12650 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12652 break;
12654 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12655 if (r->objmetadata) {
12656 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12658 break;
12660 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12661 if (r->connectfailures) {
12662 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12664 break;
12666 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12667 if (r->linkfailures) {
12668 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12670 break;
12672 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12673 if (r->pendingops) {
12674 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12676 break;
12678 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12679 if (r->attrvalmetadata) {
12680 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12682 break;
12684 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12685 if (r->cursors2) {
12686 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12688 break;
12690 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12691 if (r->cursors3) {
12692 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12694 break;
12696 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12697 if (r->objmetadata2) {
12698 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12700 break;
12702 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12703 if (r->attrvalmetadata2) {
12704 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12706 break;
12708 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12709 if (r->repsto) {
12710 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12712 break;
12714 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12715 if (r->clientctx) {
12716 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12718 break;
12720 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12721 if (r->udv1) {
12722 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12724 break;
12726 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12727 if (r->srvoutgoingcalls) {
12728 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12730 break;
12732 default:
12733 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12736 return NDR_ERR_SUCCESS;
12739 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12741 int level;
12742 uint32_t _level;
12743 TALLOC_CTX *_mem_save_neighbours_0;
12744 TALLOC_CTX *_mem_save_cursors_0;
12745 TALLOC_CTX *_mem_save_objmetadata_0;
12746 TALLOC_CTX *_mem_save_connectfailures_0;
12747 TALLOC_CTX *_mem_save_linkfailures_0;
12748 TALLOC_CTX *_mem_save_pendingops_0;
12749 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12750 TALLOC_CTX *_mem_save_cursors2_0;
12751 TALLOC_CTX *_mem_save_cursors3_0;
12752 TALLOC_CTX *_mem_save_objmetadata2_0;
12753 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12754 TALLOC_CTX *_mem_save_repsto_0;
12755 TALLOC_CTX *_mem_save_clientctx_0;
12756 TALLOC_CTX *_mem_save_udv1_0;
12757 TALLOC_CTX *_mem_save_srvoutgoingcalls_0;
12758 level = ndr_pull_get_switch_value(ndr, r);
12759 if (ndr_flags & NDR_SCALARS) {
12760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12761 if (_level != level) {
12762 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12764 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12765 switch (level) {
12766 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12767 uint32_t _ptr_neighbours;
12768 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12769 if (_ptr_neighbours) {
12770 NDR_PULL_ALLOC(ndr, r->neighbours);
12771 } else {
12772 r->neighbours = NULL;
12774 break; }
12776 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12777 uint32_t _ptr_cursors;
12778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12779 if (_ptr_cursors) {
12780 NDR_PULL_ALLOC(ndr, r->cursors);
12781 } else {
12782 r->cursors = NULL;
12784 break; }
12786 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12787 uint32_t _ptr_objmetadata;
12788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12789 if (_ptr_objmetadata) {
12790 NDR_PULL_ALLOC(ndr, r->objmetadata);
12791 } else {
12792 r->objmetadata = NULL;
12794 break; }
12796 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12797 uint32_t _ptr_connectfailures;
12798 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12799 if (_ptr_connectfailures) {
12800 NDR_PULL_ALLOC(ndr, r->connectfailures);
12801 } else {
12802 r->connectfailures = NULL;
12804 break; }
12806 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12807 uint32_t _ptr_linkfailures;
12808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12809 if (_ptr_linkfailures) {
12810 NDR_PULL_ALLOC(ndr, r->linkfailures);
12811 } else {
12812 r->linkfailures = NULL;
12814 break; }
12816 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12817 uint32_t _ptr_pendingops;
12818 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12819 if (_ptr_pendingops) {
12820 NDR_PULL_ALLOC(ndr, r->pendingops);
12821 } else {
12822 r->pendingops = NULL;
12824 break; }
12826 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12827 uint32_t _ptr_attrvalmetadata;
12828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12829 if (_ptr_attrvalmetadata) {
12830 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12831 } else {
12832 r->attrvalmetadata = NULL;
12834 break; }
12836 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12837 uint32_t _ptr_cursors2;
12838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12839 if (_ptr_cursors2) {
12840 NDR_PULL_ALLOC(ndr, r->cursors2);
12841 } else {
12842 r->cursors2 = NULL;
12844 break; }
12846 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12847 uint32_t _ptr_cursors3;
12848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12849 if (_ptr_cursors3) {
12850 NDR_PULL_ALLOC(ndr, r->cursors3);
12851 } else {
12852 r->cursors3 = NULL;
12854 break; }
12856 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12857 uint32_t _ptr_objmetadata2;
12858 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12859 if (_ptr_objmetadata2) {
12860 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12861 } else {
12862 r->objmetadata2 = NULL;
12864 break; }
12866 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12867 uint32_t _ptr_attrvalmetadata2;
12868 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12869 if (_ptr_attrvalmetadata2) {
12870 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12871 } else {
12872 r->attrvalmetadata2 = NULL;
12874 break; }
12876 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
12877 uint32_t _ptr_repsto;
12878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
12879 if (_ptr_repsto) {
12880 NDR_PULL_ALLOC(ndr, r->repsto);
12881 } else {
12882 r->repsto = NULL;
12884 break; }
12886 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
12887 uint32_t _ptr_clientctx;
12888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
12889 if (_ptr_clientctx) {
12890 NDR_PULL_ALLOC(ndr, r->clientctx);
12891 } else {
12892 r->clientctx = NULL;
12894 break; }
12896 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
12897 uint32_t _ptr_udv1;
12898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
12899 if (_ptr_udv1) {
12900 NDR_PULL_ALLOC(ndr, r->udv1);
12901 } else {
12902 r->udv1 = NULL;
12904 break; }
12906 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
12907 uint32_t _ptr_srvoutgoingcalls;
12908 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
12909 if (_ptr_srvoutgoingcalls) {
12910 NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
12911 } else {
12912 r->srvoutgoingcalls = NULL;
12914 break; }
12916 default:
12917 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12920 if (ndr_flags & NDR_BUFFERS) {
12921 switch (level) {
12922 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12923 if (r->neighbours) {
12924 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12925 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12926 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12929 break;
12931 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12932 if (r->cursors) {
12933 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12934 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12935 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12938 break;
12940 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12941 if (r->objmetadata) {
12942 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12943 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12944 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12947 break;
12949 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12950 if (r->connectfailures) {
12951 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12952 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12956 break;
12958 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12959 if (r->linkfailures) {
12960 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12961 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12965 break;
12967 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12968 if (r->pendingops) {
12969 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12970 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12971 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12972 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12974 break;
12976 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12977 if (r->attrvalmetadata) {
12978 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12979 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12980 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12983 break;
12985 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12986 if (r->cursors2) {
12987 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12988 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12989 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12992 break;
12994 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12995 if (r->cursors3) {
12996 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12997 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
13001 break;
13003 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
13004 if (r->objmetadata2) {
13005 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13006 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
13007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
13008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
13010 break;
13012 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
13013 if (r->attrvalmetadata2) {
13014 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13015 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
13016 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
13017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
13019 break;
13021 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
13022 if (r->repsto) {
13023 _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
13024 NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
13025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
13026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
13028 break;
13030 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
13031 if (r->clientctx) {
13032 _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
13033 NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
13034 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
13035 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
13037 break;
13039 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
13040 if (r->udv1) {
13041 _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
13042 NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
13043 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
13044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
13046 break;
13048 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
13049 if (r->srvoutgoingcalls) {
13050 _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
13051 NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
13052 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
13053 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
13055 break;
13057 default:
13058 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13061 return NDR_ERR_SUCCESS;
13064 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
13066 int level;
13067 level = ndr_print_get_switch_value(ndr, r);
13068 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
13069 switch (level) {
13070 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
13071 ndr_print_ptr(ndr, "neighbours", r->neighbours);
13072 ndr->depth++;
13073 if (r->neighbours) {
13074 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
13076 ndr->depth--;
13077 break;
13079 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
13080 ndr_print_ptr(ndr, "cursors", r->cursors);
13081 ndr->depth++;
13082 if (r->cursors) {
13083 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
13085 ndr->depth--;
13086 break;
13088 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
13089 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
13090 ndr->depth++;
13091 if (r->objmetadata) {
13092 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
13094 ndr->depth--;
13095 break;
13097 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
13098 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
13099 ndr->depth++;
13100 if (r->connectfailures) {
13101 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
13103 ndr->depth--;
13104 break;
13106 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
13107 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
13108 ndr->depth++;
13109 if (r->linkfailures) {
13110 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
13112 ndr->depth--;
13113 break;
13115 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
13116 ndr_print_ptr(ndr, "pendingops", r->pendingops);
13117 ndr->depth++;
13118 if (r->pendingops) {
13119 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
13121 ndr->depth--;
13122 break;
13124 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
13125 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
13126 ndr->depth++;
13127 if (r->attrvalmetadata) {
13128 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
13130 ndr->depth--;
13131 break;
13133 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
13134 ndr_print_ptr(ndr, "cursors2", r->cursors2);
13135 ndr->depth++;
13136 if (r->cursors2) {
13137 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
13139 ndr->depth--;
13140 break;
13142 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
13143 ndr_print_ptr(ndr, "cursors3", r->cursors3);
13144 ndr->depth++;
13145 if (r->cursors3) {
13146 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
13148 ndr->depth--;
13149 break;
13151 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
13152 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
13153 ndr->depth++;
13154 if (r->objmetadata2) {
13155 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
13157 ndr->depth--;
13158 break;
13160 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
13161 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
13162 ndr->depth++;
13163 if (r->attrvalmetadata2) {
13164 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
13166 ndr->depth--;
13167 break;
13169 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
13170 ndr_print_ptr(ndr, "repsto", r->repsto);
13171 ndr->depth++;
13172 if (r->repsto) {
13173 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
13175 ndr->depth--;
13176 break;
13178 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
13179 ndr_print_ptr(ndr, "clientctx", r->clientctx);
13180 ndr->depth++;
13181 if (r->clientctx) {
13182 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
13184 ndr->depth--;
13185 break;
13187 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
13188 ndr_print_ptr(ndr, "udv1", r->udv1);
13189 ndr->depth++;
13190 if (r->udv1) {
13191 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
13193 ndr->depth--;
13194 break;
13196 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
13197 ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
13198 ndr->depth++;
13199 if (r->srvoutgoingcalls) {
13200 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
13202 ndr->depth--;
13203 break;
13205 default:
13206 ndr_print_bad_level(ndr, name, level);
13210 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
13212 if (ndr_flags & NDR_SCALARS) {
13213 int level = ndr_push_get_switch_value(ndr, r);
13214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13215 NDR_CHECK(ndr_push_union_align(ndr, 5));
13216 switch (level) {
13217 case 1: {
13218 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
13219 break; }
13221 default:
13222 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13225 if (ndr_flags & NDR_BUFFERS) {
13226 int level = ndr_push_get_switch_value(ndr, r);
13227 switch (level) {
13228 case 1:
13229 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13230 break;
13232 default:
13233 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13236 return NDR_ERR_SUCCESS;
13239 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
13241 int level;
13242 uint32_t _level;
13243 level = ndr_pull_get_switch_value(ndr, r);
13244 if (ndr_flags & NDR_SCALARS) {
13245 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13246 if (_level != level) {
13247 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13249 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13250 switch (level) {
13251 case 1: {
13252 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
13253 break; }
13255 default:
13256 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13259 if (ndr_flags & NDR_BUFFERS) {
13260 switch (level) {
13261 case 1:
13262 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13263 break;
13265 default:
13266 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13269 return NDR_ERR_SUCCESS;
13272 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
13274 int level;
13275 level = ndr_print_get_switch_value(ndr, r);
13276 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
13277 switch (level) {
13278 case 1:
13279 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
13280 break;
13282 default:
13283 ndr_print_bad_level(ndr, name, level);
13287 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
13289 uint32_t cntr_req_array_1;
13290 if (ndr_flags & NDR_SCALARS) {
13291 NDR_CHECK(ndr_push_align(ndr, 5));
13292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
13294 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13296 if (ndr_flags & NDR_BUFFERS) {
13297 if (r->req_array) {
13298 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13299 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
13300 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
13302 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
13303 if (r->req_array[cntr_req_array_1]) {
13304 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
13309 return NDR_ERR_SUCCESS;
13312 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
13314 uint32_t _ptr_req_array;
13315 uint32_t cntr_req_array_1;
13316 TALLOC_CTX *_mem_save_req_array_0;
13317 TALLOC_CTX *_mem_save_req_array_1;
13318 TALLOC_CTX *_mem_save_req_array_2;
13319 if (ndr_flags & NDR_SCALARS) {
13320 NDR_CHECK(ndr_pull_align(ndr, 5));
13321 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13322 if (r->num_req < 1 || r->num_req > 10000) {
13323 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
13326 if (_ptr_req_array) {
13327 NDR_PULL_ALLOC(ndr, r->req_array);
13328 } else {
13329 r->req_array = NULL;
13331 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13333 if (ndr_flags & NDR_BUFFERS) {
13334 if (r->req_array) {
13335 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13336 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
13337 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
13338 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
13339 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
13340 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
13341 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
13342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
13343 if (_ptr_req_array) {
13344 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
13345 } else {
13346 r->req_array[cntr_req_array_1] = NULL;
13349 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
13350 if (r->req_array[cntr_req_array_1]) {
13351 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
13352 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
13353 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
13354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
13357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
13358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
13360 if (r->req_array) {
13361 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
13364 return NDR_ERR_SUCCESS;
13367 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
13369 uint32_t cntr_req_array_1;
13370 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
13371 ndr->depth++;
13372 ndr_print_uint32(ndr, "num_req", r->num_req);
13373 ndr_print_ptr(ndr, "req_array", r->req_array);
13374 ndr->depth++;
13375 if (r->req_array) {
13376 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
13377 ndr->depth++;
13378 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
13379 char *idx_1=NULL;
13380 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
13381 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
13382 ndr->depth++;
13383 if (r->req_array[cntr_req_array_1]) {
13384 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
13386 ndr->depth--;
13387 free(idx_1);
13390 ndr->depth--;
13392 ndr->depth--;
13393 ndr->depth--;
13396 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
13398 if (ndr_flags & NDR_SCALARS) {
13399 int level = ndr_push_get_switch_value(ndr, r);
13400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13401 NDR_CHECK(ndr_push_union_align(ndr, 5));
13402 switch (level) {
13403 case 1: {
13404 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13405 break; }
13407 default:
13408 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13411 if (ndr_flags & NDR_BUFFERS) {
13412 int level = ndr_push_get_switch_value(ndr, r);
13413 switch (level) {
13414 case 1:
13415 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13416 break;
13418 default:
13419 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13422 return NDR_ERR_SUCCESS;
13425 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
13427 int level;
13428 uint32_t _level;
13429 level = ndr_pull_get_switch_value(ndr, r);
13430 if (ndr_flags & NDR_SCALARS) {
13431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13432 if (_level != level) {
13433 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13435 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13436 switch (level) {
13437 case 1: {
13438 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13439 break; }
13441 default:
13442 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13445 if (ndr_flags & NDR_BUFFERS) {
13446 switch (level) {
13447 case 1:
13448 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13449 break;
13451 default:
13452 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13455 return NDR_ERR_SUCCESS;
13458 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13460 int level;
13461 level = ndr_print_get_switch_value(ndr, r);
13462 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13463 switch (level) {
13464 case 1:
13465 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13466 break;
13468 default:
13469 ndr_print_bad_level(ndr, name, level);
13473 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13475 if (ndr_flags & NDR_SCALARS) {
13476 NDR_CHECK(ndr_push_align(ndr, 4));
13477 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13479 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13481 if (ndr_flags & NDR_BUFFERS) {
13483 return NDR_ERR_SUCCESS;
13486 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13488 if (ndr_flags & NDR_SCALARS) {
13489 NDR_CHECK(ndr_pull_align(ndr, 4));
13490 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13492 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13494 if (ndr_flags & NDR_BUFFERS) {
13496 return NDR_ERR_SUCCESS;
13499 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13501 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13502 ndr->depth++;
13503 ndr_print_WERROR(ndr, "error_code", r->error_code);
13504 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13505 ndr->depth--;
13508 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13510 uint32_t cntr_info_1;
13511 if (ndr_flags & NDR_SCALARS) {
13512 NDR_CHECK(ndr_push_align(ndr, 5));
13513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13514 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13516 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13518 if (ndr_flags & NDR_BUFFERS) {
13519 if (r->info) {
13520 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13521 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13522 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13526 return NDR_ERR_SUCCESS;
13529 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13531 uint32_t _ptr_info;
13532 uint32_t cntr_info_1;
13533 TALLOC_CTX *_mem_save_info_0;
13534 TALLOC_CTX *_mem_save_info_1;
13535 if (ndr_flags & NDR_SCALARS) {
13536 NDR_CHECK(ndr_pull_align(ndr, 5));
13537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13538 if (r->num_info > 10000) {
13539 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13541 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13542 if (_ptr_info) {
13543 NDR_PULL_ALLOC(ndr, r->info);
13544 } else {
13545 r->info = NULL;
13547 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
13548 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13550 if (ndr_flags & NDR_BUFFERS) {
13551 if (r->info) {
13552 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13553 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13554 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13555 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13556 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13557 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13558 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13559 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13564 if (r->info) {
13565 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13568 return NDR_ERR_SUCCESS;
13571 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13573 uint32_t cntr_info_1;
13574 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13575 ndr->depth++;
13576 ndr_print_uint32(ndr, "num_info", r->num_info);
13577 ndr_print_ptr(ndr, "info", r->info);
13578 ndr->depth++;
13579 if (r->info) {
13580 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13581 ndr->depth++;
13582 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13583 char *idx_1=NULL;
13584 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13585 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13586 free(idx_1);
13589 ndr->depth--;
13591 ndr->depth--;
13592 ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
13593 ndr->depth--;
13596 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13598 if (ndr_flags & NDR_SCALARS) {
13599 int level = ndr_push_get_switch_value(ndr, r);
13600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13601 NDR_CHECK(ndr_push_union_align(ndr, 5));
13602 switch (level) {
13603 case 1: {
13604 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13605 break; }
13607 default:
13608 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13611 if (ndr_flags & NDR_BUFFERS) {
13612 int level = ndr_push_get_switch_value(ndr, r);
13613 switch (level) {
13614 case 1:
13615 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13616 break;
13618 default:
13619 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13622 return NDR_ERR_SUCCESS;
13625 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13627 int level;
13628 uint32_t _level;
13629 level = ndr_pull_get_switch_value(ndr, r);
13630 if (ndr_flags & NDR_SCALARS) {
13631 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13632 if (_level != level) {
13633 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13635 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13636 switch (level) {
13637 case 1: {
13638 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13639 break; }
13641 default:
13642 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13645 if (ndr_flags & NDR_BUFFERS) {
13646 switch (level) {
13647 case 1:
13648 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13649 break;
13651 default:
13652 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13655 return NDR_ERR_SUCCESS;
13658 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13660 int level;
13661 level = ndr_print_get_switch_value(ndr, r);
13662 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13663 switch (level) {
13664 case 1:
13665 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13666 break;
13668 default:
13669 ndr_print_bad_level(ndr, name, level);
13673 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13675 uint32_t cntr_site_to_1;
13676 if (ndr_flags & NDR_SCALARS) {
13677 NDR_CHECK(ndr_push_align(ndr, 5));
13678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13682 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13684 if (ndr_flags & NDR_BUFFERS) {
13685 if (r->site_from) {
13686 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13687 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13688 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13689 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13691 if (r->site_to) {
13692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13693 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13696 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13697 if (r->site_to[cntr_site_to_1]) {
13698 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13699 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13700 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13701 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));
13706 return NDR_ERR_SUCCESS;
13709 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13711 uint32_t _ptr_site_from;
13712 TALLOC_CTX *_mem_save_site_from_0;
13713 uint32_t _ptr_site_to;
13714 uint32_t cntr_site_to_1;
13715 TALLOC_CTX *_mem_save_site_to_0;
13716 TALLOC_CTX *_mem_save_site_to_1;
13717 TALLOC_CTX *_mem_save_site_to_2;
13718 if (ndr_flags & NDR_SCALARS) {
13719 NDR_CHECK(ndr_pull_align(ndr, 5));
13720 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13721 if (_ptr_site_from) {
13722 NDR_PULL_ALLOC(ndr, r->site_from);
13723 } else {
13724 r->site_from = NULL;
13726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13727 if (r->num_req < 1 || r->num_req > 10000) {
13728 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13730 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13731 if (_ptr_site_to) {
13732 NDR_PULL_ALLOC(ndr, r->site_to);
13733 } else {
13734 r->site_to = NULL;
13736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13737 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13739 if (ndr_flags & NDR_BUFFERS) {
13740 if (r->site_from) {
13741 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13742 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13743 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13744 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13745 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13746 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));
13748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13749 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13752 if (r->site_to) {
13753 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13754 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13755 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13756 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13757 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13758 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13759 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13760 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13761 if (_ptr_site_to) {
13762 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13763 } else {
13764 r->site_to[cntr_site_to_1] = NULL;
13767 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13768 if (r->site_to[cntr_site_to_1]) {
13769 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13770 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13771 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13772 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13773 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])) {
13774 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]));
13776 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13777 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));
13778 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13784 if (r->site_to) {
13785 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13788 return NDR_ERR_SUCCESS;
13791 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13793 uint32_t cntr_site_to_1;
13794 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13795 ndr->depth++;
13796 ndr_print_ptr(ndr, "site_from", r->site_from);
13797 ndr->depth++;
13798 if (r->site_from) {
13799 ndr_print_string(ndr, "site_from", r->site_from);
13801 ndr->depth--;
13802 ndr_print_uint32(ndr, "num_req", r->num_req);
13803 ndr_print_ptr(ndr, "site_to", r->site_to);
13804 ndr->depth++;
13805 if (r->site_to) {
13806 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13807 ndr->depth++;
13808 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13809 char *idx_1=NULL;
13810 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13811 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13812 ndr->depth++;
13813 if (r->site_to[cntr_site_to_1]) {
13814 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13816 ndr->depth--;
13817 free(idx_1);
13820 ndr->depth--;
13822 ndr->depth--;
13823 ndr_print_uint32(ndr, "flags", r->flags);
13824 ndr->depth--;
13827 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13829 if (ndr_flags & NDR_SCALARS) {
13830 int level = ndr_push_get_switch_value(ndr, r);
13831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13832 NDR_CHECK(ndr_push_union_align(ndr, 5));
13833 switch (level) {
13834 case 1: {
13835 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13836 break; }
13838 default:
13839 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13842 if (ndr_flags & NDR_BUFFERS) {
13843 int level = ndr_push_get_switch_value(ndr, r);
13844 switch (level) {
13845 case 1:
13846 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13847 break;
13849 default:
13850 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13853 return NDR_ERR_SUCCESS;
13856 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13858 int level;
13859 uint32_t _level;
13860 level = ndr_pull_get_switch_value(ndr, r);
13861 if (ndr_flags & NDR_SCALARS) {
13862 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13863 if (_level != level) {
13864 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13866 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13867 switch (level) {
13868 case 1: {
13869 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13870 break; }
13872 default:
13873 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13876 if (ndr_flags & NDR_BUFFERS) {
13877 switch (level) {
13878 case 1:
13879 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13880 break;
13882 default:
13883 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13886 return NDR_ERR_SUCCESS;
13889 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13891 int level;
13892 level = ndr_print_get_switch_value(ndr, r);
13893 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13894 switch (level) {
13895 case 1:
13896 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13897 break;
13899 default:
13900 ndr_print_bad_level(ndr, name, level);
13904 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13906 if (flags & NDR_IN) {
13907 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13908 if (r->in.bind_guid) {
13909 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13911 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13912 if (r->in.bind_info) {
13913 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13916 if (flags & NDR_OUT) {
13917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13918 if (r->out.bind_info) {
13919 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13921 if (r->out.bind_handle == NULL) {
13922 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13924 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13925 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13927 return NDR_ERR_SUCCESS;
13930 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13932 uint32_t _ptr_bind_guid;
13933 uint32_t _ptr_bind_info;
13934 TALLOC_CTX *_mem_save_bind_guid_0;
13935 TALLOC_CTX *_mem_save_bind_info_0;
13936 TALLOC_CTX *_mem_save_bind_handle_0;
13937 if (flags & NDR_IN) {
13938 ZERO_STRUCT(r->out);
13940 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13941 if (_ptr_bind_guid) {
13942 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13943 } else {
13944 r->in.bind_guid = NULL;
13946 if (r->in.bind_guid) {
13947 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13948 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13949 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13952 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13953 if (_ptr_bind_info) {
13954 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13955 } else {
13956 r->in.bind_info = NULL;
13958 if (r->in.bind_info) {
13959 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13960 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13961 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13964 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13965 ZERO_STRUCTP(r->out.bind_handle);
13967 if (flags & NDR_OUT) {
13968 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13969 if (_ptr_bind_info) {
13970 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13971 } else {
13972 r->out.bind_info = NULL;
13974 if (r->out.bind_info) {
13975 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13976 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13977 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13980 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13981 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13983 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13984 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13985 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13987 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13989 return NDR_ERR_SUCCESS;
13992 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13994 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13995 ndr->depth++;
13996 if (flags & NDR_SET_VALUES) {
13997 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13999 if (flags & NDR_IN) {
14000 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
14001 ndr->depth++;
14002 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
14003 ndr->depth++;
14004 if (r->in.bind_guid) {
14005 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
14007 ndr->depth--;
14008 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
14009 ndr->depth++;
14010 if (r->in.bind_info) {
14011 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
14013 ndr->depth--;
14014 ndr->depth--;
14016 if (flags & NDR_OUT) {
14017 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
14018 ndr->depth++;
14019 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
14020 ndr->depth++;
14021 if (r->out.bind_info) {
14022 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
14024 ndr->depth--;
14025 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
14026 ndr->depth++;
14027 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
14028 ndr->depth--;
14029 ndr_print_WERROR(ndr, "result", r->out.result);
14030 ndr->depth--;
14032 ndr->depth--;
14035 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
14037 if (flags & NDR_IN) {
14038 if (r->in.bind_handle == NULL) {
14039 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14041 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14043 if (flags & NDR_OUT) {
14044 if (r->out.bind_handle == NULL) {
14045 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14047 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
14048 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14050 return NDR_ERR_SUCCESS;
14053 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
14055 TALLOC_CTX *_mem_save_bind_handle_0;
14056 if (flags & NDR_IN) {
14057 ZERO_STRUCT(r->out);
14059 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14060 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14062 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14063 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14064 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14066 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
14067 *r->out.bind_handle = *r->in.bind_handle;
14069 if (flags & NDR_OUT) {
14070 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14071 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
14073 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14074 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14075 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
14076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14077 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14079 return NDR_ERR_SUCCESS;
14082 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
14084 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
14085 ndr->depth++;
14086 if (flags & NDR_SET_VALUES) {
14087 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14089 if (flags & NDR_IN) {
14090 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
14091 ndr->depth++;
14092 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14093 ndr->depth++;
14094 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14095 ndr->depth--;
14096 ndr->depth--;
14098 if (flags & NDR_OUT) {
14099 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
14100 ndr->depth++;
14101 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
14102 ndr->depth++;
14103 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
14104 ndr->depth--;
14105 ndr_print_WERROR(ndr, "result", r->out.result);
14106 ndr->depth--;
14108 ndr->depth--;
14111 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
14113 if (flags & NDR_IN) {
14114 if (r->in.bind_handle == NULL) {
14115 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14117 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14119 if (r->in.req == NULL) {
14120 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14122 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14123 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14125 if (flags & NDR_OUT) {
14126 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14128 return NDR_ERR_SUCCESS;
14131 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
14133 TALLOC_CTX *_mem_save_bind_handle_0;
14134 TALLOC_CTX *_mem_save_req_0;
14135 if (flags & NDR_IN) {
14136 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14137 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14139 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14140 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14141 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14144 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14145 NDR_PULL_ALLOC(ndr, r->in.req);
14147 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14148 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14149 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14150 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14153 if (flags & NDR_OUT) {
14154 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14156 return NDR_ERR_SUCCESS;
14159 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
14161 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
14162 ndr->depth++;
14163 if (flags & NDR_SET_VALUES) {
14164 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14166 if (flags & NDR_IN) {
14167 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
14168 ndr->depth++;
14169 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14170 ndr->depth++;
14171 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14172 ndr->depth--;
14173 ndr_print_uint32(ndr, "level", r->in.level);
14174 ndr_print_ptr(ndr, "req", r->in.req);
14175 ndr->depth++;
14176 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14177 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
14178 ndr->depth--;
14179 ndr->depth--;
14181 if (flags & NDR_OUT) {
14182 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
14183 ndr->depth++;
14184 ndr_print_WERROR(ndr, "result", r->out.result);
14185 ndr->depth--;
14187 ndr->depth--;
14190 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
14192 if (flags & NDR_IN) {
14193 if (r->in.bind_handle == NULL) {
14194 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14196 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14198 if (r->in.req == NULL) {
14199 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14201 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14202 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14204 if (flags & NDR_OUT) {
14205 if (r->out.level_out == NULL) {
14206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14209 if (r->out.ctr == NULL) {
14210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14212 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14213 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14214 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14216 return NDR_ERR_SUCCESS;
14219 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
14221 TALLOC_CTX *_mem_save_bind_handle_0;
14222 TALLOC_CTX *_mem_save_req_0;
14223 TALLOC_CTX *_mem_save_level_out_0;
14224 TALLOC_CTX *_mem_save_ctr_0;
14225 if (flags & NDR_IN) {
14226 ZERO_STRUCT(r->out);
14228 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14229 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14231 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14232 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14233 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14236 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14237 NDR_PULL_ALLOC(ndr, r->in.req);
14239 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14240 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14241 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14242 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14244 NDR_PULL_ALLOC(ndr, r->out.level_out);
14245 ZERO_STRUCTP(r->out.level_out);
14246 NDR_PULL_ALLOC(ndr, r->out.ctr);
14247 ZERO_STRUCTP(r->out.ctr);
14249 if (flags & NDR_OUT) {
14250 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14251 NDR_PULL_ALLOC(ndr, r->out.level_out);
14253 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14254 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14257 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14258 NDR_PULL_ALLOC(ndr, r->out.ctr);
14260 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14261 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14262 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14263 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14265 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14267 return NDR_ERR_SUCCESS;
14270 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
14272 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
14273 ndr->depth++;
14274 if (flags & NDR_SET_VALUES) {
14275 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14277 if (flags & NDR_IN) {
14278 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
14279 ndr->depth++;
14280 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14281 ndr->depth++;
14282 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14283 ndr->depth--;
14284 ndr_print_uint32(ndr, "level", r->in.level);
14285 ndr_print_ptr(ndr, "req", r->in.req);
14286 ndr->depth++;
14287 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14288 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
14289 ndr->depth--;
14290 ndr->depth--;
14292 if (flags & NDR_OUT) {
14293 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
14294 ndr->depth++;
14295 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14296 ndr->depth++;
14297 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14298 ndr->depth--;
14299 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14300 ndr->depth++;
14301 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14302 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
14303 ndr->depth--;
14304 ndr_print_WERROR(ndr, "result", r->out.result);
14305 ndr->depth--;
14307 ndr->depth--;
14310 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
14312 if (flags & NDR_IN) {
14313 if (r->in.bind_handle == NULL) {
14314 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14316 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14318 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14319 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14321 if (flags & NDR_OUT) {
14322 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14324 return NDR_ERR_SUCCESS;
14327 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
14329 TALLOC_CTX *_mem_save_bind_handle_0;
14330 if (flags & NDR_IN) {
14331 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14332 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14334 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14335 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14336 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14339 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14340 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14342 if (flags & NDR_OUT) {
14343 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14345 return NDR_ERR_SUCCESS;
14348 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
14350 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
14351 ndr->depth++;
14352 if (flags & NDR_SET_VALUES) {
14353 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14355 if (flags & NDR_IN) {
14356 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
14357 ndr->depth++;
14358 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14359 ndr->depth++;
14360 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14361 ndr->depth--;
14362 ndr_print_uint32(ndr, "level", r->in.level);
14363 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14364 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
14365 ndr->depth--;
14367 if (flags & NDR_OUT) {
14368 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
14369 ndr->depth++;
14370 ndr_print_WERROR(ndr, "result", r->out.result);
14371 ndr->depth--;
14373 ndr->depth--;
14376 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
14378 if (flags & NDR_IN) {
14379 if (r->in.bind_handle == NULL) {
14380 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14382 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14384 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14385 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14387 if (flags & NDR_OUT) {
14388 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14390 return NDR_ERR_SUCCESS;
14393 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
14395 TALLOC_CTX *_mem_save_bind_handle_0;
14396 if (flags & NDR_IN) {
14397 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14398 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14400 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14401 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14402 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14403 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14404 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14405 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14406 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14408 if (flags & NDR_OUT) {
14409 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14411 return NDR_ERR_SUCCESS;
14414 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
14416 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
14417 ndr->depth++;
14418 if (flags & NDR_SET_VALUES) {
14419 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14421 if (flags & NDR_IN) {
14422 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
14423 ndr->depth++;
14424 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14425 ndr->depth++;
14426 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14427 ndr->depth--;
14428 ndr_print_uint32(ndr, "level", r->in.level);
14429 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14430 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
14431 ndr->depth--;
14433 if (flags & NDR_OUT) {
14434 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
14435 ndr->depth++;
14436 ndr_print_WERROR(ndr, "result", r->out.result);
14437 ndr->depth--;
14439 ndr->depth--;
14442 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
14444 if (flags & NDR_IN) {
14445 if (r->in.bind_handle == NULL) {
14446 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14448 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14449 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14450 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14451 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14453 if (flags & NDR_OUT) {
14454 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14456 return NDR_ERR_SUCCESS;
14459 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14461 TALLOC_CTX *_mem_save_bind_handle_0;
14462 if (flags & NDR_IN) {
14463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14464 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14466 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14467 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14468 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14471 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14472 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14474 if (flags & NDR_OUT) {
14475 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14477 return NDR_ERR_SUCCESS;
14480 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14482 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14483 ndr->depth++;
14484 if (flags & NDR_SET_VALUES) {
14485 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14487 if (flags & NDR_IN) {
14488 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14489 ndr->depth++;
14490 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14491 ndr->depth++;
14492 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14493 ndr->depth--;
14494 ndr_print_uint32(ndr, "level", r->in.level);
14495 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14496 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14497 ndr->depth--;
14499 if (flags & NDR_OUT) {
14500 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14501 ndr->depth++;
14502 ndr_print_WERROR(ndr, "result", r->out.result);
14503 ndr->depth--;
14505 ndr->depth--;
14508 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14510 if (flags & NDR_IN) {
14511 if (r->in.bind_handle == NULL) {
14512 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14514 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14516 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14517 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14519 if (flags & NDR_OUT) {
14520 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14522 return NDR_ERR_SUCCESS;
14525 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14527 TALLOC_CTX *_mem_save_bind_handle_0;
14528 if (flags & NDR_IN) {
14529 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14530 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14532 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14533 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14534 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14537 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14538 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14540 if (flags & NDR_OUT) {
14541 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14543 return NDR_ERR_SUCCESS;
14546 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14548 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14549 ndr->depth++;
14550 if (flags & NDR_SET_VALUES) {
14551 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14553 if (flags & NDR_IN) {
14554 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14555 ndr->depth++;
14556 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14557 ndr->depth++;
14558 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14559 ndr->depth--;
14560 ndr_print_uint32(ndr, "level", r->in.level);
14561 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14562 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14563 ndr->depth--;
14565 if (flags & NDR_OUT) {
14566 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14567 ndr->depth++;
14568 ndr_print_WERROR(ndr, "result", r->out.result);
14569 ndr->depth--;
14571 ndr->depth--;
14574 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14576 if (flags & NDR_IN) {
14578 if (flags & NDR_OUT) {
14579 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14581 return NDR_ERR_SUCCESS;
14584 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14586 if (flags & NDR_IN) {
14588 if (flags & NDR_OUT) {
14589 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14591 return NDR_ERR_SUCCESS;
14594 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14596 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14597 ndr->depth++;
14598 if (flags & NDR_SET_VALUES) {
14599 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14601 if (flags & NDR_IN) {
14602 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14603 ndr->depth++;
14604 ndr->depth--;
14606 if (flags & NDR_OUT) {
14607 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14608 ndr->depth++;
14609 ndr_print_WERROR(ndr, "result", r->out.result);
14610 ndr->depth--;
14612 ndr->depth--;
14615 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14617 if (flags & NDR_IN) {
14618 if (r->in.bind_handle == NULL) {
14619 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14621 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14623 if (r->in.req == NULL) {
14624 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14626 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14627 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14629 if (flags & NDR_OUT) {
14630 if (r->out.level_out == NULL) {
14631 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14634 if (r->out.ctr == NULL) {
14635 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14637 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14638 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14639 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14641 return NDR_ERR_SUCCESS;
14644 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14646 TALLOC_CTX *_mem_save_bind_handle_0;
14647 TALLOC_CTX *_mem_save_req_0;
14648 TALLOC_CTX *_mem_save_level_out_0;
14649 TALLOC_CTX *_mem_save_ctr_0;
14650 if (flags & NDR_IN) {
14651 ZERO_STRUCT(r->out);
14653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14654 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14656 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14657 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14658 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14660 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14661 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14662 NDR_PULL_ALLOC(ndr, r->in.req);
14664 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14665 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14666 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14667 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14669 NDR_PULL_ALLOC(ndr, r->out.level_out);
14670 ZERO_STRUCTP(r->out.level_out);
14671 NDR_PULL_ALLOC(ndr, r->out.ctr);
14672 ZERO_STRUCTP(r->out.ctr);
14674 if (flags & NDR_OUT) {
14675 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14676 NDR_PULL_ALLOC(ndr, r->out.level_out);
14678 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14679 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14682 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14683 NDR_PULL_ALLOC(ndr, r->out.ctr);
14685 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14686 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14687 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14688 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14690 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14692 return NDR_ERR_SUCCESS;
14695 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14697 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14698 ndr->depth++;
14699 if (flags & NDR_SET_VALUES) {
14700 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14702 if (flags & NDR_IN) {
14703 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14704 ndr->depth++;
14705 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14706 ndr->depth++;
14707 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14708 ndr->depth--;
14709 ndr_print_uint32(ndr, "level", r->in.level);
14710 ndr_print_ptr(ndr, "req", r->in.req);
14711 ndr->depth++;
14712 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14713 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14714 ndr->depth--;
14715 ndr->depth--;
14717 if (flags & NDR_OUT) {
14718 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14719 ndr->depth++;
14720 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14721 ndr->depth++;
14722 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14723 ndr->depth--;
14724 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14725 ndr->depth++;
14726 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14727 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14728 ndr->depth--;
14729 ndr_print_WERROR(ndr, "result", r->out.result);
14730 ndr->depth--;
14732 ndr->depth--;
14735 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14737 if (flags & NDR_IN) {
14739 if (flags & NDR_OUT) {
14740 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14742 return NDR_ERR_SUCCESS;
14745 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14747 if (flags & NDR_IN) {
14749 if (flags & NDR_OUT) {
14750 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14752 return NDR_ERR_SUCCESS;
14755 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14757 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14758 ndr->depth++;
14759 if (flags & NDR_SET_VALUES) {
14760 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14762 if (flags & NDR_IN) {
14763 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14764 ndr->depth++;
14765 ndr->depth--;
14767 if (flags & NDR_OUT) {
14768 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14769 ndr->depth++;
14770 ndr_print_WERROR(ndr, "result", r->out.result);
14771 ndr->depth--;
14773 ndr->depth--;
14776 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14778 if (flags & NDR_IN) {
14779 if (r->in.bind_handle == NULL) {
14780 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14782 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14784 if (r->in.req == NULL) {
14785 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14787 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14788 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14790 if (flags & NDR_OUT) {
14791 if (r->out.level_out == NULL) {
14792 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14795 if (r->out.info == NULL) {
14796 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14798 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14799 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14800 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14802 return NDR_ERR_SUCCESS;
14805 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14807 TALLOC_CTX *_mem_save_bind_handle_0;
14808 TALLOC_CTX *_mem_save_req_0;
14809 TALLOC_CTX *_mem_save_level_out_0;
14810 TALLOC_CTX *_mem_save_info_0;
14811 if (flags & NDR_IN) {
14812 ZERO_STRUCT(r->out);
14814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14815 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14817 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14818 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14819 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14822 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14823 NDR_PULL_ALLOC(ndr, r->in.req);
14825 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14826 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14827 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14828 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14829 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14830 NDR_PULL_ALLOC(ndr, r->out.level_out);
14831 ZERO_STRUCTP(r->out.level_out);
14832 NDR_PULL_ALLOC(ndr, r->out.info);
14833 ZERO_STRUCTP(r->out.info);
14835 if (flags & NDR_OUT) {
14836 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14837 NDR_PULL_ALLOC(ndr, r->out.level_out);
14839 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14840 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14843 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14844 NDR_PULL_ALLOC(ndr, r->out.info);
14846 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14847 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14848 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14849 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14850 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14851 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14853 return NDR_ERR_SUCCESS;
14856 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14858 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14859 ndr->depth++;
14860 if (flags & NDR_SET_VALUES) {
14861 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14863 if (flags & NDR_IN) {
14864 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14865 ndr->depth++;
14866 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14867 ndr->depth++;
14868 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14869 ndr->depth--;
14870 ndr_print_uint32(ndr, "level", r->in.level);
14871 ndr_print_ptr(ndr, "req", r->in.req);
14872 ndr->depth++;
14873 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14874 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14875 ndr->depth--;
14876 ndr->depth--;
14878 if (flags & NDR_OUT) {
14879 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14880 ndr->depth++;
14881 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14882 ndr->depth++;
14883 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14884 ndr->depth--;
14885 ndr_print_ptr(ndr, "info", r->out.info);
14886 ndr->depth++;
14887 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14888 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14889 ndr->depth--;
14890 ndr_print_WERROR(ndr, "result", r->out.result);
14891 ndr->depth--;
14893 ndr->depth--;
14896 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14898 if (flags & NDR_IN) {
14899 if (r->in.bind_handle == NULL) {
14900 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14902 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14904 if (r->in.req == NULL) {
14905 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14907 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14908 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14910 if (flags & NDR_OUT) {
14911 if (r->out.level_out == NULL) {
14912 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14915 if (r->out.ctr == NULL) {
14916 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14918 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14919 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14920 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14922 return NDR_ERR_SUCCESS;
14925 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14927 TALLOC_CTX *_mem_save_bind_handle_0;
14928 TALLOC_CTX *_mem_save_req_0;
14929 TALLOC_CTX *_mem_save_level_out_0;
14930 TALLOC_CTX *_mem_save_ctr_0;
14931 if (flags & NDR_IN) {
14932 ZERO_STRUCT(r->out);
14934 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14935 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14937 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14938 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14939 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14941 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14943 NDR_PULL_ALLOC(ndr, r->in.req);
14945 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14946 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14947 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14948 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14950 NDR_PULL_ALLOC(ndr, r->out.level_out);
14951 ZERO_STRUCTP(r->out.level_out);
14952 NDR_PULL_ALLOC(ndr, r->out.ctr);
14953 ZERO_STRUCTP(r->out.ctr);
14955 if (flags & NDR_OUT) {
14956 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14957 NDR_PULL_ALLOC(ndr, r->out.level_out);
14959 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14960 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14961 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14963 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14964 NDR_PULL_ALLOC(ndr, r->out.ctr);
14966 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14967 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14968 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14969 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14970 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14971 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14973 return NDR_ERR_SUCCESS;
14976 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14978 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14979 ndr->depth++;
14980 if (flags & NDR_SET_VALUES) {
14981 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14983 if (flags & NDR_IN) {
14984 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14985 ndr->depth++;
14986 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14987 ndr->depth++;
14988 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14989 ndr->depth--;
14990 ndr_print_uint32(ndr, "level", r->in.level);
14991 ndr_print_ptr(ndr, "req", r->in.req);
14992 ndr->depth++;
14993 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14994 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14995 ndr->depth--;
14996 ndr->depth--;
14998 if (flags & NDR_OUT) {
14999 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
15000 ndr->depth++;
15001 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15002 ndr->depth++;
15003 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15004 ndr->depth--;
15005 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15006 ndr->depth++;
15007 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15008 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
15009 ndr->depth--;
15010 ndr_print_WERROR(ndr, "result", r->out.result);
15011 ndr->depth--;
15013 ndr->depth--;
15016 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
15018 if (flags & NDR_IN) {
15019 if (r->in.bind_handle == NULL) {
15020 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15022 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15024 if (r->in.req == NULL) {
15025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15027 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15028 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15030 if (flags & NDR_OUT) {
15031 if (r->out.level_out == NULL) {
15032 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15035 if (r->out.res == NULL) {
15036 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15038 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
15039 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
15040 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15042 return NDR_ERR_SUCCESS;
15045 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
15047 TALLOC_CTX *_mem_save_bind_handle_0;
15048 TALLOC_CTX *_mem_save_req_0;
15049 TALLOC_CTX *_mem_save_level_out_0;
15050 TALLOC_CTX *_mem_save_res_0;
15051 if (flags & NDR_IN) {
15052 ZERO_STRUCT(r->out);
15054 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15055 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15057 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15058 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15059 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15061 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15062 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15063 NDR_PULL_ALLOC(ndr, r->in.req);
15065 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15066 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15067 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15068 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15070 NDR_PULL_ALLOC(ndr, r->out.level_out);
15071 ZERO_STRUCTP(r->out.level_out);
15072 NDR_PULL_ALLOC(ndr, r->out.res);
15073 ZERO_STRUCTP(r->out.res);
15075 if (flags & NDR_OUT) {
15076 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15077 NDR_PULL_ALLOC(ndr, r->out.level_out);
15079 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15080 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15083 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15084 NDR_PULL_ALLOC(ndr, r->out.res);
15086 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
15087 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
15088 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
15089 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
15090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
15091 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15093 return NDR_ERR_SUCCESS;
15096 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
15098 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
15099 ndr->depth++;
15100 if (flags & NDR_SET_VALUES) {
15101 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15103 if (flags & NDR_IN) {
15104 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
15105 ndr->depth++;
15106 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15107 ndr->depth++;
15108 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15109 ndr->depth--;
15110 ndr_print_uint32(ndr, "level", r->in.level);
15111 ndr_print_ptr(ndr, "req", r->in.req);
15112 ndr->depth++;
15113 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15114 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
15115 ndr->depth--;
15116 ndr->depth--;
15118 if (flags & NDR_OUT) {
15119 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
15120 ndr->depth++;
15121 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15122 ndr->depth++;
15123 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15124 ndr->depth--;
15125 ndr_print_ptr(ndr, "res", r->out.res);
15126 ndr->depth++;
15127 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
15128 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
15129 ndr->depth--;
15130 ndr_print_WERROR(ndr, "result", r->out.result);
15131 ndr->depth--;
15133 ndr->depth--;
15136 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
15138 if (flags & NDR_IN) {
15139 if (r->in.bind_handle == NULL) {
15140 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15142 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15144 if (r->in.req == NULL) {
15145 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15147 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15148 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15150 if (flags & NDR_OUT) {
15151 if (r->out.level_out == NULL) {
15152 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15155 if (r->out.res == NULL) {
15156 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15158 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
15159 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
15160 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15162 return NDR_ERR_SUCCESS;
15165 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
15167 TALLOC_CTX *_mem_save_bind_handle_0;
15168 TALLOC_CTX *_mem_save_req_0;
15169 TALLOC_CTX *_mem_save_level_out_0;
15170 TALLOC_CTX *_mem_save_res_0;
15171 if (flags & NDR_IN) {
15172 ZERO_STRUCT(r->out);
15174 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15175 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15177 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15178 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15179 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15181 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15182 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15183 NDR_PULL_ALLOC(ndr, r->in.req);
15185 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15186 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15187 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15188 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15190 NDR_PULL_ALLOC(ndr, r->out.level_out);
15191 ZERO_STRUCTP(r->out.level_out);
15192 NDR_PULL_ALLOC(ndr, r->out.res);
15193 ZERO_STRUCTP(r->out.res);
15195 if (flags & NDR_OUT) {
15196 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15197 NDR_PULL_ALLOC(ndr, r->out.level_out);
15199 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15200 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15203 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15204 NDR_PULL_ALLOC(ndr, r->out.res);
15206 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
15207 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
15208 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
15209 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
15210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
15211 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15213 return NDR_ERR_SUCCESS;
15216 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
15218 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
15219 ndr->depth++;
15220 if (flags & NDR_SET_VALUES) {
15221 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15223 if (flags & NDR_IN) {
15224 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
15225 ndr->depth++;
15226 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15227 ndr->depth++;
15228 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15229 ndr->depth--;
15230 ndr_print_uint32(ndr, "level", r->in.level);
15231 ndr_print_ptr(ndr, "req", r->in.req);
15232 ndr->depth++;
15233 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15234 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
15235 ndr->depth--;
15236 ndr->depth--;
15238 if (flags & NDR_OUT) {
15239 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
15240 ndr->depth++;
15241 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15242 ndr->depth++;
15243 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15244 ndr->depth--;
15245 ndr_print_ptr(ndr, "res", r->out.res);
15246 ndr->depth++;
15247 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
15248 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
15249 ndr->depth--;
15250 ndr_print_WERROR(ndr, "result", r->out.result);
15251 ndr->depth--;
15253 ndr->depth--;
15256 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
15258 if (flags & NDR_IN) {
15260 if (flags & NDR_OUT) {
15261 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15263 return NDR_ERR_SUCCESS;
15266 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
15268 if (flags & NDR_IN) {
15270 if (flags & NDR_OUT) {
15271 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15273 return NDR_ERR_SUCCESS;
15276 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
15278 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
15279 ndr->depth++;
15280 if (flags & NDR_SET_VALUES) {
15281 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15283 if (flags & NDR_IN) {
15284 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
15285 ndr->depth++;
15286 ndr->depth--;
15288 if (flags & NDR_OUT) {
15289 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
15290 ndr->depth++;
15291 ndr_print_WERROR(ndr, "result", r->out.result);
15292 ndr->depth--;
15294 ndr->depth--;
15297 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
15299 if (flags & NDR_IN) {
15300 if (r->in.bind_handle == NULL) {
15301 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15303 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15304 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15305 if (r->in.req == NULL) {
15306 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15308 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15309 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15311 if (flags & NDR_OUT) {
15312 if (r->out.level_out == NULL) {
15313 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15315 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15316 if (r->out.ctr == NULL) {
15317 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15319 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15320 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15321 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15323 return NDR_ERR_SUCCESS;
15326 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
15328 TALLOC_CTX *_mem_save_bind_handle_0;
15329 TALLOC_CTX *_mem_save_req_0;
15330 TALLOC_CTX *_mem_save_level_out_0;
15331 TALLOC_CTX *_mem_save_ctr_0;
15332 if (flags & NDR_IN) {
15333 ZERO_STRUCT(r->out);
15335 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15336 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15338 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15339 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15340 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15342 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15343 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15344 NDR_PULL_ALLOC(ndr, r->in.req);
15346 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15347 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15348 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15349 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15351 NDR_PULL_ALLOC(ndr, r->out.level_out);
15352 ZERO_STRUCTP(r->out.level_out);
15353 NDR_PULL_ALLOC(ndr, r->out.ctr);
15354 ZERO_STRUCTP(r->out.ctr);
15356 if (flags & NDR_OUT) {
15357 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15358 NDR_PULL_ALLOC(ndr, r->out.level_out);
15360 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15361 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15362 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15364 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15365 NDR_PULL_ALLOC(ndr, r->out.ctr);
15367 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15368 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15369 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15370 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15372 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15374 return NDR_ERR_SUCCESS;
15377 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
15379 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
15380 ndr->depth++;
15381 if (flags & NDR_SET_VALUES) {
15382 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15384 if (flags & NDR_IN) {
15385 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
15386 ndr->depth++;
15387 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15388 ndr->depth++;
15389 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15390 ndr->depth--;
15391 ndr_print_int32(ndr, "level", r->in.level);
15392 ndr_print_ptr(ndr, "req", r->in.req);
15393 ndr->depth++;
15394 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15395 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
15396 ndr->depth--;
15397 ndr->depth--;
15399 if (flags & NDR_OUT) {
15400 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
15401 ndr->depth++;
15402 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15403 ndr->depth++;
15404 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15405 ndr->depth--;
15406 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15407 ndr->depth++;
15408 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15409 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
15410 ndr->depth--;
15411 ndr_print_WERROR(ndr, "result", r->out.result);
15412 ndr->depth--;
15414 ndr->depth--;
15417 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
15419 if (flags & NDR_IN) {
15420 if (r->in.bind_handle == NULL) {
15421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15423 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15425 if (r->in.req == NULL) {
15426 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15428 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15429 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15431 if (flags & NDR_OUT) {
15432 if (r->out.level_out == NULL) {
15433 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15436 if (r->out.ctr == NULL) {
15437 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15439 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15440 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15441 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15443 return NDR_ERR_SUCCESS;
15446 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
15448 TALLOC_CTX *_mem_save_bind_handle_0;
15449 TALLOC_CTX *_mem_save_req_0;
15450 TALLOC_CTX *_mem_save_level_out_0;
15451 TALLOC_CTX *_mem_save_ctr_0;
15452 if (flags & NDR_IN) {
15453 ZERO_STRUCT(r->out);
15455 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15456 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15458 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15459 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15460 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15464 NDR_PULL_ALLOC(ndr, r->in.req);
15466 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15467 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15468 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15469 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15471 NDR_PULL_ALLOC(ndr, r->out.level_out);
15472 ZERO_STRUCTP(r->out.level_out);
15473 NDR_PULL_ALLOC(ndr, r->out.ctr);
15474 ZERO_STRUCTP(r->out.ctr);
15476 if (flags & NDR_OUT) {
15477 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15478 NDR_PULL_ALLOC(ndr, r->out.level_out);
15480 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15481 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15483 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15484 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15485 NDR_PULL_ALLOC(ndr, r->out.ctr);
15487 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15488 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15489 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15490 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15492 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15494 return NDR_ERR_SUCCESS;
15497 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15499 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15500 ndr->depth++;
15501 if (flags & NDR_SET_VALUES) {
15502 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15504 if (flags & NDR_IN) {
15505 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15506 ndr->depth++;
15507 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15508 ndr->depth++;
15509 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15510 ndr->depth--;
15511 ndr_print_uint32(ndr, "level", r->in.level);
15512 ndr_print_ptr(ndr, "req", r->in.req);
15513 ndr->depth++;
15514 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15515 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15516 ndr->depth--;
15517 ndr->depth--;
15519 if (flags & NDR_OUT) {
15520 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15521 ndr->depth++;
15522 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15523 ndr->depth++;
15524 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15525 ndr->depth--;
15526 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15527 ndr->depth++;
15528 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15529 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15530 ndr->depth--;
15531 ndr_print_WERROR(ndr, "result", r->out.result);
15532 ndr->depth--;
15534 ndr->depth--;
15537 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15539 if (flags & NDR_IN) {
15540 if (r->in.bind_handle == NULL) {
15541 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15543 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15545 if (r->in.req == NULL) {
15546 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15548 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15549 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15551 if (flags & NDR_OUT) {
15552 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15554 return NDR_ERR_SUCCESS;
15557 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15559 TALLOC_CTX *_mem_save_bind_handle_0;
15560 TALLOC_CTX *_mem_save_req_0;
15561 if (flags & NDR_IN) {
15562 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15563 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15565 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15566 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15567 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15570 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15571 NDR_PULL_ALLOC(ndr, r->in.req);
15573 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15574 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15575 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15576 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15579 if (flags & NDR_OUT) {
15580 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15582 return NDR_ERR_SUCCESS;
15585 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15587 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15588 ndr->depth++;
15589 if (flags & NDR_SET_VALUES) {
15590 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15592 if (flags & NDR_IN) {
15593 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15594 ndr->depth++;
15595 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15596 ndr->depth++;
15597 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15598 ndr->depth--;
15599 ndr_print_uint32(ndr, "level", r->in.level);
15600 ndr_print_ptr(ndr, "req", r->in.req);
15601 ndr->depth++;
15602 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15603 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15604 ndr->depth--;
15605 ndr->depth--;
15607 if (flags & NDR_OUT) {
15608 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15609 ndr->depth++;
15610 ndr_print_WERROR(ndr, "result", r->out.result);
15611 ndr->depth--;
15613 ndr->depth--;
15616 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15618 if (flags & NDR_IN) {
15619 if (r->in.bind_handle == NULL) {
15620 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15622 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15623 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15624 if (r->in.req == NULL) {
15625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15627 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15628 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15630 if (flags & NDR_OUT) {
15631 if (r->out.info_type == NULL) {
15632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15634 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15635 if (r->out.info == NULL) {
15636 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15638 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15639 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15640 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15642 return NDR_ERR_SUCCESS;
15645 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15647 TALLOC_CTX *_mem_save_bind_handle_0;
15648 TALLOC_CTX *_mem_save_req_0;
15649 TALLOC_CTX *_mem_save_info_type_0;
15650 TALLOC_CTX *_mem_save_info_0;
15651 if (flags & NDR_IN) {
15652 ZERO_STRUCT(r->out);
15654 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15655 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15657 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15658 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15659 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15662 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15663 NDR_PULL_ALLOC(ndr, r->in.req);
15665 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15666 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15667 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15668 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15670 NDR_PULL_ALLOC(ndr, r->out.info_type);
15671 ZERO_STRUCTP(r->out.info_type);
15672 NDR_PULL_ALLOC(ndr, r->out.info);
15673 ZERO_STRUCTP(r->out.info);
15675 if (flags & NDR_OUT) {
15676 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15677 NDR_PULL_ALLOC(ndr, r->out.info_type);
15679 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15680 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15681 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15683 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15684 NDR_PULL_ALLOC(ndr, r->out.info);
15686 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15687 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15688 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15691 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15693 return NDR_ERR_SUCCESS;
15696 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15698 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15699 ndr->depth++;
15700 if (flags & NDR_SET_VALUES) {
15701 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15703 if (flags & NDR_IN) {
15704 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15705 ndr->depth++;
15706 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15707 ndr->depth++;
15708 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15709 ndr->depth--;
15710 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15711 ndr_print_ptr(ndr, "req", r->in.req);
15712 ndr->depth++;
15713 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15714 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15715 ndr->depth--;
15716 ndr->depth--;
15718 if (flags & NDR_OUT) {
15719 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15720 ndr->depth++;
15721 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15722 ndr->depth++;
15723 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15724 ndr->depth--;
15725 ndr_print_ptr(ndr, "info", r->out.info);
15726 ndr->depth++;
15727 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15728 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15729 ndr->depth--;
15730 ndr_print_WERROR(ndr, "result", r->out.result);
15731 ndr->depth--;
15733 ndr->depth--;
15736 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15738 if (flags & NDR_IN) {
15740 if (flags & NDR_OUT) {
15741 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15743 return NDR_ERR_SUCCESS;
15746 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15748 if (flags & NDR_IN) {
15750 if (flags & NDR_OUT) {
15751 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15753 return NDR_ERR_SUCCESS;
15756 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15758 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15759 ndr->depth++;
15760 if (flags & NDR_SET_VALUES) {
15761 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15763 if (flags & NDR_IN) {
15764 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15765 ndr->depth++;
15766 ndr->depth--;
15768 if (flags & NDR_OUT) {
15769 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15770 ndr->depth++;
15771 ndr_print_WERROR(ndr, "result", r->out.result);
15772 ndr->depth--;
15774 ndr->depth--;
15777 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15779 if (flags & NDR_IN) {
15780 if (r->in.bind_handle == NULL) {
15781 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15783 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15785 if (r->in.req == NULL) {
15786 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15788 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15789 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15791 if (flags & NDR_OUT) {
15792 if (r->out.level_out == NULL) {
15793 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15796 if (r->out.ctr == NULL) {
15797 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15799 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15800 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15801 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15803 return NDR_ERR_SUCCESS;
15806 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15808 TALLOC_CTX *_mem_save_bind_handle_0;
15809 TALLOC_CTX *_mem_save_req_0;
15810 TALLOC_CTX *_mem_save_level_out_0;
15811 TALLOC_CTX *_mem_save_ctr_0;
15812 if (flags & NDR_IN) {
15813 ZERO_STRUCT(r->out);
15815 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15816 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15818 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15819 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15820 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15821 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15823 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15824 NDR_PULL_ALLOC(ndr, r->in.req);
15826 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15827 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15828 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15829 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15830 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15831 NDR_PULL_ALLOC(ndr, r->out.level_out);
15832 ZERO_STRUCTP(r->out.level_out);
15833 NDR_PULL_ALLOC(ndr, r->out.ctr);
15834 ZERO_STRUCTP(r->out.ctr);
15836 if (flags & NDR_OUT) {
15837 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15838 NDR_PULL_ALLOC(ndr, r->out.level_out);
15840 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15841 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15844 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15845 NDR_PULL_ALLOC(ndr, r->out.ctr);
15847 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15848 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15849 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15850 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15851 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15852 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15854 return NDR_ERR_SUCCESS;
15857 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15859 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15860 ndr->depth++;
15861 if (flags & NDR_SET_VALUES) {
15862 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15864 if (flags & NDR_IN) {
15865 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15866 ndr->depth++;
15867 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15868 ndr->depth++;
15869 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15870 ndr->depth--;
15871 ndr_print_uint32(ndr, "level", r->in.level);
15872 ndr_print_ptr(ndr, "req", r->in.req);
15873 ndr->depth++;
15874 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15875 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15876 ndr->depth--;
15877 ndr->depth--;
15879 if (flags & NDR_OUT) {
15880 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15881 ndr->depth++;
15882 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15883 ndr->depth++;
15884 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15885 ndr->depth--;
15886 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15887 ndr->depth++;
15888 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15889 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15890 ndr->depth--;
15891 ndr_print_WERROR(ndr, "result", r->out.result);
15892 ndr->depth--;
15894 ndr->depth--;
15897 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15899 if (flags & NDR_IN) {
15901 if (flags & NDR_OUT) {
15902 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15904 return NDR_ERR_SUCCESS;
15907 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15909 if (flags & NDR_IN) {
15911 if (flags & NDR_OUT) {
15912 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15914 return NDR_ERR_SUCCESS;
15917 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15919 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15920 ndr->depth++;
15921 if (flags & NDR_SET_VALUES) {
15922 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15924 if (flags & NDR_IN) {
15925 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15926 ndr->depth++;
15927 ndr->depth--;
15929 if (flags & NDR_OUT) {
15930 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15931 ndr->depth++;
15932 ndr_print_WERROR(ndr, "result", r->out.result);
15933 ndr->depth--;
15935 ndr->depth--;
15938 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15940 if (flags & NDR_IN) {
15942 if (flags & NDR_OUT) {
15943 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15945 return NDR_ERR_SUCCESS;
15948 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15950 if (flags & NDR_IN) {
15952 if (flags & NDR_OUT) {
15953 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15955 return NDR_ERR_SUCCESS;
15958 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15960 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15961 ndr->depth++;
15962 if (flags & NDR_SET_VALUES) {
15963 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15965 if (flags & NDR_IN) {
15966 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15967 ndr->depth++;
15968 ndr->depth--;
15970 if (flags & NDR_OUT) {
15971 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15972 ndr->depth++;
15973 ndr_print_WERROR(ndr, "result", r->out.result);
15974 ndr->depth--;
15976 ndr->depth--;
15979 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15981 if (flags & NDR_IN) {
15982 if (r->in.bind_handle == NULL) {
15983 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15985 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15987 if (r->in.req == NULL) {
15988 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15990 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15991 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15993 if (flags & NDR_OUT) {
15994 if (r->out.level_out == NULL) {
15995 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15998 if (r->out.ctr == NULL) {
15999 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16001 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16002 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16003 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16005 return NDR_ERR_SUCCESS;
16008 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
16010 TALLOC_CTX *_mem_save_bind_handle_0;
16011 TALLOC_CTX *_mem_save_req_0;
16012 TALLOC_CTX *_mem_save_level_out_0;
16013 TALLOC_CTX *_mem_save_ctr_0;
16014 if (flags & NDR_IN) {
16015 ZERO_STRUCT(r->out);
16017 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16018 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16020 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16021 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16022 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16024 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16025 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16026 NDR_PULL_ALLOC(ndr, r->in.req);
16028 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16029 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16030 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16031 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16033 NDR_PULL_ALLOC(ndr, r->out.level_out);
16034 ZERO_STRUCTP(r->out.level_out);
16035 NDR_PULL_ALLOC(ndr, r->out.ctr);
16036 ZERO_STRUCTP(r->out.ctr);
16038 if (flags & NDR_OUT) {
16039 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16040 NDR_PULL_ALLOC(ndr, r->out.level_out);
16042 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16043 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16046 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16047 NDR_PULL_ALLOC(ndr, r->out.ctr);
16049 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16050 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16051 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16052 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16053 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16054 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16056 return NDR_ERR_SUCCESS;
16059 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
16061 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
16062 ndr->depth++;
16063 if (flags & NDR_SET_VALUES) {
16064 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16066 if (flags & NDR_IN) {
16067 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
16068 ndr->depth++;
16069 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16070 ndr->depth++;
16071 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16072 ndr->depth--;
16073 ndr_print_uint32(ndr, "level", r->in.level);
16074 ndr_print_ptr(ndr, "req", r->in.req);
16075 ndr->depth++;
16076 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16077 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
16078 ndr->depth--;
16079 ndr->depth--;
16081 if (flags & NDR_OUT) {
16082 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
16083 ndr->depth++;
16084 ndr_print_ptr(ndr, "level_out", r->out.level_out);
16085 ndr->depth++;
16086 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16087 ndr->depth--;
16088 ndr_print_ptr(ndr, "ctr", r->out.ctr);
16089 ndr->depth++;
16090 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16091 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
16092 ndr->depth--;
16093 ndr_print_WERROR(ndr, "result", r->out.result);
16094 ndr->depth--;
16096 ndr->depth--;
16099 static const struct ndr_interface_call drsuapi_calls[] = {
16101 "drsuapi_DsBind",
16102 sizeof(struct drsuapi_DsBind),
16103 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
16104 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
16105 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
16106 false,
16109 "drsuapi_DsUnbind",
16110 sizeof(struct drsuapi_DsUnbind),
16111 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
16112 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
16113 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
16114 false,
16117 "drsuapi_DsReplicaSync",
16118 sizeof(struct drsuapi_DsReplicaSync),
16119 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
16120 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
16121 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
16122 false,
16125 "drsuapi_DsGetNCChanges",
16126 sizeof(struct drsuapi_DsGetNCChanges),
16127 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
16128 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
16129 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
16130 false,
16133 "drsuapi_DsReplicaUpdateRefs",
16134 sizeof(struct drsuapi_DsReplicaUpdateRefs),
16135 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
16136 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
16137 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
16138 false,
16141 "drsuapi_DsReplicaAdd",
16142 sizeof(struct drsuapi_DsReplicaAdd),
16143 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
16144 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
16145 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
16146 false,
16149 "drsuapi_DsReplicaDel",
16150 sizeof(struct drsuapi_DsReplicaDel),
16151 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
16152 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
16153 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
16154 false,
16157 "drsuapi_DsReplicaMod",
16158 sizeof(struct drsuapi_DsReplicaMod),
16159 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
16160 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
16161 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
16162 false,
16165 "DRSUAPI_VERIFY_NAMES",
16166 sizeof(struct DRSUAPI_VERIFY_NAMES),
16167 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
16168 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
16169 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
16170 false,
16173 "drsuapi_DsGetMemberships",
16174 sizeof(struct drsuapi_DsGetMemberships),
16175 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
16176 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
16177 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
16178 false,
16181 "DRSUAPI_INTER_DOMAIN_MOVE",
16182 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
16183 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
16184 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
16185 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
16186 false,
16189 "drsuapi_DsGetNT4ChangeLog",
16190 sizeof(struct drsuapi_DsGetNT4ChangeLog),
16191 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
16192 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
16193 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
16194 false,
16197 "drsuapi_DsCrackNames",
16198 sizeof(struct drsuapi_DsCrackNames),
16199 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
16200 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
16201 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
16202 false,
16205 "drsuapi_DsWriteAccountSpn",
16206 sizeof(struct drsuapi_DsWriteAccountSpn),
16207 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
16208 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
16209 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
16210 false,
16213 "drsuapi_DsRemoveDSServer",
16214 sizeof(struct drsuapi_DsRemoveDSServer),
16215 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
16216 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
16217 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
16218 false,
16221 "DRSUAPI_REMOVE_DS_DOMAIN",
16222 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
16223 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
16224 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
16225 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
16226 false,
16229 "drsuapi_DsGetDomainControllerInfo",
16230 sizeof(struct drsuapi_DsGetDomainControllerInfo),
16231 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
16232 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
16233 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
16234 false,
16237 "drsuapi_DsAddEntry",
16238 sizeof(struct drsuapi_DsAddEntry),
16239 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
16240 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
16241 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
16242 false,
16245 "drsuapi_DsExecuteKCC",
16246 sizeof(struct drsuapi_DsExecuteKCC),
16247 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
16248 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
16249 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
16250 false,
16253 "drsuapi_DsReplicaGetInfo",
16254 sizeof(struct drsuapi_DsReplicaGetInfo),
16255 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
16256 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
16257 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
16258 false,
16261 "DRSUAPI_ADD_SID_HISTORY",
16262 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
16263 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
16264 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
16265 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
16266 false,
16269 "drsuapi_DsGetMemberships2",
16270 sizeof(struct drsuapi_DsGetMemberships2),
16271 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
16272 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
16273 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
16274 false,
16277 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
16278 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
16279 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
16280 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
16281 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
16282 false,
16285 "DRSUAPI_GET_OBJECT_EXISTENCE",
16286 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
16287 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
16288 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
16289 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
16290 false,
16293 "drsuapi_QuerySitesByCost",
16294 sizeof(struct drsuapi_QuerySitesByCost),
16295 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
16296 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
16297 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
16298 false,
16300 { NULL, 0, NULL, NULL, NULL, false }
16303 static const char * const drsuapi_endpoint_strings[] = {
16304 "ncacn_np:[\\pipe\\lsass]",
16305 "ncacn_np:[\\pipe\\protected_storage]",
16306 "ncacn_ip_tcp:",
16307 "ncalrpc:",
16310 static const struct ndr_interface_string_array drsuapi_endpoints = {
16311 .count = 4,
16312 .names = drsuapi_endpoint_strings
16315 static const char * const drsuapi_authservice_strings[] = {
16316 "ldap",
16319 static const struct ndr_interface_string_array drsuapi_authservices = {
16320 .count = 1,
16321 .names = drsuapi_authservice_strings
16325 const struct ndr_interface_table ndr_table_drsuapi = {
16326 .name = "drsuapi",
16327 .syntax_id = {
16328 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
16329 NDR_DRSUAPI_VERSION
16331 .helpstring = NDR_DRSUAPI_HELPSTRING,
16332 .num_calls = 25,
16333 .calls = drsuapi_calls,
16334 .endpoints = &drsuapi_endpoints,
16335 .authservices = &drsuapi_authservices