Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_drsuapi.h"
5 :
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 72810 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
12 : {
13 72810 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
14 72810 : return NDR_ERR_SUCCESS;
15 : }
16 :
17 94088 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18 : {
19 : uint32_t v;
20 94088 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21 94088 : *r = v;
22 94088 : return NDR_ERR_SUCCESS;
23 : }
24 :
25 60 : _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
26 : {
27 60 : ndr_print_uint32(ndr, name, r);
28 60 : ndr->depth++;
29 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
30 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
31 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
32 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
33 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
34 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
35 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
36 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
37 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
38 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
39 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
40 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
41 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
42 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
43 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
44 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
45 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
46 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP, r);
47 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
48 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
49 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
50 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
51 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
52 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
53 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
54 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
55 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
56 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
57 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
58 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
59 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
60 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
61 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
62 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
63 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
64 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
65 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
66 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
67 60 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
68 60 : ndr->depth--;
69 60 : }
70 :
71 6811 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsMoreOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
72 : {
73 6811 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
74 6811 : return NDR_ERR_SUCCESS;
75 : }
76 :
77 6811 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsMoreOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
78 : {
79 : uint32_t v;
80 6811 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
81 6811 : *r = v;
82 6811 : return NDR_ERR_SUCCESS;
83 : }
84 :
85 0 : _PUBLIC_ void ndr_print_drsuapi_DrsMoreOptions(struct ndr_print *ndr, const char *name, uint32_t r)
86 : {
87 0 : ndr_print_uint32(ndr, name, r);
88 0 : ndr->depth++;
89 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_TGT", DRSUAPI_DRS_GET_TGT, r);
90 0 : ndr->depth--;
91 0 : }
92 :
93 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsUpdate(struct ndr_push *ndr, int ndr_flags, uint32_t r)
94 : {
95 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
96 0 : return NDR_ERR_SUCCESS;
97 : }
98 :
99 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsUpdate(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
100 : {
101 : uint32_t v;
102 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
103 0 : *r = v;
104 0 : return NDR_ERR_SUCCESS;
105 : }
106 :
107 0 : _PUBLIC_ void ndr_print_drsuapi_DrsUpdate(struct ndr_print *ndr, const char *name, uint32_t r)
108 : {
109 0 : ndr_print_uint32(ndr, name, r);
110 0 : ndr->depth++;
111 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_FLAGS", DRSUAPI_DRS_UPDATE_FLAGS, r);
112 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_ADDRESS", DRSUAPI_DRS_UPDATE_ADDRESS, r);
113 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_SCHEDULE", DRSUAPI_DRS_UPDATE_SCHEDULE, r);
114 0 : ndr->depth--;
115 0 : }
116 :
117 3541 : static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
118 : {
119 3650 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
120 3541 : return NDR_ERR_SUCCESS;
121 : }
122 :
123 3429 : static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
124 : {
125 : uint32_t v;
126 3524 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
127 3524 : *r = v;
128 3429 : return NDR_ERR_SUCCESS;
129 : }
130 :
131 352 : _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
132 : {
133 352 : ndr_print_uint32(ndr, name, r);
134 352 : ndr->depth++;
135 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
136 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
137 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
138 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
139 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
140 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
141 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
142 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r);
143 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
144 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
145 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
146 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
147 352 : 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);
148 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
149 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
150 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
151 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
152 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
153 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
154 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
155 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r);
156 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
157 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
158 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
159 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
160 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
161 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
162 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
163 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
164 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
165 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
166 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r);
167 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r);
168 352 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r);
169 352 : ndr->depth--;
170 352 : }
171 :
172 9 : static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
173 : {
174 9 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
175 9 : return NDR_ERR_SUCCESS;
176 : }
177 :
178 7 : static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
179 : {
180 : uint32_t v;
181 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
182 7 : *r = v;
183 7 : return NDR_ERR_SUCCESS;
184 : }
185 :
186 0 : _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
187 : {
188 0 : ndr_print_uint32(ndr, name, r);
189 0 : ndr->depth++;
190 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
191 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
192 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r);
193 0 : ndr->depth--;
194 0 : }
195 :
196 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
197 : {
198 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
199 0 : if (ndr_flags & NDR_SCALARS) {
200 0 : NDR_CHECK(ndr_push_align(ndr, 4));
201 0 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
202 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
203 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
204 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
205 : }
206 0 : if (ndr_flags & NDR_BUFFERS) {
207 : }
208 0 : return NDR_ERR_SUCCESS;
209 : }
210 :
211 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
212 : {
213 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
214 0 : if (ndr_flags & NDR_SCALARS) {
215 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
216 0 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
217 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
218 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
219 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
220 : }
221 0 : if (ndr_flags & NDR_BUFFERS) {
222 : }
223 0 : return NDR_ERR_SUCCESS;
224 : }
225 :
226 0 : static void ndr_print_flags_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo24 *r)
227 : {
228 0 : ndr_print_drsuapi_DsBindInfo24(ndr, name, r);
229 0 : }
230 :
231 0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
232 : {
233 0 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
234 0 : if (r == NULL) { ndr_print_null(ndr); return; }
235 0 : ndr->depth++;
236 0 : ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
237 0 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
238 0 : ndr_print_uint32(ndr, "pid", r->pid);
239 0 : ndr->depth--;
240 : }
241 :
242 3641 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
243 : {
244 3641 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
245 3641 : if (ndr_flags & NDR_SCALARS) {
246 3641 : NDR_CHECK(ndr_push_align(ndr, 4));
247 3750 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
248 3641 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
249 3641 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
250 3641 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
251 3641 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
252 : }
253 3532 : if (ndr_flags & NDR_BUFFERS) {
254 : }
255 3641 : return NDR_ERR_SUCCESS;
256 : }
257 :
258 3517 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
259 : {
260 3517 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
261 3517 : if (ndr_flags & NDR_SCALARS) {
262 3517 : NDR_CHECK(ndr_pull_align(ndr, 4));
263 3612 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
264 3517 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
265 3517 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
266 3517 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
267 3517 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
268 : }
269 3422 : if (ndr_flags & NDR_BUFFERS) {
270 : }
271 3517 : return NDR_ERR_SUCCESS;
272 : }
273 :
274 0 : static void ndr_print_flags_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo28 *r)
275 : {
276 0 : ndr_print_drsuapi_DsBindInfo28(ndr, name, r);
277 0 : }
278 :
279 352 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
280 : {
281 352 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
282 352 : if (r == NULL) { ndr_print_null(ndr); return; }
283 352 : ndr->depth++;
284 352 : ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
285 352 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
286 352 : ndr_print_uint32(ndr, "pid", r->pid);
287 352 : ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
288 352 : ndr->depth--;
289 : }
290 :
291 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo32(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo32 *r)
292 : {
293 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
294 0 : if (ndr_flags & NDR_SCALARS) {
295 0 : NDR_CHECK(ndr_push_align(ndr, 4));
296 0 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
297 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
298 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
299 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
300 0 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
301 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
302 : }
303 0 : if (ndr_flags & NDR_BUFFERS) {
304 : }
305 0 : return NDR_ERR_SUCCESS;
306 : }
307 :
308 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo32(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo32 *r)
309 : {
310 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
311 0 : if (ndr_flags & NDR_SCALARS) {
312 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
313 0 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
314 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
315 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
316 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
317 0 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
318 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
319 : }
320 0 : if (ndr_flags & NDR_BUFFERS) {
321 : }
322 0 : return NDR_ERR_SUCCESS;
323 : }
324 :
325 0 : static void ndr_print_flags_drsuapi_DsBindInfo32(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo32 *r)
326 : {
327 0 : ndr_print_drsuapi_DsBindInfo32(ndr, name, r);
328 0 : }
329 :
330 0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo32(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo32 *r)
331 : {
332 0 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfo32");
333 0 : if (r == NULL) { ndr_print_null(ndr); return; }
334 0 : ndr->depth++;
335 0 : ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
336 0 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
337 0 : ndr_print_uint32(ndr, "pid", r->pid);
338 0 : ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
339 0 : ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
340 0 : ndr->depth--;
341 : }
342 :
343 9 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
344 : {
345 9 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
346 9 : if (ndr_flags & NDR_SCALARS) {
347 9 : NDR_CHECK(ndr_push_align(ndr, 4));
348 9 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
349 9 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
350 9 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
351 9 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
352 9 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
353 9 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
354 9 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
355 : }
356 9 : if (ndr_flags & NDR_BUFFERS) {
357 : }
358 9 : return NDR_ERR_SUCCESS;
359 : }
360 :
361 7 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
362 : {
363 7 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
364 7 : if (ndr_flags & NDR_SCALARS) {
365 7 : NDR_CHECK(ndr_pull_align(ndr, 4));
366 7 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
367 7 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
368 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
369 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
370 7 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
371 7 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
372 7 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
373 : }
374 7 : if (ndr_flags & NDR_BUFFERS) {
375 : }
376 7 : return NDR_ERR_SUCCESS;
377 : }
378 :
379 0 : static void ndr_print_flags_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo48 *r)
380 : {
381 0 : ndr_print_drsuapi_DsBindInfo48(ndr, name, r);
382 0 : }
383 :
384 0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
385 : {
386 0 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
387 0 : if (r == NULL) { ndr_print_null(ndr); return; }
388 0 : ndr->depth++;
389 0 : ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
390 0 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
391 0 : ndr_print_uint32(ndr, "pid", r->pid);
392 0 : ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
393 0 : ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
394 0 : ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
395 0 : ndr->depth--;
396 : }
397 :
398 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfo52(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo52 *r)
399 : {
400 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
401 0 : if (ndr_flags & NDR_SCALARS) {
402 0 : NDR_CHECK(ndr_push_align(ndr, 4));
403 0 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
404 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
405 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
406 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
407 0 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
408 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
409 0 : NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_capabilities_ext));
410 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
411 : }
412 0 : if (ndr_flags & NDR_BUFFERS) {
413 : }
414 0 : return NDR_ERR_SUCCESS;
415 : }
416 :
417 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo52(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo52 *r)
418 : {
419 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
420 0 : if (ndr_flags & NDR_SCALARS) {
421 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
422 0 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
423 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
424 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
425 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
426 0 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
427 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
428 0 : NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_capabilities_ext));
429 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
430 : }
431 0 : if (ndr_flags & NDR_BUFFERS) {
432 : }
433 0 : return NDR_ERR_SUCCESS;
434 : }
435 :
436 0 : static void ndr_print_flags_drsuapi_DsBindInfo52(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfo52 *r)
437 : {
438 0 : ndr_print_drsuapi_DsBindInfo52(ndr, name, r);
439 0 : }
440 :
441 0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfo52(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo52 *r)
442 : {
443 0 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfo52");
444 0 : if (r == NULL) { ndr_print_null(ndr); return; }
445 0 : ndr->depth++;
446 0 : ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
447 0 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
448 0 : ndr_print_uint32(ndr, "pid", r->pid);
449 0 : ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
450 0 : ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
451 0 : ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
452 0 : ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_capabilities_ext", r->supported_capabilities_ext);
453 0 : ndr->depth--;
454 : }
455 :
456 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
457 : {
458 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
459 0 : if (ndr_flags & NDR_SCALARS) {
460 0 : NDR_CHECK(ndr_push_align(ndr, 4));
461 : {
462 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
463 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
464 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
465 0 : ndr->flags = _flags_save_DATA_BLOB;
466 : }
467 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
468 : }
469 0 : if (ndr_flags & NDR_BUFFERS) {
470 : }
471 0 : return NDR_ERR_SUCCESS;
472 : }
473 :
474 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
475 : {
476 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
477 0 : if (ndr_flags & NDR_SCALARS) {
478 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
479 : {
480 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
481 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
482 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
483 0 : ndr->flags = _flags_save_DATA_BLOB;
484 : }
485 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
486 : }
487 0 : if (ndr_flags & NDR_BUFFERS) {
488 : }
489 0 : return NDR_ERR_SUCCESS;
490 : }
491 :
492 0 : static void ndr_print_flags_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsBindInfoFallBack *r)
493 : {
494 0 : ndr_print_drsuapi_DsBindInfoFallBack(ndr, name, r);
495 0 : }
496 :
497 0 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
498 : {
499 0 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
500 0 : if (r == NULL) { ndr_print_null(ndr); return; }
501 0 : ndr->depth++;
502 : {
503 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
504 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
505 0 : ndr_print_DATA_BLOB(ndr, "info", r->info);
506 0 : ndr->flags = _flags_save_DATA_BLOB;
507 : }
508 0 : ndr->depth--;
509 : }
510 :
511 3650 : static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
512 : {
513 : {
514 3650 : uint32_t _flags_save_STRUCT = ndr->flags;
515 3650 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
516 3650 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
517 3650 : if (ndr_flags & NDR_SCALARS) {
518 3650 : NDR_CHECK(ndr_push_align(ndr, 5));
519 3650 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
520 3650 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
521 3650 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
522 3650 : NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
523 3650 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
524 : }
525 3541 : if (ndr_flags & NDR_BUFFERS) {
526 : }
527 3650 : ndr->flags = _flags_save_STRUCT;
528 : }
529 3650 : return NDR_ERR_SUCCESS;
530 : }
531 :
532 3524 : static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
533 : {
534 : {
535 3524 : uint32_t _flags_save_STRUCT = ndr->flags;
536 3524 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
537 3524 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
538 3524 : if (ndr_flags & NDR_SCALARS) {
539 3524 : NDR_CHECK(ndr_pull_align(ndr, 5));
540 3524 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
541 3524 : if (r->length < 1 || r->length > 10000) {
542 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
543 : }
544 3524 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_length));
545 3524 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
546 3524 : NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
547 3524 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
548 : }
549 3429 : if (ndr_flags & NDR_BUFFERS) {
550 : }
551 3524 : ndr->flags = _flags_save_STRUCT;
552 : }
553 3524 : return NDR_ERR_SUCCESS;
554 : }
555 :
556 352 : _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
557 : {
558 352 : ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
559 352 : if (r == NULL) { ndr_print_null(ndr); return; }
560 : {
561 352 : uint32_t _flags_save_STRUCT = ndr->flags;
562 352 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
563 352 : ndr->depth++;
564 352 : ndr_print_uint3264(ndr, "length", r->length);
565 352 : ndr_print_uint32(ndr, "__ndr_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->__ndr_length);
566 352 : ndr_print_set_switch_value(ndr, &r->info, r->length);
567 352 : ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
568 352 : ndr->depth--;
569 352 : ndr->flags = _flags_save_STRUCT;
570 : }
571 : }
572 :
573 1519805 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
574 : {
575 1519805 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
576 1519805 : if (ndr_flags & NDR_SCALARS) {
577 1519805 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
578 1519805 : NDR_CHECK(ndr_push_align(ndr, 4));
579 1519805 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4));
580 1519805 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
581 1519805 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
582 1519805 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
583 1519805 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
584 1519805 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
585 1519805 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
586 : }
587 1519805 : if (ndr_flags & NDR_BUFFERS) {
588 1519805 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
589 : }
590 1519803 : return NDR_ERR_SUCCESS;
591 : }
592 :
593 504133 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
594 : {
595 504133 : uint32_t size_dn_0 = 0;
596 504133 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
597 504133 : if (ndr_flags & NDR_SCALARS) {
598 504133 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
599 504133 : NDR_CHECK(ndr_pull_align(ndr, 4));
600 504133 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
601 504133 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
602 504133 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
603 504133 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
604 504133 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
605 504133 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->dn, &size_dn_0));
606 504133 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
607 504133 : if (r->dn) {
608 504133 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
609 : }
610 504133 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
611 : }
612 504133 : if (ndr_flags & NDR_BUFFERS) {
613 504133 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
614 : }
615 504128 : return NDR_ERR_SUCCESS;
616 : }
617 :
618 0 : static void ndr_print_flags_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectIdentifier *r)
619 : {
620 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, name, r);
621 0 : }
622 :
623 14936 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
624 : {
625 14936 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
626 14936 : if (r == NULL) { ndr_print_null(ndr); return; }
627 14936 : ndr->depth++;
628 14936 : ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4:r->__ndr_size);
629 14936 : 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);
630 14936 : ndr_print_GUID(ndr, "guid", &r->guid);
631 14936 : ndr_print_dom_sid28(ndr, "sid", &r->sid);
632 14936 : ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
633 14936 : ndr_print_string(ndr, "dn", r->dn);
634 14936 : ndr->depth--;
635 : }
636 :
637 1519865 : _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, int flags)
638 : {
639 1519865 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier);
640 : }
641 :
642 11000 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
643 : {
644 11000 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
645 11000 : if (ndr_flags & NDR_SCALARS) {
646 5500 : if (r->naming_context == NULL) {
647 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
648 : }
649 5500 : NDR_CHECK(ndr_push_align(ndr, 5));
650 5500 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
651 5500 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
652 5500 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
653 5500 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
654 5500 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
655 : }
656 11000 : if (ndr_flags & NDR_BUFFERS) {
657 5500 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
658 5500 : if (r->source_dsa_dns) {
659 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_dns, CH_DOS)));
660 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
661 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_dns, CH_DOS)));
662 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_dns, ndr_charset_length(r->source_dsa_dns, CH_DOS), sizeof(uint8_t), CH_DOS));
663 : }
664 : }
665 11000 : return NDR_ERR_SUCCESS;
666 : }
667 :
668 11000 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
669 : {
670 : uint32_t _ptr_naming_context;
671 11000 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
672 : uint32_t _ptr_source_dsa_dns;
673 11000 : uint32_t size_source_dsa_dns_1 = 0;
674 11000 : uint32_t length_source_dsa_dns_1 = 0;
675 11000 : TALLOC_CTX *_mem_save_source_dsa_dns_0 = NULL;
676 11000 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
677 11000 : if (ndr_flags & NDR_SCALARS) {
678 5500 : NDR_CHECK(ndr_pull_align(ndr, 5));
679 5500 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
680 5500 : if (_ptr_naming_context) {
681 5500 : NDR_PULL_ALLOC(ndr, r->naming_context);
682 : } else {
683 0 : r->naming_context = NULL;
684 : }
685 5500 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
686 5500 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
687 5500 : if (_ptr_source_dsa_dns) {
688 0 : NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
689 : } else {
690 5500 : r->source_dsa_dns = NULL;
691 : }
692 5500 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
693 5500 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
694 : }
695 11000 : if (ndr_flags & NDR_BUFFERS) {
696 5500 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
697 5500 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
698 5500 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
699 5500 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
700 5500 : if (r->source_dsa_dns) {
701 0 : _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
702 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
703 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_dns));
704 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_dns));
705 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_dns, &size_source_dsa_dns_1));
706 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_dns, &length_source_dsa_dns_1));
707 0 : if (length_source_dsa_dns_1 > size_source_dsa_dns_1) {
708 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_dns_1, length_source_dsa_dns_1);
709 : }
710 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_dns_1, sizeof(uint8_t)));
711 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_dns, length_source_dsa_dns_1, sizeof(uint8_t), CH_DOS));
712 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
713 : }
714 : }
715 11000 : return NDR_ERR_SUCCESS;
716 : }
717 :
718 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
719 : {
720 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
721 0 : if (r == NULL) { ndr_print_null(ndr); return; }
722 0 : ndr->depth++;
723 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
724 0 : ndr->depth++;
725 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
726 0 : ndr->depth--;
727 0 : ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
728 0 : ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
729 0 : ndr->depth++;
730 0 : if (r->source_dsa_dns) {
731 0 : ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
732 : }
733 0 : ndr->depth--;
734 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
735 0 : ndr->depth--;
736 : }
737 :
738 5500 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
739 : {
740 : uint32_t level;
741 5500 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
742 5500 : if (ndr_flags & NDR_SCALARS) {
743 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
744 5500 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
745 5500 : NDR_CHECK(ndr_push_union_align(ndr, 5));
746 5500 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
747 5500 : NDR_CHECK(ndr_push_union_align(ndr, 5));
748 5500 : switch (level) {
749 5500 : case 1: {
750 5500 : NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
751 5500 : break; }
752 :
753 0 : default:
754 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
755 : }
756 0 : }
757 5500 : if (ndr_flags & NDR_BUFFERS) {
758 5500 : if (!(ndr_flags & NDR_SCALARS)) {
759 : /* We didn't get it above, and the token is not needed after this. */
760 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
761 : }
762 5500 : switch (level) {
763 5500 : case 1:
764 5500 : NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
765 5500 : break;
766 :
767 0 : default:
768 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
769 : }
770 0 : }
771 5500 : return NDR_ERR_SUCCESS;
772 : }
773 :
774 5500 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
775 : {
776 : uint32_t level;
777 : uint32_t _level;
778 5500 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
779 5500 : if (ndr_flags & NDR_SCALARS) {
780 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
781 5500 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
782 5500 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
783 5500 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
784 5500 : if (_level != level) {
785 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
786 : }
787 5500 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
788 5500 : switch (level) {
789 5500 : case 1: {
790 5500 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
791 5500 : break; }
792 :
793 0 : default:
794 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
795 : }
796 0 : }
797 5500 : if (ndr_flags & NDR_BUFFERS) {
798 5500 : if (!(ndr_flags & NDR_SCALARS)) {
799 : /* We didn't get it above, and the token is not needed after this. */
800 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
801 : }
802 5500 : switch (level) {
803 5500 : case 1:
804 5500 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
805 5500 : break;
806 :
807 0 : default:
808 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
809 : }
810 0 : }
811 5500 : return NDR_ERR_SUCCESS;
812 : }
813 :
814 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
815 : {
816 : uint32_t level;
817 0 : level = ndr_print_steal_switch_value(ndr, r);
818 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
819 0 : switch (level) {
820 0 : case 1:
821 0 : ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
822 0 : break;
823 :
824 0 : default:
825 0 : ndr_print_bad_level(ndr, name, level);
826 : }
827 0 : }
828 :
829 94813 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
830 : {
831 94813 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
832 94813 : if (ndr_flags & NDR_SCALARS) {
833 94813 : NDR_CHECK(ndr_push_align(ndr, 8));
834 94813 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
835 94813 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
836 94813 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
837 94813 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
838 : }
839 94713 : if (ndr_flags & NDR_BUFFERS) {
840 : }
841 94813 : return NDR_ERR_SUCCESS;
842 : }
843 :
844 101121 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
845 : {
846 101121 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
847 101121 : if (ndr_flags & NDR_SCALARS) {
848 101121 : NDR_CHECK(ndr_pull_align(ndr, 8));
849 101121 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
850 101121 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
851 101121 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
852 101121 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
853 : }
854 101094 : if (ndr_flags & NDR_BUFFERS) {
855 : }
856 101121 : return NDR_ERR_SUCCESS;
857 : }
858 :
859 0 : static void ndr_print_flags_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaHighWaterMark *r)
860 : {
861 0 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, name, r);
862 0 : }
863 :
864 270 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
865 : {
866 270 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
867 270 : if (r == NULL) { ndr_print_null(ndr); return; }
868 270 : ndr->depth++;
869 270 : ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
870 270 : ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
871 270 : ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
872 270 : ndr->depth--;
873 : }
874 :
875 14363 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
876 : {
877 14363 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
878 14363 : if (ndr_flags & NDR_SCALARS) {
879 14363 : NDR_CHECK(ndr_push_align(ndr, 8));
880 14363 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
881 14363 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
882 14363 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
883 : }
884 14363 : if (ndr_flags & NDR_BUFFERS) {
885 : }
886 14363 : return NDR_ERR_SUCCESS;
887 : }
888 :
889 12658 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
890 : {
891 12658 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
892 12658 : if (ndr_flags & NDR_SCALARS) {
893 12658 : NDR_CHECK(ndr_pull_align(ndr, 8));
894 12658 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
895 12658 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
896 12658 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
897 : }
898 12658 : if (ndr_flags & NDR_BUFFERS) {
899 : }
900 12658 : return NDR_ERR_SUCCESS;
901 : }
902 :
903 0 : static void ndr_print_flags_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaCursor *r)
904 : {
905 0 : ndr_print_drsuapi_DsReplicaCursor(ndr, name, r);
906 0 : }
907 :
908 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
909 : {
910 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
911 0 : if (r == NULL) { ndr_print_null(ndr); return; }
912 0 : ndr->depth++;
913 0 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
914 0 : ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
915 0 : ndr->depth--;
916 : }
917 :
918 4971 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
919 : {
920 : uint32_t cntr_cursors_0;
921 4971 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
922 4971 : if (ndr_flags & NDR_SCALARS) {
923 4971 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
924 4971 : NDR_CHECK(ndr_push_align(ndr, 8));
925 4971 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
926 4971 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
927 4971 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
928 4971 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
929 17530 : for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
930 12559 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
931 : }
932 4971 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
933 : }
934 4971 : if (ndr_flags & NDR_BUFFERS) {
935 : }
936 4971 : return NDR_ERR_SUCCESS;
937 : }
938 :
939 4971 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
940 : {
941 4971 : uint32_t size_cursors_0 = 0;
942 : uint32_t cntr_cursors_0;
943 4971 : TALLOC_CTX *_mem_save_cursors_0 = NULL;
944 4971 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
945 4971 : if (ndr_flags & NDR_SCALARS) {
946 4971 : NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
947 4971 : NDR_CHECK(ndr_pull_align(ndr, 8));
948 4971 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
949 4971 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
950 4971 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
951 4971 : if (r->count > 1048576) {
952 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
953 : }
954 4971 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
955 4971 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->cursors, &size_cursors_0));
956 4971 : NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
957 4971 : _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
958 4971 : NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
959 17530 : for (cntr_cursors_0 = 0; cntr_cursors_0 < (size_cursors_0); cntr_cursors_0++) {
960 12559 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
961 : }
962 4971 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
963 4971 : if (r->cursors) {
964 4971 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->cursors, r->count));
965 : }
966 4971 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
967 : }
968 4971 : if (ndr_flags & NDR_BUFFERS) {
969 : }
970 4971 : return NDR_ERR_SUCCESS;
971 : }
972 :
973 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
974 : {
975 : uint32_t cntr_cursors_0;
976 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
977 0 : if (r == NULL) { ndr_print_null(ndr); return; }
978 0 : ndr->depth++;
979 0 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
980 0 : ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
981 0 : ndr_print_uint32(ndr, "count", r->count);
982 0 : ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
983 0 : ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
984 0 : ndr->depth++;
985 0 : for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
986 0 : ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
987 : }
988 0 : ndr->depth--;
989 0 : ndr->depth--;
990 : }
991 :
992 7266 : static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
993 : {
994 : {
995 7266 : uint32_t _flags_save_ENUM = ndr->flags;
996 7266 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
997 7266 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
998 7266 : ndr->flags = _flags_save_ENUM;
999 : }
1000 7266 : return NDR_ERR_SUCCESS;
1001 : }
1002 :
1003 7266 : static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
1004 : {
1005 : uint32_t v;
1006 : {
1007 7266 : uint32_t _flags_save_ENUM = ndr->flags;
1008 7266 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1009 7266 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1010 7266 : *r = v;
1011 7266 : ndr->flags = _flags_save_ENUM;
1012 : }
1013 7266 : return NDR_ERR_SUCCESS;
1014 : }
1015 :
1016 60 : _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
1017 : {
1018 60 : const char *val = NULL;
1019 :
1020 : {
1021 60 : uint32_t _flags_save_ENUM = ndr->flags;
1022 60 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1023 60 : switch (r) {
1024 0 : case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
1025 0 : case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
1026 0 : case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
1027 0 : case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
1028 0 : case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
1029 0 : case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
1030 60 : case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
1031 0 : case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
1032 : }
1033 60 : ndr_print_enum(ndr, name, "ENUM", val, r);
1034 60 : ndr->flags = _flags_save_ENUM;
1035 : }
1036 60 : }
1037 :
1038 14576 : static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
1039 : {
1040 : {
1041 14576 : uint32_t _flags_save_ENUM = ndr->flags;
1042 14576 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1043 14576 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1044 14576 : ndr->flags = _flags_save_ENUM;
1045 : }
1046 14576 : return NDR_ERR_SUCCESS;
1047 : }
1048 :
1049 7267 : static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
1050 : {
1051 : uint32_t v;
1052 : {
1053 7267 : uint32_t _flags_save_ENUM = ndr->flags;
1054 7267 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1055 7267 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1056 7267 : *r = v;
1057 7267 : ndr->flags = _flags_save_ENUM;
1058 : }
1059 7266 : return NDR_ERR_SUCCESS;
1060 : }
1061 :
1062 105 : _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
1063 : {
1064 105 : const char *val = NULL;
1065 :
1066 : {
1067 105 : uint32_t _flags_save_ENUM = ndr->flags;
1068 105 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1069 105 : switch (r) {
1070 44 : case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
1071 60 : case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1072 0 : case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1073 0 : case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1074 0 : case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1075 0 : case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1076 0 : case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1077 0 : case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1078 0 : case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1079 0 : case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1080 0 : case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1081 0 : case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1082 0 : case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1083 0 : case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1084 0 : case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1085 0 : case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1086 0 : case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1087 : }
1088 105 : ndr_print_enum(ndr, name, "ENUM", val, r);
1089 105 : ndr->flags = _flags_save_ENUM;
1090 : }
1091 105 : }
1092 :
1093 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1094 : {
1095 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1096 0 : if (ndr_flags & NDR_SCALARS) {
1097 0 : if (r->naming_context == NULL) {
1098 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1099 : }
1100 0 : NDR_CHECK(ndr_push_align(ndr, 8));
1101 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1102 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1103 0 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
1104 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1105 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1106 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1107 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1108 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1109 0 : NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1110 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1111 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1112 : }
1113 0 : if (ndr_flags & NDR_BUFFERS) {
1114 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1115 0 : if (r->uptodateness_vector) {
1116 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1117 : }
1118 : }
1119 0 : return NDR_ERR_SUCCESS;
1120 : }
1121 :
1122 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1123 : {
1124 : uint32_t _ptr_naming_context;
1125 0 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
1126 : uint32_t _ptr_uptodateness_vector;
1127 0 : TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
1128 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1129 0 : if (ndr_flags & NDR_SCALARS) {
1130 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
1131 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1132 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1133 0 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1134 0 : if (_ptr_naming_context) {
1135 0 : NDR_PULL_ALLOC(ndr, r->naming_context);
1136 : } else {
1137 0 : r->naming_context = NULL;
1138 : }
1139 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1140 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1141 0 : if (_ptr_uptodateness_vector) {
1142 0 : NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1143 : } else {
1144 0 : r->uptodateness_vector = NULL;
1145 : }
1146 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1147 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1148 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1149 0 : NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1150 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1151 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1152 : }
1153 0 : if (ndr_flags & NDR_BUFFERS) {
1154 0 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1155 0 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1156 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1157 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1158 0 : if (r->uptodateness_vector) {
1159 0 : _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1160 0 : NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1161 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1162 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1163 : }
1164 : }
1165 0 : return NDR_ERR_SUCCESS;
1166 : }
1167 :
1168 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1169 : {
1170 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1171 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1172 0 : ndr->depth++;
1173 0 : ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1174 0 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1175 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
1176 0 : ndr->depth++;
1177 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1178 0 : ndr->depth--;
1179 0 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1180 0 : ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1181 0 : ndr->depth++;
1182 0 : if (r->uptodateness_vector) {
1183 0 : ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1184 : }
1185 0 : ndr->depth--;
1186 0 : ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1187 0 : ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1188 0 : ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1189 0 : ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1190 0 : ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1191 0 : ndr->depth--;
1192 : }
1193 :
1194 1316116 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1195 : {
1196 1316116 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1197 1316116 : if (ndr_flags & NDR_SCALARS) {
1198 658058 : NDR_CHECK(ndr_push_align(ndr, 5));
1199 658058 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1200 658058 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1201 658058 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1202 : }
1203 1316116 : if (ndr_flags & NDR_BUFFERS) {
1204 658058 : if (r->binary_oid) {
1205 658058 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1206 658058 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1207 : }
1208 : }
1209 1312124 : return NDR_ERR_SUCCESS;
1210 : }
1211 :
1212 3205550 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1213 : {
1214 : uint32_t _ptr_binary_oid;
1215 3205550 : uint32_t size_binary_oid_1 = 0;
1216 3205550 : TALLOC_CTX *_mem_save_binary_oid_0 = NULL;
1217 3205550 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1218 3205550 : if (ndr_flags & NDR_SCALARS) {
1219 1602775 : NDR_CHECK(ndr_pull_align(ndr, 5));
1220 1602775 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1221 1602775 : if (r->length > 10000) {
1222 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1223 : }
1224 1602775 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1225 1602775 : if (_ptr_binary_oid) {
1226 1602775 : NDR_PULL_ALLOC(ndr, r->binary_oid);
1227 : } else {
1228 0 : r->binary_oid = NULL;
1229 : }
1230 1602775 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1231 : }
1232 3205550 : if (ndr_flags & NDR_BUFFERS) {
1233 1602775 : if (r->binary_oid) {
1234 1602775 : _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1235 1602775 : NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1236 1602775 : NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1237 1602775 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->binary_oid, &size_binary_oid_1));
1238 1602775 : NDR_PULL_ALLOC_N(ndr, r->binary_oid, size_binary_oid_1);
1239 1602775 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, size_binary_oid_1));
1240 1602775 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1241 : }
1242 1602775 : if (r->binary_oid) {
1243 1602775 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->binary_oid, r->length));
1244 : }
1245 : }
1246 3177552 : return NDR_ERR_SUCCESS;
1247 : }
1248 :
1249 1316116 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1250 : {
1251 1316116 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1252 1316116 : if (ndr_flags & NDR_SCALARS) {
1253 658058 : NDR_CHECK(ndr_push_align(ndr, 5));
1254 658058 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1255 658058 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1256 658058 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1257 : }
1258 1316116 : if (ndr_flags & NDR_BUFFERS) {
1259 658058 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1260 : }
1261 1312124 : return NDR_ERR_SUCCESS;
1262 : }
1263 :
1264 3205550 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1265 : {
1266 3205550 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1267 3205550 : if (ndr_flags & NDR_SCALARS) {
1268 1602775 : NDR_CHECK(ndr_pull_align(ndr, 5));
1269 1602775 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1270 1602775 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1271 1602775 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1272 : }
1273 3205550 : if (ndr_flags & NDR_BUFFERS) {
1274 1602775 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1275 : }
1276 3177552 : return NDR_ERR_SUCCESS;
1277 : }
1278 :
1279 4434 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1280 : {
1281 4434 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1282 4434 : if (r == NULL) { ndr_print_null(ndr); return; }
1283 4434 : ndr->depth++;
1284 4434 : ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1285 4434 : ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1286 4434 : ndr->depth--;
1287 : }
1288 :
1289 45722 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1290 : {
1291 : uint32_t cntr_mappings_1;
1292 45722 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1293 45722 : if (ndr_flags & NDR_SCALARS) {
1294 22861 : NDR_CHECK(ndr_push_align(ndr, 5));
1295 22861 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1296 22861 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1297 22861 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1298 : }
1299 45722 : if (ndr_flags & NDR_BUFFERS) {
1300 22861 : if (r->mappings) {
1301 13463 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1302 671466 : for (cntr_mappings_1 = 0; cntr_mappings_1 < (r->num_mappings); cntr_mappings_1++) {
1303 658058 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1304 : }
1305 671466 : for (cntr_mappings_1 = 0; cntr_mappings_1 < (r->num_mappings); cntr_mappings_1++) {
1306 658058 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1307 : }
1308 : }
1309 : }
1310 45612 : return NDR_ERR_SUCCESS;
1311 : }
1312 :
1313 73192 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1314 : {
1315 : uint32_t _ptr_mappings;
1316 73192 : uint32_t size_mappings_1 = 0;
1317 : uint32_t cntr_mappings_1;
1318 73192 : TALLOC_CTX *_mem_save_mappings_0 = NULL;
1319 73192 : TALLOC_CTX *_mem_save_mappings_1 = NULL;
1320 73192 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1321 73192 : if (ndr_flags & NDR_SCALARS) {
1322 36596 : NDR_CHECK(ndr_pull_align(ndr, 5));
1323 36596 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1324 36596 : if (r->num_mappings > 1048576) {
1325 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1326 : }
1327 36596 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1328 36596 : if (_ptr_mappings) {
1329 29635 : NDR_PULL_ALLOC(ndr, r->mappings);
1330 : } else {
1331 6961 : r->mappings = NULL;
1332 : }
1333 36596 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1334 : }
1335 73192 : if (ndr_flags & NDR_BUFFERS) {
1336 36596 : if (r->mappings) {
1337 29635 : _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1338 29635 : NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1339 29635 : NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1340 29635 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->mappings, &size_mappings_1));
1341 29635 : NDR_PULL_ALLOC_N(ndr, r->mappings, size_mappings_1);
1342 29635 : _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1343 29635 : NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1344 1632410 : for (cntr_mappings_1 = 0; cntr_mappings_1 < (size_mappings_1); cntr_mappings_1++) {
1345 1602775 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1346 : }
1347 1632057 : for (cntr_mappings_1 = 0; cntr_mappings_1 < (size_mappings_1); cntr_mappings_1++) {
1348 1602775 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1349 : }
1350 29635 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1351 29635 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1352 : }
1353 36596 : if (r->mappings) {
1354 29635 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1355 : }
1356 438357 : for (cntr_mappings_1 = 0; cntr_mappings_1 < (size_mappings_1); cntr_mappings_1++) {
1357 : }
1358 : }
1359 72484 : return NDR_ERR_SUCCESS;
1360 : }
1361 :
1362 0 : static void ndr_print_flags_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1363 : {
1364 0 : ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, name, r);
1365 0 : }
1366 :
1367 165 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1368 : {
1369 : uint32_t cntr_mappings_1;
1370 165 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1371 165 : if (r == NULL) { ndr_print_null(ndr); return; }
1372 165 : ndr->depth++;
1373 165 : ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1374 165 : ndr_print_ptr(ndr, "mappings", r->mappings);
1375 165 : ndr->depth++;
1376 165 : if (r->mappings) {
1377 104 : ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1378 104 : ndr->depth++;
1379 4538 : for (cntr_mappings_1 = 0; cntr_mappings_1 < (r->num_mappings); cntr_mappings_1++) {
1380 4434 : ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1381 : }
1382 104 : ndr->depth--;
1383 : }
1384 165 : ndr->depth--;
1385 165 : ndr->depth--;
1386 : }
1387 :
1388 35341077 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1389 : {
1390 : {
1391 35341077 : uint32_t _flags_save_ENUM = ndr->flags;
1392 35341077 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1393 35341077 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1394 35341077 : ndr->flags = _flags_save_ENUM;
1395 : }
1396 35341077 : return NDR_ERR_SUCCESS;
1397 : }
1398 :
1399 59789512 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1400 : {
1401 : uint32_t v;
1402 : {
1403 59789512 : uint32_t _flags_save_ENUM = ndr->flags;
1404 59789512 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1405 59789512 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1406 59789512 : *r = v;
1407 59789512 : ndr->flags = _flags_save_ENUM;
1408 : }
1409 59789512 : return NDR_ERR_SUCCESS;
1410 : }
1411 :
1412 229921 : _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1413 : {
1414 229921 : const char *val = NULL;
1415 :
1416 : {
1417 229921 : uint32_t _flags_save_ENUM = ndr->flags;
1418 229921 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1419 229921 : switch (r) {
1420 14894 : case DRSUAPI_ATTID_objectClass: val = "DRSUAPI_ATTID_objectClass"; break;
1421 307 : case DRSUAPI_ATTID_cn: val = "DRSUAPI_ATTID_cn"; break;
1422 0 : case DRSUAPI_ATTID_ou: val = "DRSUAPI_ATTID_ou"; break;
1423 424 : case DRSUAPI_ATTID_description: val = "DRSUAPI_ATTID_description"; break;
1424 104 : case DRSUAPI_ATTID_member: val = "DRSUAPI_ATTID_member"; break;
1425 0 : case DRSUAPI_ATTID_distinguishedName: val = "DRSUAPI_ATTID_distinguishedName"; break;
1426 14888 : case DRSUAPI_ATTID_instanceType: val = "DRSUAPI_ATTID_instanceType"; break;
1427 14888 : case DRSUAPI_ATTID_whenCreated: val = "DRSUAPI_ATTID_whenCreated"; break;
1428 132 : case DRSUAPI_ATTID_possSuperiors: val = "DRSUAPI_ATTID_possSuperiors"; break;
1429 446 : case DRSUAPI_ATTID_displayName: val = "DRSUAPI_ATTID_displayName"; break;
1430 16 : case DRSUAPI_ATTID_hasMasterNCs: val = "DRSUAPI_ATTID_hasMasterNCs"; break;
1431 20 : case DRSUAPI_ATTID_nCName: val = "DRSUAPI_ATTID_nCName"; break;
1432 1056 : case DRSUAPI_ATTID_subClassOf: val = "DRSUAPI_ATTID_subClassOf"; break;
1433 1056 : case DRSUAPI_ATTID_governsID: val = "DRSUAPI_ATTID_governsID"; break;
1434 68 : case DRSUAPI_ATTID_mustContain: val = "DRSUAPI_ATTID_mustContain"; break;
1435 212 : case DRSUAPI_ATTID_mayContain: val = "DRSUAPI_ATTID_mayContain"; break;
1436 1056 : case DRSUAPI_ATTID_rDNAttId: val = "DRSUAPI_ATTID_rDNAttId"; break;
1437 5904 : case DRSUAPI_ATTID_attributeID: val = "DRSUAPI_ATTID_attributeID"; break;
1438 5904 : case DRSUAPI_ATTID_attributeSyntax: val = "DRSUAPI_ATTID_attributeSyntax"; break;
1439 5904 : case DRSUAPI_ATTID_isSingleValued: val = "DRSUAPI_ATTID_isSingleValued"; break;
1440 1228 : case DRSUAPI_ATTID_rangeLower: val = "DRSUAPI_ATTID_rangeLower"; break;
1441 1636 : case DRSUAPI_ATTID_rangeUpper: val = "DRSUAPI_ATTID_rangeUpper"; break;
1442 8 : case DRSUAPI_ATTID_dMDLocation: val = "DRSUAPI_ATTID_dMDLocation"; break;
1443 420 : case DRSUAPI_ATTID_isDeleted: val = "DRSUAPI_ATTID_isDeleted"; break;
1444 12 : case DRSUAPI_ATTID_objectVersion: val = "DRSUAPI_ATTID_objectVersion"; break;
1445 8 : case DRSUAPI_ATTID_invocationId: val = "DRSUAPI_ATTID_invocationId"; break;
1446 14204 : case DRSUAPI_ATTID_showInAdvancedViewOnly: val = "DRSUAPI_ATTID_showInAdvancedViewOnly"; break;
1447 6948 : case DRSUAPI_ATTID_adminDisplayName: val = "DRSUAPI_ATTID_adminDisplayName"; break;
1448 6948 : case DRSUAPI_ATTID_adminDescription: val = "DRSUAPI_ATTID_adminDescription"; break;
1449 5904 : case DRSUAPI_ATTID_oMSyntax: val = "DRSUAPI_ATTID_oMSyntax"; break;
1450 14892 : case DRSUAPI_ATTID_ntSecurityDescriptor: val = "DRSUAPI_ATTID_ntSecurityDescriptor"; break;
1451 5892 : case DRSUAPI_ATTID_searchFlags: val = "DRSUAPI_ATTID_searchFlags"; break;
1452 16 : case DRSUAPI_ATTID_auxiliaryClass: val = "DRSUAPI_ATTID_auxiliaryClass"; break;
1453 6960 : case DRSUAPI_ATTID_lDAPDisplayName: val = "DRSUAPI_ATTID_lDAPDisplayName"; break;
1454 14888 : case DRSUAPI_ATTID_name: val = "DRSUAPI_ATTID_name"; break;
1455 0 : case DRSUAPI_ATTID_objectGUID: val = "DRSUAPI_ATTID_objectGUID"; break;
1456 2 : case DRSUAPI_ATTID_replPropertyMetaData: val = "DRSUAPI_ATTID_replPropertyMetaData"; break;
1457 516 : case DRSUAPI_ATTID_userAccountControl: val = "DRSUAPI_ATTID_userAccountControl"; break;
1458 0 : case DRSUAPI_ATTID_badPwdCount: val = "DRSUAPI_ATTID_badPwdCount"; break;
1459 516 : case DRSUAPI_ATTID_codePage: val = "DRSUAPI_ATTID_codePage"; break;
1460 516 : case DRSUAPI_ATTID_countryCode: val = "DRSUAPI_ATTID_countryCode"; break;
1461 0 : case DRSUAPI_ATTID_currentValue: val = "DRSUAPI_ATTID_currentValue"; break;
1462 0 : case DRSUAPI_ATTID_homeDirectory: val = "DRSUAPI_ATTID_homeDirectory"; break;
1463 0 : case DRSUAPI_ATTID_homeDrive: val = "DRSUAPI_ATTID_homeDrive"; break;
1464 0 : case DRSUAPI_ATTID_lastLogoff: val = "DRSUAPI_ATTID_lastLogoff"; break;
1465 0 : case DRSUAPI_ATTID_lastLogon: val = "DRSUAPI_ATTID_lastLogon"; break;
1466 516 : case DRSUAPI_ATTID_dBCSPwd: val = "DRSUAPI_ATTID_dBCSPwd"; break;
1467 0 : case DRSUAPI_ATTID_scriptPath: val = "DRSUAPI_ATTID_scriptPath"; break;
1468 516 : case DRSUAPI_ATTID_logonHours: val = "DRSUAPI_ATTID_logonHours"; break;
1469 0 : case DRSUAPI_ATTID_userWorkstations: val = "DRSUAPI_ATTID_userWorkstations"; break;
1470 516 : case DRSUAPI_ATTID_unicodePwd: val = "DRSUAPI_ATTID_unicodePwd"; break;
1471 516 : case DRSUAPI_ATTID_ntPwdHistory: val = "DRSUAPI_ATTID_ntPwdHistory"; break;
1472 516 : case DRSUAPI_ATTID_pwdLastSet: val = "DRSUAPI_ATTID_pwdLastSet"; break;
1473 516 : case DRSUAPI_ATTID_primaryGroupID: val = "DRSUAPI_ATTID_primaryGroupID"; break;
1474 0 : case DRSUAPI_ATTID_priorValue: val = "DRSUAPI_ATTID_priorValue"; break;
1475 304 : case DRSUAPI_ATTID_supplementalCredentials: val = "DRSUAPI_ATTID_supplementalCredentials"; break;
1476 0 : case DRSUAPI_ATTID_trustAuthIncoming: val = "DRSUAPI_ATTID_trustAuthIncoming"; break;
1477 0 : case DRSUAPI_ATTID_trustAuthOutgoing: val = "DRSUAPI_ATTID_trustAuthOutgoing"; break;
1478 0 : case DRSUAPI_ATTID_userParameters: val = "DRSUAPI_ATTID_userParameters"; break;
1479 0 : case DRSUAPI_ATTID_profilePath: val = "DRSUAPI_ATTID_profilePath"; break;
1480 106 : case DRSUAPI_ATTID_operatorCount: val = "DRSUAPI_ATTID_operatorCount"; break;
1481 796 : case DRSUAPI_ATTID_objectSid: val = "DRSUAPI_ATTID_objectSid"; break;
1482 6960 : case DRSUAPI_ATTID_schemaIDGUID: val = "DRSUAPI_ATTID_schemaIDGUID"; break;
1483 158 : case DRSUAPI_ATTID_adminCount: val = "DRSUAPI_ATTID_adminCount"; break;
1484 112 : case DRSUAPI_ATTID_comment: val = "DRSUAPI_ATTID_comment"; break;
1485 516 : case DRSUAPI_ATTID_accountExpires: val = "DRSUAPI_ATTID_accountExpires"; break;
1486 516 : case DRSUAPI_ATTID_lmPwdHistory: val = "DRSUAPI_ATTID_lmPwdHistory"; break;
1487 0 : case DRSUAPI_ATTID_logonCount: val = "DRSUAPI_ATTID_logonCount"; break;
1488 848 : case DRSUAPI_ATTID_systemPossSuperiors: val = "DRSUAPI_ATTID_systemPossSuperiors"; break;
1489 680 : case DRSUAPI_ATTID_systemMayContain: val = "DRSUAPI_ATTID_systemMayContain"; break;
1490 368 : case DRSUAPI_ATTID_systemMustContain: val = "DRSUAPI_ATTID_systemMustContain"; break;
1491 28 : case DRSUAPI_ATTID_systemAuxiliaryClass: val = "DRSUAPI_ATTID_systemAuxiliaryClass"; break;
1492 668 : case DRSUAPI_ATTID_sAMAccountName: val = "DRSUAPI_ATTID_sAMAccountName"; break;
1493 668 : case DRSUAPI_ATTID_sAMAccountType: val = "DRSUAPI_ATTID_sAMAccountType"; break;
1494 12 : case DRSUAPI_ATTID_options: val = "DRSUAPI_ATTID_options"; break;
1495 20 : case DRSUAPI_ATTID_fSMORoleOwner: val = "DRSUAPI_ATTID_fSMORoleOwner"; break;
1496 6628 : case DRSUAPI_ATTID_systemFlags: val = "DRSUAPI_ATTID_systemFlags"; break;
1497 6 : case DRSUAPI_ATTID_serverReference: val = "DRSUAPI_ATTID_serverReference"; break;
1498 0 : case DRSUAPI_ATTID_serverReferenceBL: val = "DRSUAPI_ATTID_serverReferenceBL"; break;
1499 0 : case DRSUAPI_ATTID_nonSecurityMember: val = "DRSUAPI_ATTID_nonSecurityMember"; break;
1500 0 : case DRSUAPI_ATTID_initialAuthIncoming: val = "DRSUAPI_ATTID_initialAuthIncoming"; break;
1501 0 : case DRSUAPI_ATTID_initialAuthOutgoing: val = "DRSUAPI_ATTID_initialAuthOutgoing"; break;
1502 8 : case DRSUAPI_ATTID_wellKnownObjects: val = "DRSUAPI_ATTID_wellKnownObjects"; break;
1503 120 : case DRSUAPI_ATTID_dNSHostName: val = "DRSUAPI_ATTID_dNSHostName"; break;
1504 848 : case DRSUAPI_ATTID_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTID_isMemberOfPartialAttributeSet"; break;
1505 0 : case DRSUAPI_ATTID_managedBy: val = "DRSUAPI_ATTID_managedBy"; break;
1506 92 : case DRSUAPI_ATTID_userPrincipalName: val = "DRSUAPI_ATTID_userPrincipalName"; break;
1507 152 : case DRSUAPI_ATTID_groupType: val = "DRSUAPI_ATTID_groupType"; break;
1508 132 : case DRSUAPI_ATTID_servicePrincipalName: val = "DRSUAPI_ATTID_servicePrincipalName"; break;
1509 412 : case DRSUAPI_ATTID_lastKnownParent: val = "DRSUAPI_ATTID_lastKnownParent"; break;
1510 14892 : case DRSUAPI_ATTID_objectCategory: val = "DRSUAPI_ATTID_objectCategory"; break;
1511 8 : case DRSUAPI_ATTID_gPLink: val = "DRSUAPI_ATTID_gPLink"; break;
1512 8 : case DRSUAPI_ATTID_transportAddressAttribute: val = "DRSUAPI_ATTID_transportAddressAttribute"; break;
1513 4 : case DRSUAPI_ATTID_schemaInfo: val = "DRSUAPI_ATTID_schemaInfo"; break;
1514 20 : case DRSUAPI_ATTID_msDS_Behavior_Version: val = "DRSUAPI_ATTID_msDS_Behavior_Version"; break;
1515 0 : case DRSUAPI_ATTID_msDS_KeyVersionNumber: val = "DRSUAPI_ATTID_msDS_KeyVersionNumber"; break;
1516 0 : case DRSUAPI_ATTID_msDS_NonMembers: val = "DRSUAPI_ATTID_msDS_NonMembers"; break;
1517 0 : case DRSUAPI_ATTID_msDS_MembersForAzRole: val = "DRSUAPI_ATTID_msDS_MembersForAzRole"; break;
1518 8 : case DRSUAPI_ATTID_msDS_HasDomainNCs: val = "DRSUAPI_ATTID_msDS_HasDomainNCs"; break;
1519 24 : case DRSUAPI_ATTID_msDS_hasMasterNCs: val = "DRSUAPI_ATTID_msDS_hasMasterNCs"; break;
1520 0 : case DRSUAPI_ATTID_msDS_NeverRevealGroup: val = "DRSUAPI_ATTID_msDS_NeverRevealGroup"; break;
1521 0 : case DRSUAPI_ATTID_msDS_RevealOnDemandGroup: val = "DRSUAPI_ATTID_msDS_RevealOnDemandGroup"; break;
1522 0 : case DRSUAPI_ATTID_msDS_HostServiceAccount: val = "DRSUAPI_ATTID_msDS_HostServiceAccount"; break;
1523 412 : case DRSUAPI_ATTID_isRecycled: val = "DRSUAPI_ATTID_isRecycled"; break;
1524 0 : case DRSUAPI_ATTID_INVALID: val = "DRSUAPI_ATTID_INVALID"; break;
1525 : }
1526 229921 : ndr_print_enum(ndr, name, "ENUM", val, r);
1527 229921 : ndr->flags = _flags_save_ENUM;
1528 : }
1529 229921 : }
1530 :
1531 2920 : static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1532 : {
1533 : uint32_t cntr_attids_0;
1534 2920 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1535 2920 : if (ndr_flags & NDR_SCALARS) {
1536 2920 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1537 2920 : NDR_CHECK(ndr_push_align(ndr, 4));
1538 2920 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1539 2920 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1540 2920 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1541 3779688 : for (cntr_attids_0 = 0; cntr_attids_0 < (r->num_attids); cntr_attids_0++) {
1542 3776768 : NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1543 : }
1544 2920 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1545 : }
1546 2920 : if (ndr_flags & NDR_BUFFERS) {
1547 : }
1548 2920 : return NDR_ERR_SUCCESS;
1549 : }
1550 :
1551 2920 : static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1552 : {
1553 2920 : uint32_t size_attids_0 = 0;
1554 : uint32_t cntr_attids_0;
1555 2920 : TALLOC_CTX *_mem_save_attids_0 = NULL;
1556 2920 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1557 2920 : if (ndr_flags & NDR_SCALARS) {
1558 2920 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1559 2920 : NDR_CHECK(ndr_pull_align(ndr, 4));
1560 2920 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1561 2920 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1562 2920 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1563 2920 : if (r->num_attids < 1 || r->num_attids > 1048576) {
1564 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1565 : }
1566 2920 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attids, &size_attids_0));
1567 2920 : NDR_PULL_ALLOC_N(ndr, r->attids, size_attids_0);
1568 2920 : _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1569 2920 : NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1570 3779688 : for (cntr_attids_0 = 0; cntr_attids_0 < (size_attids_0); cntr_attids_0++) {
1571 3776768 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1572 : }
1573 2920 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1574 2920 : if (r->attids) {
1575 2920 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->attids, r->num_attids));
1576 : }
1577 2920 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1578 : }
1579 2920 : if (ndr_flags & NDR_BUFFERS) {
1580 : }
1581 2920 : return NDR_ERR_SUCCESS;
1582 : }
1583 :
1584 0 : _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1585 : {
1586 : uint32_t cntr_attids_0;
1587 0 : ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1588 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1589 0 : ndr->depth++;
1590 0 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1591 0 : ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1592 0 : ndr_print_uint32(ndr, "num_attids", r->num_attids);
1593 0 : ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1594 0 : ndr->depth++;
1595 0 : for (cntr_attids_0 = 0; cntr_attids_0 < (r->num_attids); cntr_attids_0++) {
1596 0 : ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1597 : }
1598 0 : ndr->depth--;
1599 0 : ndr->depth--;
1600 : }
1601 :
1602 910 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1603 : {
1604 910 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1605 910 : if (ndr_flags & NDR_SCALARS) {
1606 455 : if (r->naming_context == NULL) {
1607 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1608 : }
1609 455 : NDR_CHECK(ndr_push_align(ndr, 8));
1610 455 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1611 455 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1612 455 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
1613 455 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1614 455 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1615 455 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1616 455 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1617 455 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1618 455 : NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1619 455 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1620 455 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1621 455 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1622 455 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1623 455 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1624 : }
1625 910 : if (ndr_flags & NDR_BUFFERS) {
1626 455 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1627 455 : if (r->uptodateness_vector) {
1628 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1629 : }
1630 455 : if (r->partial_attribute_set) {
1631 46 : NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1632 : }
1633 455 : if (r->partial_attribute_set_ex) {
1634 2 : NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1635 : }
1636 455 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1637 : }
1638 910 : return NDR_ERR_SUCCESS;
1639 : }
1640 :
1641 910 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1642 : {
1643 : uint32_t _ptr_naming_context;
1644 910 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
1645 : uint32_t _ptr_uptodateness_vector;
1646 910 : TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
1647 : uint32_t _ptr_partial_attribute_set;
1648 910 : TALLOC_CTX *_mem_save_partial_attribute_set_0 = NULL;
1649 : uint32_t _ptr_partial_attribute_set_ex;
1650 910 : TALLOC_CTX *_mem_save_partial_attribute_set_ex_0 = NULL;
1651 910 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1652 910 : if (ndr_flags & NDR_SCALARS) {
1653 455 : NDR_CHECK(ndr_pull_align(ndr, 8));
1654 455 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1655 455 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1656 455 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1657 455 : if (_ptr_naming_context) {
1658 455 : NDR_PULL_ALLOC(ndr, r->naming_context);
1659 : } else {
1660 0 : r->naming_context = NULL;
1661 : }
1662 455 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1663 455 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1664 455 : if (_ptr_uptodateness_vector) {
1665 0 : NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1666 : } else {
1667 455 : r->uptodateness_vector = NULL;
1668 : }
1669 455 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1670 455 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1671 455 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1672 455 : NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1673 455 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1674 455 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1675 455 : if (_ptr_partial_attribute_set) {
1676 46 : NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1677 : } else {
1678 409 : r->partial_attribute_set = NULL;
1679 : }
1680 455 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1681 455 : if (_ptr_partial_attribute_set_ex) {
1682 2 : NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1683 : } else {
1684 453 : r->partial_attribute_set_ex = NULL;
1685 : }
1686 455 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1687 455 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1688 : }
1689 910 : if (ndr_flags & NDR_BUFFERS) {
1690 455 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1691 455 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1692 455 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1693 455 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1694 455 : if (r->uptodateness_vector) {
1695 0 : _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1696 0 : NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1697 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1698 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1699 : }
1700 455 : if (r->partial_attribute_set) {
1701 46 : _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1702 46 : NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1703 46 : NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1704 46 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1705 : }
1706 455 : if (r->partial_attribute_set_ex) {
1707 2 : _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1708 2 : NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1709 2 : NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1710 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1711 : }
1712 455 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1713 : }
1714 910 : return NDR_ERR_SUCCESS;
1715 : }
1716 :
1717 0 : static void ndr_print_flags_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesRequest8 *r)
1718 : {
1719 0 : ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, name, r);
1720 0 : }
1721 :
1722 60 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1723 : {
1724 60 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1725 60 : if (r == NULL) { ndr_print_null(ndr); return; }
1726 60 : ndr->depth++;
1727 60 : ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1728 60 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1729 60 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
1730 60 : ndr->depth++;
1731 60 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1732 60 : ndr->depth--;
1733 60 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1734 60 : ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1735 60 : ndr->depth++;
1736 60 : if (r->uptodateness_vector) {
1737 0 : ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1738 : }
1739 60 : ndr->depth--;
1740 60 : ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1741 60 : ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1742 60 : ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1743 60 : ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1744 60 : ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1745 60 : ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1746 60 : ndr->depth++;
1747 60 : if (r->partial_attribute_set) {
1748 0 : ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1749 : }
1750 60 : ndr->depth--;
1751 60 : ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1752 60 : ndr->depth++;
1753 60 : if (r->partial_attribute_set_ex) {
1754 0 : ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1755 : }
1756 60 : ndr->depth--;
1757 60 : ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1758 60 : ndr->depth--;
1759 : }
1760 :
1761 13622 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1762 : {
1763 13622 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1764 13622 : if (ndr_flags & NDR_SCALARS) {
1765 6811 : if (r->naming_context == NULL) {
1766 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1767 : }
1768 6811 : NDR_CHECK(ndr_push_align(ndr, 8));
1769 6811 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1770 6811 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1771 6811 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
1772 6811 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1773 6811 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1774 6811 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1775 6811 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1776 6811 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1777 6811 : NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1778 6811 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1779 6811 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1780 6811 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1781 6811 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1782 6811 : NDR_CHECK(ndr_push_drsuapi_DrsMoreOptions(ndr, NDR_SCALARS, r->more_flags));
1783 6811 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1784 : }
1785 13622 : if (ndr_flags & NDR_BUFFERS) {
1786 6811 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1787 6811 : if (r->uptodateness_vector) {
1788 4971 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1789 : }
1790 6811 : if (r->partial_attribute_set) {
1791 2872 : NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1792 : }
1793 6811 : if (r->partial_attribute_set_ex) {
1794 0 : NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1795 : }
1796 6811 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1797 : }
1798 13622 : return NDR_ERR_SUCCESS;
1799 : }
1800 :
1801 13622 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1802 : {
1803 : uint32_t _ptr_naming_context;
1804 13622 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
1805 : uint32_t _ptr_uptodateness_vector;
1806 13622 : TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
1807 : uint32_t _ptr_partial_attribute_set;
1808 13622 : TALLOC_CTX *_mem_save_partial_attribute_set_0 = NULL;
1809 : uint32_t _ptr_partial_attribute_set_ex;
1810 13622 : TALLOC_CTX *_mem_save_partial_attribute_set_ex_0 = NULL;
1811 13622 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1812 13622 : if (ndr_flags & NDR_SCALARS) {
1813 6811 : NDR_CHECK(ndr_pull_align(ndr, 8));
1814 6811 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1815 6811 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1816 6811 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1817 6811 : if (_ptr_naming_context) {
1818 6811 : NDR_PULL_ALLOC(ndr, r->naming_context);
1819 : } else {
1820 0 : r->naming_context = NULL;
1821 : }
1822 6811 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1823 6811 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1824 6811 : if (_ptr_uptodateness_vector) {
1825 4971 : NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1826 : } else {
1827 1840 : r->uptodateness_vector = NULL;
1828 : }
1829 6811 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1830 6811 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1831 6811 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1832 6811 : NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1833 6811 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1834 6811 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1835 6811 : if (_ptr_partial_attribute_set) {
1836 2872 : NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1837 : } else {
1838 3939 : r->partial_attribute_set = NULL;
1839 : }
1840 6811 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1841 6811 : if (_ptr_partial_attribute_set_ex) {
1842 0 : NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1843 : } else {
1844 6811 : r->partial_attribute_set_ex = NULL;
1845 : }
1846 6811 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1847 6811 : NDR_CHECK(ndr_pull_drsuapi_DrsMoreOptions(ndr, NDR_SCALARS, &r->more_flags));
1848 6811 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1849 : }
1850 13622 : if (ndr_flags & NDR_BUFFERS) {
1851 6811 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1852 6811 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1853 6811 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1854 6811 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1855 6811 : if (r->uptodateness_vector) {
1856 4971 : _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1857 4971 : NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1858 4971 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1859 4971 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1860 : }
1861 6811 : if (r->partial_attribute_set) {
1862 2872 : _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1863 2872 : NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1864 2872 : NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1865 2872 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1866 : }
1867 6811 : if (r->partial_attribute_set_ex) {
1868 0 : _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1869 0 : NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1870 0 : NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1871 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1872 : }
1873 6811 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1874 : }
1875 13622 : return NDR_ERR_SUCCESS;
1876 : }
1877 :
1878 0 : static void ndr_print_flags_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesRequest10 *r)
1879 : {
1880 0 : ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, name, r);
1881 0 : }
1882 :
1883 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1884 : {
1885 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1886 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1887 0 : ndr->depth++;
1888 0 : ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1889 0 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1890 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
1891 0 : ndr->depth++;
1892 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1893 0 : ndr->depth--;
1894 0 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1895 0 : ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1896 0 : ndr->depth++;
1897 0 : if (r->uptodateness_vector) {
1898 0 : ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1899 : }
1900 0 : ndr->depth--;
1901 0 : ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1902 0 : ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1903 0 : ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1904 0 : ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1905 0 : ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1906 0 : ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1907 0 : ndr->depth++;
1908 0 : if (r->partial_attribute_set) {
1909 0 : ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1910 : }
1911 0 : ndr->depth--;
1912 0 : ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1913 0 : ndr->depth++;
1914 0 : if (r->partial_attribute_set_ex) {
1915 0 : ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1916 : }
1917 0 : ndr->depth--;
1918 0 : ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1919 0 : ndr_print_drsuapi_DrsMoreOptions(ndr, "more_flags", r->more_flags);
1920 0 : ndr->depth--;
1921 : }
1922 :
1923 7266 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1924 : {
1925 : uint32_t level;
1926 7266 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1927 7266 : if (ndr_flags & NDR_SCALARS) {
1928 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1929 7266 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1930 7266 : NDR_CHECK(ndr_push_union_align(ndr, 8));
1931 7266 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
1932 7266 : NDR_CHECK(ndr_push_union_align(ndr, 8));
1933 7266 : switch (level) {
1934 0 : case 5: {
1935 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1936 0 : break; }
1937 :
1938 455 : case 8: {
1939 455 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1940 455 : break; }
1941 :
1942 6811 : case 10: {
1943 6811 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1944 6811 : break; }
1945 :
1946 0 : default:
1947 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1948 : }
1949 0 : }
1950 7266 : if (ndr_flags & NDR_BUFFERS) {
1951 7266 : if (!(ndr_flags & NDR_SCALARS)) {
1952 : /* We didn't get it above, and the token is not needed after this. */
1953 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1954 : }
1955 7266 : switch (level) {
1956 0 : case 5:
1957 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1958 0 : break;
1959 :
1960 455 : case 8:
1961 455 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1962 455 : break;
1963 :
1964 6811 : case 10:
1965 6811 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1966 6811 : break;
1967 :
1968 0 : default:
1969 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1970 : }
1971 0 : }
1972 7266 : return NDR_ERR_SUCCESS;
1973 : }
1974 :
1975 7266 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1976 : {
1977 : uint32_t level;
1978 : uint32_t _level;
1979 7266 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1980 7266 : if (ndr_flags & NDR_SCALARS) {
1981 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1982 7266 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1983 7266 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
1984 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1985 7266 : if (_level != level) {
1986 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1987 : }
1988 7266 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
1989 7266 : switch (level) {
1990 0 : case 5: {
1991 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1992 0 : break; }
1993 :
1994 455 : case 8: {
1995 455 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1996 455 : break; }
1997 :
1998 6811 : case 10: {
1999 6811 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
2000 6811 : break; }
2001 :
2002 0 : default:
2003 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2004 : }
2005 0 : }
2006 7266 : if (ndr_flags & NDR_BUFFERS) {
2007 7266 : if (!(ndr_flags & NDR_SCALARS)) {
2008 : /* We didn't get it above, and the token is not needed after this. */
2009 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
2010 : }
2011 7266 : switch (level) {
2012 0 : case 5:
2013 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
2014 0 : break;
2015 :
2016 455 : case 8:
2017 455 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
2018 455 : break;
2019 :
2020 6811 : case 10:
2021 6811 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
2022 6811 : break;
2023 :
2024 0 : default:
2025 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2026 : }
2027 0 : }
2028 7266 : return NDR_ERR_SUCCESS;
2029 : }
2030 :
2031 60 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
2032 : {
2033 : uint32_t level;
2034 60 : level = ndr_print_steal_switch_value(ndr, r);
2035 60 : ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
2036 60 : switch (level) {
2037 0 : case 5:
2038 0 : ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
2039 0 : break;
2040 :
2041 60 : case 8:
2042 60 : ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
2043 60 : break;
2044 :
2045 0 : case 10:
2046 0 : ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
2047 0 : break;
2048 :
2049 0 : default:
2050 0 : ndr_print_bad_level(ndr, name, level);
2051 : }
2052 60 : }
2053 :
2054 14534 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
2055 : {
2056 14534 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2057 14534 : if (ndr_flags & NDR_SCALARS) {
2058 14534 : NDR_CHECK(ndr_push_align(ndr, 8));
2059 14534 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2060 14534 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
2061 14534 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
2062 14534 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2063 : }
2064 14534 : if (ndr_flags & NDR_BUFFERS) {
2065 : }
2066 14534 : return NDR_ERR_SUCCESS;
2067 : }
2068 :
2069 23678 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
2070 : {
2071 23678 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2072 23678 : if (ndr_flags & NDR_SCALARS) {
2073 23678 : NDR_CHECK(ndr_pull_align(ndr, 8));
2074 23678 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2075 23678 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
2076 23678 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
2077 23678 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2078 : }
2079 23678 : if (ndr_flags & NDR_BUFFERS) {
2080 : }
2081 23678 : return NDR_ERR_SUCCESS;
2082 : }
2083 :
2084 0 : static void ndr_print_flags_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaCursor2 *r)
2085 : {
2086 0 : ndr_print_drsuapi_DsReplicaCursor2(ndr, name, r);
2087 0 : }
2088 :
2089 12 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
2090 : {
2091 12 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
2092 12 : if (r == NULL) { ndr_print_null(ndr); return; }
2093 12 : ndr->depth++;
2094 12 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2095 12 : ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
2096 12 : ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
2097 12 : ndr->depth--;
2098 : }
2099 :
2100 5914 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2101 : {
2102 : uint32_t cntr_cursors_0;
2103 5914 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2104 5914 : if (ndr_flags & NDR_SCALARS) {
2105 5914 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2106 5914 : NDR_CHECK(ndr_push_align(ndr, 8));
2107 5914 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
2108 5914 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2109 5914 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2110 5914 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2111 16510 : for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
2112 10596 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2113 : }
2114 5914 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2115 : }
2116 5914 : if (ndr_flags & NDR_BUFFERS) {
2117 : }
2118 5914 : return NDR_ERR_SUCCESS;
2119 : }
2120 :
2121 2951 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
2122 : {
2123 2951 : uint32_t size_cursors_0 = 0;
2124 : uint32_t cntr_cursors_0;
2125 2951 : TALLOC_CTX *_mem_save_cursors_0 = NULL;
2126 2951 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2127 2951 : if (ndr_flags & NDR_SCALARS) {
2128 2951 : NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
2129 2951 : NDR_CHECK(ndr_pull_align(ndr, 8));
2130 2951 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2131 2951 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
2132 2951 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2133 2951 : if (r->count > 1048576) {
2134 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2135 : }
2136 2951 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
2137 2951 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->cursors, &size_cursors_0));
2138 2951 : NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
2139 2951 : _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
2140 2951 : NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
2141 8243 : for (cntr_cursors_0 = 0; cntr_cursors_0 < (size_cursors_0); cntr_cursors_0++) {
2142 5292 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2143 : }
2144 2951 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2145 2951 : if (r->cursors) {
2146 2951 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->cursors, r->count));
2147 : }
2148 2951 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2149 : }
2150 2951 : if (ndr_flags & NDR_BUFFERS) {
2151 : }
2152 2951 : return NDR_ERR_SUCCESS;
2153 : }
2154 :
2155 12 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2156 : {
2157 : uint32_t cntr_cursors_0;
2158 12 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2159 12 : if (r == NULL) { ndr_print_null(ndr); return; }
2160 12 : ndr->depth++;
2161 12 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2162 12 : ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2163 12 : ndr_print_uint32(ndr, "count", r->count);
2164 12 : ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2165 12 : ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2166 12 : ndr->depth++;
2167 24 : for (cntr_cursors_0 = 0; cntr_cursors_0 < (r->count); cntr_cursors_0++) {
2168 12 : ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2169 : }
2170 12 : ndr->depth--;
2171 12 : ndr->depth--;
2172 : }
2173 :
2174 32034962 : static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2175 : {
2176 32034962 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2177 32034962 : if (ndr_flags & NDR_SCALARS) {
2178 16017481 : NDR_CHECK(ndr_push_align(ndr, 5));
2179 16017481 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2180 16017481 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2181 16017481 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2182 : }
2183 32034962 : if (ndr_flags & NDR_BUFFERS) {
2184 16017481 : if (r->blob) {
2185 16017480 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2186 : }
2187 : }
2188 32034930 : return NDR_ERR_SUCCESS;
2189 : }
2190 :
2191 15729534 : static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2192 : {
2193 : uint32_t _ptr_blob;
2194 15729534 : TALLOC_CTX *_mem_save_blob_0 = NULL;
2195 15729534 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2196 15729534 : if (ndr_flags & NDR_SCALARS) {
2197 7864767 : NDR_CHECK(ndr_pull_align(ndr, 5));
2198 7864767 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2199 7864767 : if (r->__ndr_size > 26214400) {
2200 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2201 : }
2202 7864767 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2203 7864767 : if (_ptr_blob) {
2204 7864764 : NDR_PULL_ALLOC(ndr, r->blob);
2205 : } else {
2206 3 : r->blob = NULL;
2207 : }
2208 7864767 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2209 : }
2210 15729534 : if (ndr_flags & NDR_BUFFERS) {
2211 7864767 : if (r->blob) {
2212 7864764 : _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2213 7864764 : NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2214 7864764 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2215 7864764 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2216 : }
2217 : }
2218 15729408 : return NDR_ERR_SUCCESS;
2219 : }
2220 :
2221 198466 : _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2222 : {
2223 198466 : ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2224 198466 : if (r == NULL) { ndr_print_null(ndr); return; }
2225 198466 : ndr->depth++;
2226 198466 : ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2227 198466 : ndr_print_ptr(ndr, "blob", r->blob);
2228 198466 : ndr->depth++;
2229 198466 : if (r->blob) {
2230 198466 : ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2231 : }
2232 198466 : ndr->depth--;
2233 198466 : ndr->depth--;
2234 : }
2235 :
2236 26774334 : static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2237 : {
2238 : uint32_t cntr_values_1;
2239 26774334 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2240 26774334 : if (ndr_flags & NDR_SCALARS) {
2241 13387167 : NDR_CHECK(ndr_push_align(ndr, 5));
2242 13387167 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2243 13387167 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2244 13387167 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2245 : }
2246 26774334 : if (ndr_flags & NDR_BUFFERS) {
2247 13387167 : if (r->values) {
2248 12163963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2249 28149614 : for (cntr_values_1 = 0; cntr_values_1 < (r->num_values); cntr_values_1++) {
2250 15985663 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2251 : }
2252 28149614 : for (cntr_values_1 = 0; cntr_values_1 < (r->num_values); cntr_values_1++) {
2253 15985663 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2254 : }
2255 : }
2256 : }
2257 26774310 : return NDR_ERR_SUCCESS;
2258 : }
2259 :
2260 13166738 : static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2261 : {
2262 : uint32_t _ptr_values;
2263 13166738 : uint32_t size_values_1 = 0;
2264 : uint32_t cntr_values_1;
2265 13166738 : TALLOC_CTX *_mem_save_values_0 = NULL;
2266 13166738 : TALLOC_CTX *_mem_save_values_1 = NULL;
2267 13166738 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2268 13166738 : if (ndr_flags & NDR_SCALARS) {
2269 6583369 : NDR_CHECK(ndr_pull_align(ndr, 5));
2270 6583369 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2271 6583369 : if (r->num_values > 10485760) {
2272 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2273 : }
2274 6583369 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2275 6583369 : if (_ptr_values) {
2276 5973042 : NDR_PULL_ALLOC(ndr, r->values);
2277 : } else {
2278 610327 : r->values = NULL;
2279 : }
2280 6583369 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2281 : }
2282 13166738 : if (ndr_flags & NDR_BUFFERS) {
2283 6583369 : if (r->values) {
2284 5973042 : _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2285 5973042 : NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2286 5973042 : NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2287 5973042 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->values, &size_values_1));
2288 5973042 : NDR_PULL_ALLOC_N(ndr, r->values, size_values_1);
2289 5973042 : _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2290 5973042 : NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2291 13821991 : for (cntr_values_1 = 0; cntr_values_1 < (size_values_1); cntr_values_1++) {
2292 7848949 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2293 : }
2294 13821944 : for (cntr_values_1 = 0; cntr_values_1 < (size_values_1); cntr_values_1++) {
2295 7848949 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2296 : }
2297 5973042 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2298 5973042 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2299 : }
2300 6583369 : if (r->values) {
2301 5973042 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2302 : }
2303 6934631 : for (cntr_values_1 = 0; cntr_values_1 < (size_values_1); cntr_values_1++) {
2304 : }
2305 : }
2306 13166644 : return NDR_ERR_SUCCESS;
2307 : }
2308 :
2309 0 : _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2310 : {
2311 : uint32_t cntr_values_1;
2312 0 : ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2313 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2314 0 : ndr->depth++;
2315 0 : ndr_print_uint32(ndr, "num_values", r->num_values);
2316 0 : ndr_print_ptr(ndr, "values", r->values);
2317 0 : ndr->depth++;
2318 0 : if (r->values) {
2319 0 : ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2320 0 : ndr->depth++;
2321 0 : for (cntr_values_1 = 0; cntr_values_1 < (r->num_values); cntr_values_1++) {
2322 0 : ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2323 : }
2324 0 : ndr->depth--;
2325 : }
2326 0 : ndr->depth--;
2327 0 : ndr->depth--;
2328 : }
2329 :
2330 1013204 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2331 : {
2332 1013204 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2333 1013204 : if (ndr_flags & NDR_SCALARS) {
2334 1013204 : NDR_CHECK(ndr_push_align(ndr, 4));
2335 1013204 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags)));
2336 1013204 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2337 1013204 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2338 1013204 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2339 1013204 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2340 1013204 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2341 1013204 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2342 : }
2343 1013204 : if (ndr_flags & NDR_BUFFERS) {
2344 1013204 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2345 : }
2346 1013197 : return NDR_ERR_SUCCESS;
2347 : }
2348 :
2349 646194 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2350 : {
2351 646194 : uint32_t size_dn_0 = 0;
2352 646194 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2353 646194 : if (ndr_flags & NDR_SCALARS) {
2354 646194 : NDR_CHECK(ndr_pull_align(ndr, 4));
2355 646194 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2356 646194 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2357 646194 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2358 646194 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2359 646194 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2360 646194 : size_dn_0 = r->__ndr_size_dn + 1;
2361 646194 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
2362 646194 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2363 : }
2364 646194 : if (ndr_flags & NDR_BUFFERS) {
2365 646194 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2366 : }
2367 646192 : return NDR_ERR_SUCCESS;
2368 : }
2369 :
2370 0 : static void ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2371 : {
2372 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier3(ndr, name, r);
2373 0 : }
2374 :
2375 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2376 : {
2377 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2378 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2379 0 : ndr->depth++;
2380 0 : ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags):r->__ndr_size);
2381 0 : 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);
2382 0 : ndr_print_GUID(ndr, "guid", &r->guid);
2383 0 : ndr_print_dom_sid28(ndr, "sid", &r->sid);
2384 0 : ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2385 0 : ndr_print_string(ndr, "dn", r->dn);
2386 0 : ndr->depth--;
2387 : }
2388 :
2389 1013204 : _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, int flags)
2390 : {
2391 1013204 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3);
2392 : }
2393 :
2394 3858 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2395 : {
2396 3858 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2397 3858 : if (ndr_flags & NDR_SCALARS) {
2398 3858 : NDR_CHECK(ndr_push_align(ndr, 4));
2399 3858 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags)));
2400 3858 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2401 3858 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2402 3858 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2403 3858 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2404 3858 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2405 3858 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2406 : {
2407 3858 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2408 3858 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2409 3858 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2410 3858 : ndr->flags = _flags_save_DATA_BLOB;
2411 : }
2412 3858 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2413 : }
2414 3858 : if (ndr_flags & NDR_BUFFERS) {
2415 3858 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2416 : }
2417 3855 : return NDR_ERR_SUCCESS;
2418 : }
2419 :
2420 5886 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2421 : {
2422 5886 : uint32_t size_dn_0 = 0;
2423 5886 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2424 5886 : if (ndr_flags & NDR_SCALARS) {
2425 5886 : NDR_CHECK(ndr_pull_align(ndr, 4));
2426 5886 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2427 5886 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2428 5886 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2429 5886 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2430 5886 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2431 5886 : size_dn_0 = r->__ndr_size_dn + 1;
2432 5886 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
2433 5886 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2434 : {
2435 5886 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2436 5886 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2437 5886 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2438 5886 : ndr->flags = _flags_save_DATA_BLOB;
2439 : }
2440 5886 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2441 : }
2442 5886 : if (ndr_flags & NDR_BUFFERS) {
2443 5886 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2444 : }
2445 5883 : return NDR_ERR_SUCCESS;
2446 : }
2447 :
2448 0 : static void ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2449 : {
2450 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(ndr, name, r);
2451 0 : }
2452 :
2453 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2454 : {
2455 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2456 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2457 0 : ndr->depth++;
2458 0 : ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags):r->__ndr_size);
2459 0 : 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);
2460 0 : ndr_print_GUID(ndr, "guid", &r->guid);
2461 0 : ndr_print_dom_sid28(ndr, "sid", &r->sid);
2462 0 : ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2463 0 : ndr_print_string(ndr, "dn", r->dn);
2464 0 : ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2465 : {
2466 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2467 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2468 0 : ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2469 0 : ndr->flags = _flags_save_DATA_BLOB;
2470 : }
2471 0 : ndr->depth--;
2472 : }
2473 :
2474 26774333 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2475 : {
2476 26774333 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2477 26774333 : if (ndr_flags & NDR_SCALARS) {
2478 13387167 : NDR_CHECK(ndr_push_align(ndr, 5));
2479 13387167 : NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2480 13387167 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2481 13387167 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2482 : }
2483 26774333 : if (ndr_flags & NDR_BUFFERS) {
2484 13387167 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2485 : }
2486 26774310 : return NDR_ERR_SUCCESS;
2487 : }
2488 :
2489 13166736 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2490 : {
2491 13166736 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2492 13166736 : if (ndr_flags & NDR_SCALARS) {
2493 6583369 : NDR_CHECK(ndr_pull_align(ndr, 5));
2494 6583369 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2495 6583369 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2496 6583369 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2497 : }
2498 13166736 : if (ndr_flags & NDR_BUFFERS) {
2499 6583369 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2500 : }
2501 13166644 : return NDR_ERR_SUCCESS;
2502 : }
2503 :
2504 2 : static void ndr_print_flags_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaAttribute *r)
2505 : {
2506 2 : ndr_print_drsuapi_DsReplicaAttribute(ndr, name, r);
2507 2 : }
2508 :
2509 1904032 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2510 : {
2511 : uint32_t cntr_attributes_1;
2512 1904032 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2513 1904032 : if (ndr_flags & NDR_SCALARS) {
2514 952016 : NDR_CHECK(ndr_push_align(ndr, 5));
2515 952016 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2516 952016 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2517 952016 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2518 : }
2519 1904032 : if (ndr_flags & NDR_BUFFERS) {
2520 952016 : if (r->attributes) {
2521 952016 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2522 14339181 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->num_attributes); cntr_attributes_1++) {
2523 13387166 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2524 : }
2525 14339181 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->num_attributes); cntr_attributes_1++) {
2526 13387166 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2527 : }
2528 : }
2529 : }
2530 1904030 : return NDR_ERR_SUCCESS;
2531 : }
2532 :
2533 937564 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2534 : {
2535 : uint32_t _ptr_attributes;
2536 937564 : uint32_t size_attributes_1 = 0;
2537 : uint32_t cntr_attributes_1;
2538 937564 : TALLOC_CTX *_mem_save_attributes_0 = NULL;
2539 937564 : TALLOC_CTX *_mem_save_attributes_1 = NULL;
2540 937564 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2541 937564 : if (ndr_flags & NDR_SCALARS) {
2542 468782 : NDR_CHECK(ndr_pull_align(ndr, 5));
2543 468782 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2544 468782 : if (r->num_attributes > 1048576) {
2545 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2546 : }
2547 468782 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2548 468782 : if (_ptr_attributes) {
2549 468781 : NDR_PULL_ALLOC(ndr, r->attributes);
2550 : } else {
2551 1 : r->attributes = NULL;
2552 : }
2553 468782 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2554 : }
2555 937564 : if (ndr_flags & NDR_BUFFERS) {
2556 468782 : if (r->attributes) {
2557 468781 : _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2558 468781 : NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2559 468781 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2560 468781 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attributes, &size_attributes_1));
2561 468781 : NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
2562 468781 : _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2563 468781 : NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2564 7052148 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
2565 6583367 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2566 : }
2567 7052143 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
2568 6583367 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2569 : }
2570 468781 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2571 468781 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2572 : }
2573 468782 : if (r->attributes) {
2574 468781 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2575 : }
2576 757555 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
2577 : }
2578 : }
2579 937552 : return NDR_ERR_SUCCESS;
2580 : }
2581 :
2582 14592 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2583 : {
2584 : uint32_t cntr_attributes_1;
2585 14592 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2586 14592 : if (r == NULL) { ndr_print_null(ndr); return; }
2587 14592 : ndr->depth++;
2588 14592 : ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2589 14592 : ndr_print_ptr(ndr, "attributes", r->attributes);
2590 14592 : ndr->depth++;
2591 14592 : if (r->attributes) {
2592 14591 : ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2593 14591 : ndr->depth++;
2594 237120 : for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->num_attributes); cntr_attributes_1++) {
2595 222529 : ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2596 : }
2597 14591 : ndr->depth--;
2598 : }
2599 14592 : ndr->depth--;
2600 14592 : ndr->depth--;
2601 : }
2602 :
2603 952016 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2604 : {
2605 952016 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2606 952016 : return NDR_ERR_SUCCESS;
2607 : }
2608 :
2609 468782 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2610 : {
2611 : uint32_t v;
2612 468782 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2613 468782 : *r = v;
2614 468782 : return NDR_ERR_SUCCESS;
2615 : }
2616 :
2617 14592 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2618 : {
2619 14592 : ndr_print_uint32(ndr, name, r);
2620 14592 : ndr->depth++;
2621 14592 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2622 14592 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2623 14592 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2624 14592 : ndr->depth--;
2625 14592 : }
2626 :
2627 1904032 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2628 : {
2629 1904032 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2630 1904032 : if (ndr_flags & NDR_SCALARS) {
2631 952016 : NDR_CHECK(ndr_push_align(ndr, 5));
2632 952016 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2633 952016 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2634 952016 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2635 952016 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2636 : }
2637 1904032 : if (ndr_flags & NDR_BUFFERS) {
2638 952016 : if (r->identifier) {
2639 952016 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2640 : }
2641 952016 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2642 : }
2643 1904030 : return NDR_ERR_SUCCESS;
2644 : }
2645 :
2646 937564 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2647 : {
2648 : uint32_t _ptr_identifier;
2649 937564 : TALLOC_CTX *_mem_save_identifier_0 = NULL;
2650 937564 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2651 937564 : if (ndr_flags & NDR_SCALARS) {
2652 468782 : NDR_CHECK(ndr_pull_align(ndr, 5));
2653 468782 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2654 468782 : if (_ptr_identifier) {
2655 468780 : NDR_PULL_ALLOC(ndr, r->identifier);
2656 : } else {
2657 2 : r->identifier = NULL;
2658 : }
2659 468782 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2660 468782 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2661 468782 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2662 : }
2663 937564 : if (ndr_flags & NDR_BUFFERS) {
2664 468782 : if (r->identifier) {
2665 468780 : _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2666 468780 : NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2667 468780 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2668 468780 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2669 : }
2670 468782 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2671 : }
2672 937552 : return NDR_ERR_SUCCESS;
2673 : }
2674 :
2675 0 : static void ndr_print_flags_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObject *r)
2676 : {
2677 0 : ndr_print_drsuapi_DsReplicaObject(ndr, name, r);
2678 0 : }
2679 :
2680 14592 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2681 : {
2682 14592 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2683 14592 : if (r == NULL) { ndr_print_null(ndr); return; }
2684 14592 : ndr->depth++;
2685 14592 : ndr_print_ptr(ndr, "identifier", r->identifier);
2686 14592 : ndr->depth++;
2687 14592 : if (r->identifier) {
2688 14590 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2689 : }
2690 14592 : ndr->depth--;
2691 14592 : ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2692 14592 : ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2693 14592 : ndr->depth--;
2694 : }
2695 :
2696 13418360 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2697 : {
2698 13418360 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2699 13418360 : if (ndr_flags & NDR_SCALARS) {
2700 13418360 : NDR_CHECK(ndr_push_align(ndr, 8));
2701 13418360 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2702 13418360 : NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2703 13418360 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2704 13418360 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2705 13418360 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2706 : }
2707 13418360 : if (ndr_flags & NDR_BUFFERS) {
2708 : }
2709 13418360 : return NDR_ERR_SUCCESS;
2710 : }
2711 :
2712 6598527 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2713 : {
2714 6598527 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2715 6598527 : if (ndr_flags & NDR_SCALARS) {
2716 6598527 : NDR_CHECK(ndr_pull_align(ndr, 8));
2717 6598527 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2718 6598527 : NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2719 6598527 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2720 6598527 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2721 6598527 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2722 : }
2723 6598527 : if (ndr_flags & NDR_BUFFERS) {
2724 : }
2725 6598527 : return NDR_ERR_SUCCESS;
2726 : }
2727 :
2728 222666 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2729 : {
2730 222666 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2731 222666 : if (r == NULL) { ndr_print_null(ndr); return; }
2732 222666 : ndr->depth++;
2733 222666 : ndr_print_uint32(ndr, "version", r->version);
2734 222666 : ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2735 222666 : ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2736 222666 : ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2737 222666 : ndr->depth--;
2738 : }
2739 :
2740 951952 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2741 : {
2742 : uint32_t cntr_meta_data_0;
2743 951952 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2744 951952 : if (ndr_flags & NDR_SCALARS) {
2745 951952 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2746 951952 : NDR_CHECK(ndr_push_align(ndr, 8));
2747 951952 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2748 14338494 : for (cntr_meta_data_0 = 0; cntr_meta_data_0 < (r->count); cntr_meta_data_0++) {
2749 13386542 : NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2750 : }
2751 951952 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2752 : }
2753 951952 : if (ndr_flags & NDR_BUFFERS) {
2754 : }
2755 951952 : return NDR_ERR_SUCCESS;
2756 : }
2757 :
2758 468715 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2759 : {
2760 468715 : uint32_t size_meta_data_0 = 0;
2761 : uint32_t cntr_meta_data_0;
2762 468715 : TALLOC_CTX *_mem_save_meta_data_0 = NULL;
2763 468715 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2764 468715 : if (ndr_flags & NDR_SCALARS) {
2765 468715 : NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2766 468715 : NDR_CHECK(ndr_pull_align(ndr, 8));
2767 468715 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2768 468715 : if (r->count > 1048576) {
2769 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2770 : }
2771 468715 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->meta_data, &size_meta_data_0));
2772 468715 : NDR_PULL_ALLOC_N(ndr, r->meta_data, size_meta_data_0);
2773 468715 : _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2774 468715 : NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2775 7051424 : for (cntr_meta_data_0 = 0; cntr_meta_data_0 < (size_meta_data_0); cntr_meta_data_0++) {
2776 6582709 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2777 : }
2778 468715 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2779 468715 : if (r->meta_data) {
2780 468715 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->meta_data, r->count));
2781 : }
2782 468715 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2783 : }
2784 468713 : if (ndr_flags & NDR_BUFFERS) {
2785 : }
2786 468715 : return NDR_ERR_SUCCESS;
2787 : }
2788 :
2789 0 : static void ndr_print_flags_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaMetaDataCtr *r)
2790 : {
2791 0 : ndr_print_drsuapi_DsReplicaMetaDataCtr(ndr, name, r);
2792 0 : }
2793 :
2794 14588 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2795 : {
2796 : uint32_t cntr_meta_data_0;
2797 14588 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2798 14588 : if (r == NULL) { ndr_print_null(ndr); return; }
2799 14588 : ndr->depth++;
2800 14588 : ndr_print_uint32(ndr, "count", r->count);
2801 14588 : ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2802 14588 : ndr->depth++;
2803 237072 : for (cntr_meta_data_0 = 0; cntr_meta_data_0 < (r->count); cntr_meta_data_0++) {
2804 222484 : ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2805 : }
2806 14588 : ndr->depth--;
2807 14588 : ndr->depth--;
2808 : }
2809 :
2810 951952 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2811 : {
2812 951952 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2813 951952 : if (ndr_flags & NDR_SCALARS) {
2814 951952 : NDR_CHECK(ndr_push_align(ndr, 5));
2815 951952 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2816 951952 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2817 951952 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2818 951952 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2819 951952 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2820 951952 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2821 : }
2822 951952 : if (ndr_flags & NDR_BUFFERS) {
2823 951952 : if (r->next_object) {
2824 944244 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2825 : }
2826 951952 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2827 951952 : if (r->parent_object_guid) {
2828 950698 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2829 : }
2830 951952 : if (r->meta_data_ctr) {
2831 951952 : NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2832 : }
2833 : }
2834 951952 : return NDR_ERR_SUCCESS;
2835 : }
2836 :
2837 468715 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2838 : {
2839 : uint32_t _ptr_next_object;
2840 468715 : TALLOC_CTX *_mem_save_next_object_0 = NULL;
2841 : uint32_t _ptr_parent_object_guid;
2842 468715 : TALLOC_CTX *_mem_save_parent_object_guid_0 = NULL;
2843 : uint32_t _ptr_meta_data_ctr;
2844 468715 : TALLOC_CTX *_mem_save_meta_data_ctr_0 = NULL;
2845 468715 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2846 468715 : if (ndr_flags & NDR_SCALARS) {
2847 468715 : NDR_CHECK(ndr_pull_align(ndr, 5));
2848 468715 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2849 468715 : if (_ptr_next_object) {
2850 464882 : NDR_PULL_ALLOC(ndr, r->next_object);
2851 : } else {
2852 3833 : r->next_object = NULL;
2853 : }
2854 468715 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2855 468715 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2856 468715 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2857 468715 : if (_ptr_parent_object_guid) {
2858 468093 : NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2859 : } else {
2860 622 : r->parent_object_guid = NULL;
2861 : }
2862 468715 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2863 468715 : if (_ptr_meta_data_ctr) {
2864 468715 : NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2865 : } else {
2866 0 : r->meta_data_ctr = NULL;
2867 : }
2868 468715 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2869 : }
2870 468715 : if (ndr_flags & NDR_BUFFERS) {
2871 468715 : if (r->next_object) {
2872 464882 : _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2873 464882 : NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2874 464882 : NDR_RECURSION_CHECK(ndr, 20000);
2875 464882 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2876 464882 : NDR_RECURSION_UNWIND(ndr);
2877 464882 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2878 : }
2879 468715 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2880 468715 : if (r->parent_object_guid) {
2881 468093 : _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2882 468093 : NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2883 468093 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2884 468093 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2885 : }
2886 468715 : if (r->meta_data_ctr) {
2887 468715 : _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2888 468715 : NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2889 468715 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2890 468715 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2891 : }
2892 : }
2893 468713 : return NDR_ERR_SUCCESS;
2894 : }
2895 :
2896 0 : static void ndr_print_flags_drsuapi_DsReplicaObjectListItemEx(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectListItemEx *r)
2897 : {
2898 0 : ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, name, r);
2899 0 : }
2900 :
2901 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2902 : {
2903 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2904 0 : if (ndr_flags & NDR_SCALARS) {
2905 0 : NDR_CHECK(ndr_push_align(ndr, 8));
2906 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2907 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2908 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2909 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2910 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2911 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2912 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2913 0 : NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2914 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2915 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55));
2916 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2917 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2918 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2919 : }
2920 0 : if (ndr_flags & NDR_BUFFERS) {
2921 0 : if (r->naming_context) {
2922 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2923 : }
2924 0 : if (r->uptodateness_vector) {
2925 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2926 : }
2927 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2928 0 : if (r->first_object) {
2929 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2930 : }
2931 : }
2932 0 : return NDR_ERR_SUCCESS;
2933 : }
2934 :
2935 2 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2936 : {
2937 : uint32_t _ptr_naming_context;
2938 2 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
2939 : uint32_t _ptr_uptodateness_vector;
2940 2 : TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
2941 : uint32_t _ptr_first_object;
2942 2 : TALLOC_CTX *_mem_save_first_object_0 = NULL;
2943 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2944 2 : if (ndr_flags & NDR_SCALARS) {
2945 1 : NDR_CHECK(ndr_pull_align(ndr, 8));
2946 1 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2947 1 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2948 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2949 1 : if (_ptr_naming_context) {
2950 0 : NDR_PULL_ALLOC(ndr, r->naming_context);
2951 : } else {
2952 1 : r->naming_context = NULL;
2953 : }
2954 1 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2955 1 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2956 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2957 1 : if (_ptr_uptodateness_vector) {
2958 0 : NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2959 : } else {
2960 1 : r->uptodateness_vector = NULL;
2961 : }
2962 1 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2963 1 : NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2964 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2965 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2966 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2967 1 : if (_ptr_first_object) {
2968 1 : NDR_PULL_ALLOC(ndr, r->first_object);
2969 : } else {
2970 0 : r->first_object = NULL;
2971 : }
2972 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2973 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2974 : }
2975 2 : if (ndr_flags & NDR_BUFFERS) {
2976 1 : if (r->naming_context) {
2977 0 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2978 0 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2979 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2980 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2981 : }
2982 1 : if (r->uptodateness_vector) {
2983 0 : _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2984 0 : NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2985 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2986 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2987 : }
2988 1 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2989 1 : if (r->first_object) {
2990 1 : _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2991 1 : NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2992 1 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2993 1 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2994 : }
2995 : }
2996 0 : return NDR_ERR_SUCCESS;
2997 : }
2998 :
2999 0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr1 *r)
3000 : {
3001 0 : ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, name, r);
3002 0 : }
3003 :
3004 1 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
3005 : {
3006 1 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
3007 1 : if (r == NULL) { ndr_print_null(ndr); return; }
3008 1 : ndr->depth++;
3009 1 : ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3010 1 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3011 1 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
3012 1 : ndr->depth++;
3013 1 : if (r->naming_context) {
3014 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3015 : }
3016 1 : ndr->depth--;
3017 1 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3018 1 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3019 1 : ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3020 1 : ndr->depth++;
3021 1 : if (r->uptodateness_vector) {
3022 0 : ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3023 : }
3024 1 : ndr->depth--;
3025 1 : ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3026 1 : ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3027 1 : ndr_print_uint32(ndr, "object_count", r->object_count);
3028 1 : ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55:r->__ndr_size);
3029 1 : ndr_print_ptr(ndr, "first_object", r->first_object);
3030 1 : ndr->depth++;
3031 1 : if (r->first_object) {
3032 1 : ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3033 : }
3034 1 : ndr->depth--;
3035 1 : ndr_print_uint32(ndr, "more_data", r->more_data);
3036 1 : ndr->depth--;
3037 : }
3038 :
3039 0 : _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, int flags)
3040 : {
3041 0 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1);
3042 : }
3043 :
3044 31818 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3045 : {
3046 31818 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3047 31818 : return NDR_ERR_SUCCESS;
3048 : }
3049 :
3050 15818 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3051 : {
3052 : uint32_t v;
3053 15818 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3054 15818 : *r = v;
3055 15818 : return NDR_ERR_SUCCESS;
3056 : }
3057 :
3058 182 : _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
3059 : {
3060 182 : ndr_print_uint32(ndr, name, r);
3061 182 : ndr->depth++;
3062 182 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
3063 182 : ndr->depth--;
3064 182 : }
3065 :
3066 63636 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
3067 : {
3068 63636 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3069 63636 : if (ndr_flags & NDR_SCALARS) {
3070 31818 : NDR_CHECK(ndr_push_align(ndr, 8));
3071 31818 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
3072 31818 : NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
3073 31818 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
3074 31818 : NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
3075 31818 : NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
3076 31818 : NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
3077 31818 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3078 : }
3079 63636 : if (ndr_flags & NDR_BUFFERS) {
3080 31818 : if (r->identifier) {
3081 31818 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
3082 : }
3083 31818 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
3084 : }
3085 63636 : return NDR_ERR_SUCCESS;
3086 : }
3087 :
3088 31636 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
3089 : {
3090 : uint32_t _ptr_identifier;
3091 31636 : TALLOC_CTX *_mem_save_identifier_0 = NULL;
3092 31636 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3093 31636 : if (ndr_flags & NDR_SCALARS) {
3094 15818 : NDR_CHECK(ndr_pull_align(ndr, 8));
3095 15818 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
3096 15818 : if (_ptr_identifier) {
3097 15818 : NDR_PULL_ALLOC(ndr, r->identifier);
3098 : } else {
3099 0 : r->identifier = NULL;
3100 : }
3101 15818 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
3102 15818 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
3103 15818 : NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
3104 15818 : NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
3105 15818 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
3106 15818 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3107 : }
3108 31636 : if (ndr_flags & NDR_BUFFERS) {
3109 15818 : if (r->identifier) {
3110 15818 : _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
3111 15818 : NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
3112 15818 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
3113 15818 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
3114 : }
3115 15818 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
3116 : }
3117 31636 : return NDR_ERR_SUCCESS;
3118 : }
3119 :
3120 0 : static void ndr_print_flags_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaLinkedAttribute *r)
3121 : {
3122 0 : ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, name, r);
3123 0 : }
3124 :
3125 182 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
3126 : {
3127 182 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
3128 182 : if (r == NULL) { ndr_print_null(ndr); return; }
3129 182 : ndr->depth++;
3130 182 : ndr_print_ptr(ndr, "identifier", r->identifier);
3131 182 : ndr->depth++;
3132 182 : if (r->identifier) {
3133 182 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
3134 : }
3135 182 : ndr->depth--;
3136 182 : ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
3137 182 : ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
3138 182 : ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
3139 182 : ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
3140 182 : ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
3141 182 : ndr->depth--;
3142 : }
3143 :
3144 21864 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
3145 : {
3146 : uint32_t cntr_linked_attributes_1;
3147 21864 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3148 21864 : if (ndr_flags & NDR_SCALARS) {
3149 14576 : NDR_CHECK(ndr_push_align(ndr, 8));
3150 14576 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3151 14576 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3152 14576 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
3153 14576 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3154 14576 : NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3155 14576 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
3156 14576 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3157 14576 : NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
3158 14576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
3159 14576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55));
3160 14576 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
3161 14576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
3162 14576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
3163 14576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
3164 14576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
3165 14576 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
3166 14576 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
3167 14576 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3168 : }
3169 21864 : if (ndr_flags & NDR_BUFFERS) {
3170 14576 : if (r->naming_context) {
3171 9700 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3172 : }
3173 14576 : if (r->uptodateness_vector) {
3174 5914 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3175 : }
3176 14576 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3177 14576 : if (r->first_object) {
3178 7708 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3179 : }
3180 14576 : if (r->linked_attributes) {
3181 14576 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
3182 46394 : for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (r->linked_attributes_count); cntr_linked_attributes_1++) {
3183 31818 : NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3184 : }
3185 46394 : for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (r->linked_attributes_count); cntr_linked_attributes_1++) {
3186 31818 : NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3187 : }
3188 : }
3189 : }
3190 21864 : return NDR_ERR_SUCCESS;
3191 : }
3192 :
3193 14532 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
3194 : {
3195 : uint32_t _ptr_naming_context;
3196 14532 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
3197 : uint32_t _ptr_uptodateness_vector;
3198 14532 : TALLOC_CTX *_mem_save_uptodateness_vector_0 = NULL;
3199 : uint32_t _ptr_first_object;
3200 14532 : TALLOC_CTX *_mem_save_first_object_0 = NULL;
3201 : uint32_t _ptr_linked_attributes;
3202 14532 : uint32_t size_linked_attributes_1 = 0;
3203 : uint32_t cntr_linked_attributes_1;
3204 14532 : TALLOC_CTX *_mem_save_linked_attributes_0 = NULL;
3205 14532 : TALLOC_CTX *_mem_save_linked_attributes_1 = NULL;
3206 14532 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3207 14532 : if (ndr_flags & NDR_SCALARS) {
3208 7266 : NDR_CHECK(ndr_pull_align(ndr, 8));
3209 7266 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3210 7266 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3211 7266 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
3212 7266 : if (_ptr_naming_context) {
3213 4828 : NDR_PULL_ALLOC(ndr, r->naming_context);
3214 : } else {
3215 2438 : r->naming_context = NULL;
3216 : }
3217 7266 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3218 7266 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3219 7266 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3220 7266 : if (_ptr_uptodateness_vector) {
3221 2951 : NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3222 : } else {
3223 4315 : r->uptodateness_vector = NULL;
3224 : }
3225 7266 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3226 7266 : NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3227 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3228 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3229 7266 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3230 7266 : if (_ptr_first_object) {
3231 3832 : NDR_PULL_ALLOC(ndr, r->first_object);
3232 : } else {
3233 3434 : r->first_object = NULL;
3234 : }
3235 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3236 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3237 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3238 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3239 7266 : if (r->linked_attributes_count > 1048576) {
3240 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3241 : }
3242 7266 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3243 7266 : if (_ptr_linked_attributes) {
3244 7266 : NDR_PULL_ALLOC(ndr, r->linked_attributes);
3245 : } else {
3246 0 : r->linked_attributes = NULL;
3247 : }
3248 7266 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3249 7266 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3250 : }
3251 14532 : if (ndr_flags & NDR_BUFFERS) {
3252 7266 : if (r->naming_context) {
3253 4828 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3254 4828 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3255 4828 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3256 4828 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3257 : }
3258 7266 : if (r->uptodateness_vector) {
3259 2951 : _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3260 2951 : NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3261 2951 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3262 2951 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3263 : }
3264 7266 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3265 7266 : if (r->first_object) {
3266 3832 : _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3267 3832 : NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3268 3832 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3269 3832 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3270 : }
3271 7266 : if (r->linked_attributes) {
3272 7266 : _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3273 7266 : NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3274 7266 : NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3275 7266 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->linked_attributes, &size_linked_attributes_1));
3276 7266 : NDR_PULL_ALLOC_N(ndr, r->linked_attributes, size_linked_attributes_1);
3277 7266 : _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3278 7266 : NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3279 23084 : for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (size_linked_attributes_1); cntr_linked_attributes_1++) {
3280 15818 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3281 : }
3282 23084 : for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (size_linked_attributes_1); cntr_linked_attributes_1++) {
3283 15818 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3284 : }
3285 7266 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3286 7266 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3287 : }
3288 7266 : if (r->linked_attributes) {
3289 7266 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3290 : }
3291 7514 : for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (size_linked_attributes_1); cntr_linked_attributes_1++) {
3292 : }
3293 : }
3294 14532 : return NDR_ERR_SUCCESS;
3295 : }
3296 :
3297 0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr6 *r)
3298 : {
3299 0 : ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, name, r);
3300 0 : }
3301 :
3302 104 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3303 : {
3304 : uint32_t cntr_linked_attributes_1;
3305 104 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3306 104 : if (r == NULL) { ndr_print_null(ndr); return; }
3307 104 : ndr->depth++;
3308 104 : ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3309 104 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3310 104 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
3311 104 : ndr->depth++;
3312 104 : if (r->naming_context) {
3313 104 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3314 : }
3315 104 : ndr->depth--;
3316 104 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3317 104 : ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3318 104 : ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3319 104 : ndr->depth++;
3320 104 : if (r->uptodateness_vector) {
3321 12 : ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3322 : }
3323 104 : ndr->depth--;
3324 104 : ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3325 104 : ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3326 104 : ndr_print_uint32(ndr, "object_count", r->object_count);
3327 104 : ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55:r->__ndr_size);
3328 104 : ndr_print_ptr(ndr, "first_object", r->first_object);
3329 104 : ndr->depth++;
3330 104 : if (r->first_object) {
3331 104 : ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3332 : }
3333 104 : ndr->depth--;
3334 104 : ndr_print_uint32(ndr, "more_data", r->more_data);
3335 104 : ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3336 104 : ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3337 104 : ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3338 104 : ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3339 104 : ndr->depth++;
3340 104 : if (r->linked_attributes) {
3341 104 : ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3342 104 : ndr->depth++;
3343 286 : for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < (r->linked_attributes_count); cntr_linked_attributes_1++) {
3344 182 : ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3345 : }
3346 104 : ndr->depth--;
3347 : }
3348 104 : ndr->depth--;
3349 104 : ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3350 104 : ndr->depth--;
3351 : }
3352 :
3353 14576 : _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, int flags)
3354 : {
3355 14576 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6);
3356 : }
3357 :
3358 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3359 : {
3360 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3361 0 : if (ndr_flags & NDR_SCALARS) {
3362 0 : NDR_CHECK(ndr_push_align(ndr, 1));
3363 : {
3364 : struct ndr_push *_ndr_ctr1;
3365 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3366 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3367 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3368 : }
3369 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3370 : }
3371 0 : if (ndr_flags & NDR_BUFFERS) {
3372 : }
3373 0 : return NDR_ERR_SUCCESS;
3374 : }
3375 :
3376 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3377 : {
3378 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3379 0 : if (ndr_flags & NDR_SCALARS) {
3380 0 : NDR_CHECK(ndr_pull_align(ndr, 1));
3381 : {
3382 : struct ndr_pull *_ndr_ctr1;
3383 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3384 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3385 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3386 : }
3387 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3388 : }
3389 0 : if (ndr_flags & NDR_BUFFERS) {
3390 : }
3391 0 : return NDR_ERR_SUCCESS;
3392 : }
3393 :
3394 0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3395 : {
3396 0 : ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, name, r);
3397 0 : }
3398 :
3399 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3400 : {
3401 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3402 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3403 0 : ndr->depth++;
3404 0 : ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3405 0 : ndr->depth--;
3406 : }
3407 :
3408 0 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3409 : {
3410 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3411 0 : if (ndr_flags & NDR_SCALARS) {
3412 0 : NDR_CHECK(ndr_push_align(ndr, 1));
3413 : {
3414 : struct ndr_push *_ndr_ctr6;
3415 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3416 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3417 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3418 : }
3419 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3420 : }
3421 0 : if (ndr_flags & NDR_BUFFERS) {
3422 : }
3423 0 : return NDR_ERR_SUCCESS;
3424 : }
3425 :
3426 0 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3427 : {
3428 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3429 0 : if (ndr_flags & NDR_SCALARS) {
3430 0 : NDR_CHECK(ndr_pull_align(ndr, 1));
3431 : {
3432 : struct ndr_pull *_ndr_ctr6;
3433 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3434 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3435 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3436 : }
3437 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3438 : }
3439 0 : if (ndr_flags & NDR_BUFFERS) {
3440 : }
3441 0 : return NDR_ERR_SUCCESS;
3442 : }
3443 :
3444 0 : static void ndr_print_flags_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3445 : {
3446 0 : ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, name, r);
3447 0 : }
3448 :
3449 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3450 : {
3451 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3452 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3453 0 : ndr->depth++;
3454 0 : ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3455 0 : ndr->depth--;
3456 : }
3457 :
3458 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3459 : {
3460 : uint32_t _ptr_ts;
3461 0 : TALLOC_CTX *_mem_save_ts_0 = NULL;
3462 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3463 0 : if (ndr_flags & NDR_SCALARS) {
3464 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3465 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3466 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3467 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3468 0 : if (_ptr_ts) {
3469 0 : NDR_PULL_ALLOC(ndr, r->ts);
3470 : } else {
3471 0 : r->ts = NULL;
3472 : }
3473 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3474 : }
3475 0 : if (ndr_flags & NDR_BUFFERS) {
3476 0 : if (r->ts) {
3477 0 : _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3478 0 : NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3479 : {
3480 : struct ndr_pull *_ndr_ts;
3481 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3482 : {
3483 : struct ndr_pull *_ndr_ts_compressed;
3484 0 : NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length, r->compressed_length));
3485 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3486 0 : NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3487 : }
3488 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3489 : }
3490 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3491 : }
3492 : }
3493 0 : return NDR_ERR_SUCCESS;
3494 : }
3495 :
3496 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3497 : {
3498 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3499 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3500 0 : ndr->depth++;
3501 0 : ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3502 0 : ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3503 0 : ndr_print_ptr(ndr, "ts", r->ts);
3504 0 : ndr->depth++;
3505 0 : if (r->ts) {
3506 0 : ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3507 : }
3508 0 : ndr->depth--;
3509 0 : ndr->depth--;
3510 : }
3511 :
3512 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3513 : {
3514 : uint32_t _ptr_ts;
3515 0 : TALLOC_CTX *_mem_save_ts_0 = NULL;
3516 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3517 0 : if (ndr_flags & NDR_SCALARS) {
3518 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3519 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3520 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3521 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3522 0 : if (_ptr_ts) {
3523 0 : NDR_PULL_ALLOC(ndr, r->ts);
3524 : } else {
3525 0 : r->ts = NULL;
3526 : }
3527 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3528 : }
3529 0 : if (ndr_flags & NDR_BUFFERS) {
3530 0 : if (r->ts) {
3531 0 : _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3532 0 : NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3533 : {
3534 : struct ndr_pull *_ndr_ts;
3535 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3536 : {
3537 : struct ndr_pull *_ndr_ts_compressed;
3538 0 : NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length, r->compressed_length));
3539 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3540 0 : NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3541 : }
3542 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3543 : }
3544 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3545 : }
3546 : }
3547 0 : return NDR_ERR_SUCCESS;
3548 : }
3549 :
3550 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3551 : {
3552 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3553 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3554 0 : ndr->depth++;
3555 0 : ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3556 0 : ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3557 0 : ndr_print_ptr(ndr, "ts", r->ts);
3558 0 : ndr->depth++;
3559 0 : if (r->ts) {
3560 0 : ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3561 : }
3562 0 : ndr->depth--;
3563 0 : ndr->depth--;
3564 : }
3565 :
3566 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3567 : {
3568 : uint32_t _ptr_ts;
3569 0 : TALLOC_CTX *_mem_save_ts_0 = NULL;
3570 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3571 0 : if (ndr_flags & NDR_SCALARS) {
3572 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3573 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3574 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3575 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3576 0 : if (_ptr_ts) {
3577 0 : NDR_PULL_ALLOC(ndr, r->ts);
3578 : } else {
3579 0 : r->ts = NULL;
3580 : }
3581 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3582 : }
3583 0 : if (ndr_flags & NDR_BUFFERS) {
3584 0 : if (r->ts) {
3585 0 : _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3586 0 : NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3587 : {
3588 : struct ndr_pull *_ndr_ts;
3589 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3590 : {
3591 : struct ndr_pull *_ndr_ts_compressed;
3592 0 : NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length, r->compressed_length));
3593 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3594 0 : NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3595 : }
3596 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3597 : }
3598 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3599 : }
3600 : }
3601 0 : return NDR_ERR_SUCCESS;
3602 : }
3603 :
3604 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3605 : {
3606 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3607 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3608 0 : ndr->depth++;
3609 0 : ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3610 0 : ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3611 0 : ndr_print_ptr(ndr, "ts", r->ts);
3612 0 : ndr->depth++;
3613 0 : if (r->ts) {
3614 0 : ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3615 : }
3616 0 : ndr->depth--;
3617 0 : ndr->depth--;
3618 : }
3619 :
3620 2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3621 : {
3622 : uint32_t _ptr_ts;
3623 2 : TALLOC_CTX *_mem_save_ts_0 = NULL;
3624 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3625 2 : if (ndr_flags & NDR_SCALARS) {
3626 1 : NDR_CHECK(ndr_pull_align(ndr, 5));
3627 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3628 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3629 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3630 1 : if (_ptr_ts) {
3631 1 : NDR_PULL_ALLOC(ndr, r->ts);
3632 : } else {
3633 0 : r->ts = NULL;
3634 : }
3635 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3636 : }
3637 2 : if (ndr_flags & NDR_BUFFERS) {
3638 1 : if (r->ts) {
3639 1 : _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3640 1 : NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3641 : {
3642 : struct ndr_pull *_ndr_ts;
3643 2 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3644 : {
3645 : struct ndr_pull *_ndr_ts_compressed;
3646 2 : NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length, r->compressed_length));
3647 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3648 0 : NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3649 : }
3650 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3651 : }
3652 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3653 : }
3654 : }
3655 0 : return NDR_ERR_SUCCESS;
3656 : }
3657 :
3658 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3659 : {
3660 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3661 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3662 0 : ndr->depth++;
3663 0 : ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3664 0 : ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3665 0 : ndr_print_ptr(ndr, "ts", r->ts);
3666 0 : ndr->depth++;
3667 0 : if (r->ts) {
3668 0 : ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3669 : }
3670 0 : ndr->depth--;
3671 0 : ndr->depth--;
3672 : }
3673 :
3674 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3675 : {
3676 0 : NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3677 0 : return NDR_ERR_SUCCESS;
3678 : }
3679 :
3680 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3681 : {
3682 : uint16_t v;
3683 1 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3684 1 : *r = v;
3685 0 : return NDR_ERR_SUCCESS;
3686 : }
3687 :
3688 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3689 : {
3690 0 : const char *val = NULL;
3691 :
3692 0 : switch (r) {
3693 0 : case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3694 0 : case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3695 : }
3696 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
3697 0 : }
3698 :
3699 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3700 : {
3701 : uint32_t level;
3702 : {
3703 0 : uint32_t _flags_save_UNION = ndr->flags;
3704 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3705 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3706 0 : if (ndr_flags & NDR_SCALARS) {
3707 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
3708 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
3709 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
3710 0 : switch (level) {
3711 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3712 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3713 0 : break; }
3714 :
3715 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3716 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3717 0 : break; }
3718 :
3719 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3720 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3721 0 : break; }
3722 :
3723 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3724 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3725 0 : break; }
3726 :
3727 0 : default:
3728 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3729 : }
3730 0 : }
3731 0 : if (ndr_flags & NDR_BUFFERS) {
3732 0 : if (!(ndr_flags & NDR_SCALARS)) {
3733 : /* We didn't get it above, and the token is not needed after this. */
3734 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
3735 : }
3736 0 : switch (level) {
3737 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3738 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3739 0 : break;
3740 :
3741 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3742 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3743 0 : break;
3744 :
3745 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3746 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3747 0 : break;
3748 :
3749 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3750 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3751 0 : break;
3752 :
3753 0 : default:
3754 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3755 : }
3756 0 : }
3757 0 : ndr->flags = _flags_save_UNION;
3758 : }
3759 0 : return NDR_ERR_SUCCESS;
3760 : }
3761 :
3762 2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3763 : {
3764 : uint32_t level;
3765 : {
3766 2 : uint32_t _flags_save_UNION = ndr->flags;
3767 2 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3768 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3769 2 : if (ndr_flags & NDR_SCALARS) {
3770 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
3771 1 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
3772 1 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
3773 1 : switch (level) {
3774 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3775 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3776 0 : break; }
3777 :
3778 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3779 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3780 0 : break; }
3781 :
3782 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3783 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3784 0 : break; }
3785 :
3786 1 : case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3787 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3788 0 : break; }
3789 :
3790 0 : default:
3791 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3792 : }
3793 1 : }
3794 2 : if (ndr_flags & NDR_BUFFERS) {
3795 1 : if (!(ndr_flags & NDR_SCALARS)) {
3796 : /* We didn't get it above, and the token is not needed after this. */
3797 1 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
3798 : }
3799 1 : switch (level) {
3800 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3801 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3802 0 : break;
3803 :
3804 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3805 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3806 0 : break;
3807 :
3808 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3809 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3810 0 : break;
3811 :
3812 1 : case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3813 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3814 0 : break;
3815 :
3816 0 : default:
3817 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3818 : }
3819 1 : }
3820 1 : ndr->flags = _flags_save_UNION;
3821 : }
3822 1 : return NDR_ERR_SUCCESS;
3823 : }
3824 :
3825 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3826 : {
3827 : uint32_t level;
3828 : {
3829 0 : uint32_t _flags_save_UNION = ndr->flags;
3830 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3831 0 : level = ndr_print_steal_switch_value(ndr, r);
3832 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3833 0 : switch (level) {
3834 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3835 0 : ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3836 0 : break;
3837 :
3838 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3839 0 : ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3840 0 : break;
3841 :
3842 0 : case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3843 0 : ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3844 0 : break;
3845 :
3846 0 : case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3847 0 : ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3848 0 : break;
3849 :
3850 0 : default:
3851 0 : ndr_print_bad_level(ndr, name, level);
3852 : }
3853 0 : ndr->flags = _flags_save_UNION;
3854 : }
3855 0 : }
3856 :
3857 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3858 : {
3859 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3860 0 : if (ndr_flags & NDR_SCALARS) {
3861 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3862 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3863 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3864 : }
3865 0 : if (ndr_flags & NDR_BUFFERS) {
3866 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3867 : }
3868 0 : return NDR_ERR_SUCCESS;
3869 : }
3870 :
3871 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3872 : {
3873 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3874 0 : if (ndr_flags & NDR_SCALARS) {
3875 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3876 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3877 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3878 : }
3879 0 : if (ndr_flags & NDR_BUFFERS) {
3880 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3881 : }
3882 0 : return NDR_ERR_SUCCESS;
3883 : }
3884 :
3885 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3886 : {
3887 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3888 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3889 0 : ndr->depth++;
3890 0 : ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3891 0 : ndr->depth--;
3892 : }
3893 :
3894 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3895 : {
3896 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3897 0 : if (ndr_flags & NDR_SCALARS) {
3898 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3899 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
3900 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3901 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3902 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3903 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3904 : }
3905 0 : if (ndr_flags & NDR_BUFFERS) {
3906 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3907 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3908 : }
3909 0 : return NDR_ERR_SUCCESS;
3910 : }
3911 :
3912 2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3913 : {
3914 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3915 2 : if (ndr_flags & NDR_SCALARS) {
3916 1 : NDR_CHECK(ndr_pull_align(ndr, 5));
3917 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
3918 1 : if (r->level > 6) {
3919 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3920 : }
3921 2 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3922 1 : if (r->type < 2 || r->type > 3) {
3923 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3924 : }
3925 1 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3926 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3927 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3928 : }
3929 2 : if (ndr_flags & NDR_BUFFERS) {
3930 1 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3931 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3932 : }
3933 0 : return NDR_ERR_SUCCESS;
3934 : }
3935 :
3936 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3937 : {
3938 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3939 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3940 0 : ndr->depth++;
3941 0 : ndr_print_uint32(ndr, "level", r->level);
3942 0 : ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3943 0 : ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3944 0 : ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3945 0 : ndr->depth--;
3946 : }
3947 :
3948 7288 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3949 : {
3950 : uint32_t level;
3951 7288 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3952 7288 : if (ndr_flags & NDR_SCALARS) {
3953 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
3954 7288 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
3955 7288 : NDR_CHECK(ndr_push_union_align(ndr, 8));
3956 7288 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3957 7288 : NDR_CHECK(ndr_push_union_align(ndr, 8));
3958 7288 : switch (level) {
3959 0 : case 1: {
3960 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3961 0 : break; }
3962 :
3963 0 : case 2: {
3964 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3965 0 : break; }
3966 :
3967 7288 : case 6: {
3968 7288 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3969 7288 : break; }
3970 :
3971 0 : case 7: {
3972 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3973 0 : break; }
3974 :
3975 0 : default:
3976 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3977 : }
3978 0 : }
3979 7288 : if (ndr_flags & NDR_BUFFERS) {
3980 7288 : if (!(ndr_flags & NDR_SCALARS)) {
3981 : /* We didn't get it above, and the token is not needed after this. */
3982 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
3983 : }
3984 7288 : switch (level) {
3985 0 : case 1:
3986 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3987 0 : break;
3988 :
3989 0 : case 2:
3990 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3991 0 : break;
3992 :
3993 7288 : case 6:
3994 7288 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3995 7288 : break;
3996 :
3997 0 : case 7:
3998 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3999 0 : break;
4000 :
4001 0 : default:
4002 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4003 : }
4004 0 : }
4005 7288 : return NDR_ERR_SUCCESS;
4006 : }
4007 :
4008 7268 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
4009 : {
4010 : uint32_t level;
4011 : uint32_t _level;
4012 7268 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4013 7268 : if (ndr_flags & NDR_SCALARS) {
4014 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4015 7268 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4016 7268 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
4017 7268 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4018 7268 : if (_level != level) {
4019 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4020 : }
4021 7268 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
4022 7268 : switch (level) {
4023 1 : case 1: {
4024 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
4025 0 : break; }
4026 :
4027 0 : case 2: {
4028 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
4029 0 : break; }
4030 :
4031 7266 : case 6: {
4032 7266 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
4033 7266 : break; }
4034 :
4035 1 : case 7: {
4036 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
4037 0 : break; }
4038 :
4039 0 : default:
4040 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4041 : }
4042 0 : }
4043 7268 : if (ndr_flags & NDR_BUFFERS) {
4044 7268 : if (!(ndr_flags & NDR_SCALARS)) {
4045 : /* We didn't get it above, and the token is not needed after this. */
4046 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4047 : }
4048 7268 : switch (level) {
4049 1 : case 1:
4050 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4051 0 : break;
4052 :
4053 0 : case 2:
4054 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
4055 0 : break;
4056 :
4057 7266 : case 6:
4058 7266 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
4059 7266 : break;
4060 :
4061 1 : case 7:
4062 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
4063 0 : break;
4064 :
4065 0 : default:
4066 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4067 : }
4068 0 : }
4069 7266 : return NDR_ERR_SUCCESS;
4070 : }
4071 :
4072 105 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
4073 : {
4074 : uint32_t level;
4075 105 : level = ndr_print_steal_switch_value(ndr, r);
4076 105 : ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
4077 105 : switch (level) {
4078 1 : case 1:
4079 1 : ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
4080 1 : break;
4081 :
4082 0 : case 2:
4083 0 : ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
4084 0 : break;
4085 :
4086 104 : case 6:
4087 104 : ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
4088 104 : break;
4089 :
4090 0 : case 7:
4091 0 : ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
4092 0 : break;
4093 :
4094 0 : default:
4095 0 : ndr_print_bad_level(ndr, name, level);
4096 : }
4097 105 : }
4098 :
4099 3880 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
4100 : {
4101 3880 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4102 3880 : if (ndr_flags & NDR_SCALARS) {
4103 1940 : if (r->naming_context == NULL) {
4104 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4105 : }
4106 1940 : if (r->dest_dsa_dns_name == NULL) {
4107 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4108 : }
4109 1940 : NDR_CHECK(ndr_push_align(ndr, 5));
4110 1940 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
4111 1940 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->dest_dsa_dns_name */
4112 1940 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
4113 1940 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4114 1940 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4115 : }
4116 3880 : if (ndr_flags & NDR_BUFFERS) {
4117 1940 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4118 1940 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
4119 1940 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4120 1940 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
4121 1940 : 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));
4122 : }
4123 3880 : return NDR_ERR_SUCCESS;
4124 : }
4125 :
4126 3880 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
4127 : {
4128 : uint32_t _ptr_naming_context;
4129 3880 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
4130 : uint32_t _ptr_dest_dsa_dns_name;
4131 3880 : uint32_t size_dest_dsa_dns_name_1 = 0;
4132 3880 : uint32_t length_dest_dsa_dns_name_1 = 0;
4133 3880 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4134 3880 : if (ndr_flags & NDR_SCALARS) {
4135 1940 : NDR_CHECK(ndr_pull_align(ndr, 5));
4136 1940 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4137 1940 : if (_ptr_naming_context) {
4138 1940 : NDR_PULL_ALLOC(ndr, r->naming_context);
4139 : } else {
4140 0 : r->naming_context = NULL;
4141 : }
4142 1940 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
4143 1940 : if (_ptr_dest_dsa_dns_name) {
4144 1940 : NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
4145 : } else {
4146 0 : r->dest_dsa_dns_name = NULL;
4147 : }
4148 1940 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
4149 1940 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4150 1940 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4151 : }
4152 3880 : if (ndr_flags & NDR_BUFFERS) {
4153 1940 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4154 1940 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4155 1940 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4156 1940 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4157 1940 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
4158 1940 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
4159 1940 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dest_dsa_dns_name, &size_dest_dsa_dns_name_1));
4160 1940 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dest_dsa_dns_name, &length_dest_dsa_dns_name_1));
4161 1940 : if (length_dest_dsa_dns_name_1 > size_dest_dsa_dns_name_1) {
4162 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dest_dsa_dns_name_1, length_dest_dsa_dns_name_1);
4163 : }
4164 1940 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dest_dsa_dns_name_1, sizeof(uint8_t)));
4165 1940 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, length_dest_dsa_dns_name_1, sizeof(uint8_t), CH_DOS));
4166 : }
4167 3880 : return NDR_ERR_SUCCESS;
4168 : }
4169 :
4170 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
4171 : {
4172 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
4173 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4174 0 : ndr->depth++;
4175 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
4176 0 : ndr->depth++;
4177 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4178 0 : ndr->depth--;
4179 0 : ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
4180 0 : ndr->depth++;
4181 0 : ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
4182 0 : ndr->depth--;
4183 0 : ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
4184 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4185 0 : ndr->depth--;
4186 : }
4187 :
4188 1940 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4189 : {
4190 : uint32_t level;
4191 1940 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4192 1940 : if (ndr_flags & NDR_SCALARS) {
4193 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4194 1940 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4195 1940 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4196 1940 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4197 1940 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4198 1940 : switch (level) {
4199 1940 : case 1: {
4200 1940 : NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4201 1940 : break; }
4202 :
4203 0 : default:
4204 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4205 : }
4206 0 : }
4207 1940 : if (ndr_flags & NDR_BUFFERS) {
4208 1940 : if (!(ndr_flags & NDR_SCALARS)) {
4209 : /* We didn't get it above, and the token is not needed after this. */
4210 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4211 : }
4212 1940 : switch (level) {
4213 1940 : case 1:
4214 1940 : NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4215 1940 : break;
4216 :
4217 0 : default:
4218 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4219 : }
4220 0 : }
4221 1940 : return NDR_ERR_SUCCESS;
4222 : }
4223 :
4224 1940 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
4225 : {
4226 : uint32_t level;
4227 : uint32_t _level;
4228 1940 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4229 1940 : if (ndr_flags & NDR_SCALARS) {
4230 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4231 1940 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4232 1940 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4233 1940 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4234 1940 : if (_level != level) {
4235 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4236 : }
4237 1940 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4238 1940 : switch (level) {
4239 1940 : case 1: {
4240 1940 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4241 1940 : break; }
4242 :
4243 0 : default:
4244 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4245 : }
4246 0 : }
4247 1940 : if (ndr_flags & NDR_BUFFERS) {
4248 1940 : if (!(ndr_flags & NDR_SCALARS)) {
4249 : /* We didn't get it above, and the token is not needed after this. */
4250 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4251 : }
4252 1940 : switch (level) {
4253 1940 : case 1:
4254 1940 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4255 1940 : break;
4256 :
4257 0 : default:
4258 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4259 : }
4260 0 : }
4261 1940 : return NDR_ERR_SUCCESS;
4262 : }
4263 :
4264 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4265 : {
4266 : uint32_t level;
4267 0 : level = ndr_print_steal_switch_value(ndr, r);
4268 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
4269 0 : switch (level) {
4270 0 : case 1:
4271 0 : ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
4272 0 : break;
4273 :
4274 0 : default:
4275 0 : ndr_print_bad_level(ndr, name, level);
4276 : }
4277 0 : }
4278 :
4279 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4280 : {
4281 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4282 0 : if (ndr_flags & NDR_SCALARS) {
4283 0 : if (r->naming_context == NULL) {
4284 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4285 : }
4286 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4287 0 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
4288 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4289 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4290 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4291 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4292 : }
4293 0 : if (ndr_flags & NDR_BUFFERS) {
4294 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4295 0 : if (r->source_dsa_address) {
4296 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4297 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4298 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4299 0 : 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));
4300 : }
4301 : }
4302 0 : return NDR_ERR_SUCCESS;
4303 : }
4304 :
4305 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4306 : {
4307 : uint32_t _ptr_naming_context;
4308 0 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
4309 : uint32_t _ptr_source_dsa_address;
4310 0 : uint32_t size_source_dsa_address_1 = 0;
4311 0 : uint32_t length_source_dsa_address_1 = 0;
4312 0 : TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
4313 0 : uint32_t size_schedule_0 = 0;
4314 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4315 0 : if (ndr_flags & NDR_SCALARS) {
4316 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4317 0 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4318 0 : if (_ptr_naming_context) {
4319 0 : NDR_PULL_ALLOC(ndr, r->naming_context);
4320 : } else {
4321 0 : r->naming_context = NULL;
4322 : }
4323 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4324 0 : if (_ptr_source_dsa_address) {
4325 0 : NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4326 : } else {
4327 0 : r->source_dsa_address = NULL;
4328 : }
4329 0 : size_schedule_0 = 84;
4330 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
4331 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4332 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4333 : }
4334 0 : if (ndr_flags & NDR_BUFFERS) {
4335 0 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4336 0 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4337 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4338 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4339 0 : if (r->source_dsa_address) {
4340 0 : _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4341 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4342 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4343 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4344 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
4345 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
4346 0 : if (length_source_dsa_address_1 > size_source_dsa_address_1) {
4347 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
4348 : }
4349 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
4350 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
4351 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4352 : }
4353 : }
4354 0 : return NDR_ERR_SUCCESS;
4355 : }
4356 :
4357 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4358 : {
4359 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4360 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4361 0 : ndr->depth++;
4362 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
4363 0 : ndr->depth++;
4364 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4365 0 : ndr->depth--;
4366 0 : ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4367 0 : ndr->depth++;
4368 0 : if (r->source_dsa_address) {
4369 0 : ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4370 : }
4371 0 : ndr->depth--;
4372 0 : ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4373 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4374 0 : ndr->depth--;
4375 : }
4376 :
4377 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4378 : {
4379 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4380 0 : if (ndr_flags & NDR_SCALARS) {
4381 0 : if (r->naming_context == NULL) {
4382 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4383 : }
4384 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4385 0 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
4386 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4387 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4388 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4389 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4390 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4391 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4392 : }
4393 0 : if (ndr_flags & NDR_BUFFERS) {
4394 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4395 0 : if (r->source_dsa_dn) {
4396 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4397 : }
4398 0 : if (r->transport_dn) {
4399 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4400 : }
4401 0 : if (r->source_dsa_address) {
4402 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4403 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4404 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4405 0 : 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));
4406 : }
4407 : }
4408 0 : return NDR_ERR_SUCCESS;
4409 : }
4410 :
4411 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4412 : {
4413 : uint32_t _ptr_naming_context;
4414 0 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
4415 : uint32_t _ptr_source_dsa_dn;
4416 0 : TALLOC_CTX *_mem_save_source_dsa_dn_0 = NULL;
4417 : uint32_t _ptr_transport_dn;
4418 0 : TALLOC_CTX *_mem_save_transport_dn_0 = NULL;
4419 : uint32_t _ptr_source_dsa_address;
4420 0 : uint32_t size_source_dsa_address_1 = 0;
4421 0 : uint32_t length_source_dsa_address_1 = 0;
4422 0 : TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
4423 0 : uint32_t size_schedule_0 = 0;
4424 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4425 0 : if (ndr_flags & NDR_SCALARS) {
4426 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4427 0 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4428 0 : if (_ptr_naming_context) {
4429 0 : NDR_PULL_ALLOC(ndr, r->naming_context);
4430 : } else {
4431 0 : r->naming_context = NULL;
4432 : }
4433 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4434 0 : if (_ptr_source_dsa_dn) {
4435 0 : NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4436 : } else {
4437 0 : r->source_dsa_dn = NULL;
4438 : }
4439 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4440 0 : if (_ptr_transport_dn) {
4441 0 : NDR_PULL_ALLOC(ndr, r->transport_dn);
4442 : } else {
4443 0 : r->transport_dn = NULL;
4444 : }
4445 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4446 0 : if (_ptr_source_dsa_address) {
4447 0 : NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4448 : } else {
4449 0 : r->source_dsa_address = NULL;
4450 : }
4451 0 : size_schedule_0 = 84;
4452 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
4453 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4454 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4455 : }
4456 0 : if (ndr_flags & NDR_BUFFERS) {
4457 0 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4458 0 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4459 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4460 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4461 0 : if (r->source_dsa_dn) {
4462 0 : _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4463 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4464 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4465 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4466 : }
4467 0 : if (r->transport_dn) {
4468 0 : _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4469 0 : NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4470 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4471 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4472 : }
4473 0 : if (r->source_dsa_address) {
4474 0 : _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4475 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4476 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4477 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4478 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
4479 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
4480 0 : if (length_source_dsa_address_1 > size_source_dsa_address_1) {
4481 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
4482 : }
4483 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
4484 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
4485 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4486 : }
4487 : }
4488 0 : return NDR_ERR_SUCCESS;
4489 : }
4490 :
4491 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4492 : {
4493 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4494 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4495 0 : ndr->depth++;
4496 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
4497 0 : ndr->depth++;
4498 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4499 0 : ndr->depth--;
4500 0 : ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4501 0 : ndr->depth++;
4502 0 : if (r->source_dsa_dn) {
4503 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4504 : }
4505 0 : ndr->depth--;
4506 0 : ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4507 0 : ndr->depth++;
4508 0 : if (r->transport_dn) {
4509 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4510 : }
4511 0 : ndr->depth--;
4512 0 : ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4513 0 : ndr->depth++;
4514 0 : if (r->source_dsa_address) {
4515 0 : ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4516 : }
4517 0 : ndr->depth--;
4518 0 : ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4519 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4520 0 : ndr->depth--;
4521 : }
4522 :
4523 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4524 : {
4525 : uint32_t level;
4526 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4527 0 : if (ndr_flags & NDR_SCALARS) {
4528 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4529 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4530 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4531 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4532 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4533 0 : switch (level) {
4534 0 : case 1: {
4535 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4536 0 : break; }
4537 :
4538 0 : case 2: {
4539 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4540 0 : break; }
4541 :
4542 0 : default:
4543 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4544 : }
4545 0 : }
4546 0 : if (ndr_flags & NDR_BUFFERS) {
4547 0 : if (!(ndr_flags & NDR_SCALARS)) {
4548 : /* We didn't get it above, and the token is not needed after this. */
4549 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4550 : }
4551 0 : switch (level) {
4552 0 : case 1:
4553 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4554 0 : break;
4555 :
4556 0 : case 2:
4557 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4558 0 : break;
4559 :
4560 0 : default:
4561 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4562 : }
4563 0 : }
4564 0 : return NDR_ERR_SUCCESS;
4565 : }
4566 :
4567 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4568 : {
4569 : uint32_t level;
4570 : uint32_t _level;
4571 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4572 0 : if (ndr_flags & NDR_SCALARS) {
4573 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4574 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4575 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4576 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4577 0 : if (_level != level) {
4578 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4579 : }
4580 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4581 0 : switch (level) {
4582 0 : case 1: {
4583 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4584 0 : break; }
4585 :
4586 0 : case 2: {
4587 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4588 0 : break; }
4589 :
4590 0 : default:
4591 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4592 : }
4593 0 : }
4594 0 : if (ndr_flags & NDR_BUFFERS) {
4595 0 : if (!(ndr_flags & NDR_SCALARS)) {
4596 : /* We didn't get it above, and the token is not needed after this. */
4597 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4598 : }
4599 0 : switch (level) {
4600 0 : case 1:
4601 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4602 0 : break;
4603 :
4604 0 : case 2:
4605 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4606 0 : break;
4607 :
4608 0 : default:
4609 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4610 : }
4611 0 : }
4612 0 : return NDR_ERR_SUCCESS;
4613 : }
4614 :
4615 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4616 : {
4617 : uint32_t level;
4618 0 : level = ndr_print_steal_switch_value(ndr, r);
4619 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4620 0 : switch (level) {
4621 0 : case 1:
4622 0 : ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4623 0 : break;
4624 :
4625 0 : case 2:
4626 0 : ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4627 0 : break;
4628 :
4629 0 : default:
4630 0 : ndr_print_bad_level(ndr, name, level);
4631 : }
4632 0 : }
4633 :
4634 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4635 : {
4636 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4637 0 : if (ndr_flags & NDR_SCALARS) {
4638 0 : if (r->naming_context == NULL) {
4639 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4640 : }
4641 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4642 0 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
4643 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4644 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4645 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4646 : }
4647 0 : if (ndr_flags & NDR_BUFFERS) {
4648 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4649 0 : if (r->source_dsa_address) {
4650 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF8)));
4651 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4652 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF8)));
4653 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4654 : }
4655 : }
4656 0 : return NDR_ERR_SUCCESS;
4657 : }
4658 :
4659 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4660 : {
4661 : uint32_t _ptr_naming_context;
4662 0 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
4663 : uint32_t _ptr_source_dsa_address;
4664 0 : uint32_t size_source_dsa_address_1 = 0;
4665 0 : uint32_t length_source_dsa_address_1 = 0;
4666 0 : TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
4667 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4668 0 : if (ndr_flags & NDR_SCALARS) {
4669 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4670 0 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4671 0 : if (_ptr_naming_context) {
4672 0 : NDR_PULL_ALLOC(ndr, r->naming_context);
4673 : } else {
4674 0 : r->naming_context = NULL;
4675 : }
4676 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4677 0 : if (_ptr_source_dsa_address) {
4678 0 : NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4679 : } else {
4680 0 : r->source_dsa_address = NULL;
4681 : }
4682 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4683 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4684 : }
4685 0 : if (ndr_flags & NDR_BUFFERS) {
4686 0 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4687 0 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4688 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4689 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4690 0 : if (r->source_dsa_address) {
4691 0 : _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4692 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4693 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4694 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4695 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
4696 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
4697 0 : if (length_source_dsa_address_1 > size_source_dsa_address_1) {
4698 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
4699 : }
4700 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint8_t)));
4701 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint8_t), CH_UTF8));
4702 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4703 : }
4704 : }
4705 0 : return NDR_ERR_SUCCESS;
4706 : }
4707 :
4708 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4709 : {
4710 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4711 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4712 0 : ndr->depth++;
4713 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
4714 0 : ndr->depth++;
4715 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4716 0 : ndr->depth--;
4717 0 : ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4718 0 : ndr->depth++;
4719 0 : if (r->source_dsa_address) {
4720 0 : ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4721 : }
4722 0 : ndr->depth--;
4723 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4724 0 : ndr->depth--;
4725 : }
4726 :
4727 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4728 : {
4729 : uint32_t level;
4730 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4731 0 : if (ndr_flags & NDR_SCALARS) {
4732 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4733 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4734 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4735 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4736 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4737 0 : switch (level) {
4738 0 : case 1: {
4739 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4740 0 : break; }
4741 :
4742 0 : default:
4743 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4744 : }
4745 0 : }
4746 0 : if (ndr_flags & NDR_BUFFERS) {
4747 0 : if (!(ndr_flags & NDR_SCALARS)) {
4748 : /* We didn't get it above, and the token is not needed after this. */
4749 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4750 : }
4751 0 : switch (level) {
4752 0 : case 1:
4753 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4754 0 : break;
4755 :
4756 0 : default:
4757 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4758 : }
4759 0 : }
4760 0 : return NDR_ERR_SUCCESS;
4761 : }
4762 :
4763 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4764 : {
4765 : uint32_t level;
4766 : uint32_t _level;
4767 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4768 0 : if (ndr_flags & NDR_SCALARS) {
4769 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4770 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4771 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4772 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4773 0 : if (_level != level) {
4774 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4775 : }
4776 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4777 0 : switch (level) {
4778 0 : case 1: {
4779 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4780 0 : break; }
4781 :
4782 0 : default:
4783 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4784 : }
4785 0 : }
4786 0 : if (ndr_flags & NDR_BUFFERS) {
4787 0 : if (!(ndr_flags & NDR_SCALARS)) {
4788 : /* We didn't get it above, and the token is not needed after this. */
4789 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4790 : }
4791 0 : switch (level) {
4792 0 : case 1:
4793 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4794 0 : break;
4795 :
4796 0 : default:
4797 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4798 : }
4799 0 : }
4800 0 : return NDR_ERR_SUCCESS;
4801 : }
4802 :
4803 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4804 : {
4805 : uint32_t level;
4806 0 : level = ndr_print_steal_switch_value(ndr, r);
4807 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4808 0 : switch (level) {
4809 0 : case 1:
4810 0 : ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4811 0 : break;
4812 :
4813 0 : default:
4814 0 : ndr_print_bad_level(ndr, name, level);
4815 : }
4816 0 : }
4817 :
4818 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4819 : {
4820 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4821 0 : if (ndr_flags & NDR_SCALARS) {
4822 0 : if (r->naming_context == NULL) {
4823 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4824 : }
4825 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4826 0 : NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->naming_context */
4827 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4828 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4829 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4830 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
4831 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4832 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4833 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4834 : }
4835 0 : if (ndr_flags & NDR_BUFFERS) {
4836 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4837 0 : if (r->source_dra_address) {
4838 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4839 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4840 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4841 0 : 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));
4842 : }
4843 : }
4844 0 : return NDR_ERR_SUCCESS;
4845 : }
4846 :
4847 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4848 : {
4849 : uint32_t _ptr_naming_context;
4850 0 : TALLOC_CTX *_mem_save_naming_context_0 = NULL;
4851 : uint32_t _ptr_source_dra_address;
4852 0 : uint32_t size_source_dra_address_1 = 0;
4853 0 : uint32_t length_source_dra_address_1 = 0;
4854 0 : TALLOC_CTX *_mem_save_source_dra_address_0 = NULL;
4855 0 : uint32_t size_schedule_0 = 0;
4856 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4857 0 : if (ndr_flags & NDR_SCALARS) {
4858 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4859 0 : NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4860 0 : if (_ptr_naming_context) {
4861 0 : NDR_PULL_ALLOC(ndr, r->naming_context);
4862 : } else {
4863 0 : r->naming_context = NULL;
4864 : }
4865 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4866 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4867 0 : if (_ptr_source_dra_address) {
4868 0 : NDR_PULL_ALLOC(ndr, r->source_dra_address);
4869 : } else {
4870 0 : r->source_dra_address = NULL;
4871 : }
4872 0 : size_schedule_0 = 84;
4873 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
4874 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
4875 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4876 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4877 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4878 : }
4879 0 : if (ndr_flags & NDR_BUFFERS) {
4880 0 : _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4881 0 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4882 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4883 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4884 0 : if (r->source_dra_address) {
4885 0 : _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4886 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4887 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4888 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4889 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dra_address, &size_source_dra_address_1));
4890 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dra_address, &length_source_dra_address_1));
4891 0 : if (length_source_dra_address_1 > size_source_dra_address_1) {
4892 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dra_address_1, length_source_dra_address_1);
4893 : }
4894 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dra_address_1, sizeof(uint16_t)));
4895 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, length_source_dra_address_1, sizeof(uint16_t), CH_UTF16));
4896 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4897 : }
4898 : }
4899 0 : return NDR_ERR_SUCCESS;
4900 : }
4901 :
4902 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4903 : {
4904 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4905 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4906 0 : ndr->depth++;
4907 0 : ndr_print_ptr(ndr, "naming_context", r->naming_context);
4908 0 : ndr->depth++;
4909 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4910 0 : ndr->depth--;
4911 0 : ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4912 0 : ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4913 0 : ndr->depth++;
4914 0 : if (r->source_dra_address) {
4915 0 : ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4916 : }
4917 0 : ndr->depth--;
4918 0 : ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4919 0 : ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
4920 0 : ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4921 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4922 0 : ndr->depth--;
4923 : }
4924 :
4925 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4926 : {
4927 : uint32_t level;
4928 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4929 0 : if (ndr_flags & NDR_SCALARS) {
4930 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4931 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4932 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4933 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4934 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4935 0 : switch (level) {
4936 0 : case 1: {
4937 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4938 0 : break; }
4939 :
4940 0 : default:
4941 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4942 : }
4943 0 : }
4944 0 : if (ndr_flags & NDR_BUFFERS) {
4945 0 : if (!(ndr_flags & NDR_SCALARS)) {
4946 : /* We didn't get it above, and the token is not needed after this. */
4947 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4948 : }
4949 0 : switch (level) {
4950 0 : case 1:
4951 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4952 0 : break;
4953 :
4954 0 : default:
4955 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4956 : }
4957 0 : }
4958 0 : return NDR_ERR_SUCCESS;
4959 : }
4960 :
4961 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4962 : {
4963 : uint32_t level;
4964 : uint32_t _level;
4965 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4966 0 : if (ndr_flags & NDR_SCALARS) {
4967 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4968 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4969 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4970 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4971 0 : if (_level != level) {
4972 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4973 : }
4974 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4975 0 : switch (level) {
4976 0 : case 1: {
4977 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4978 0 : break; }
4979 :
4980 0 : default:
4981 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4982 : }
4983 0 : }
4984 0 : if (ndr_flags & NDR_BUFFERS) {
4985 0 : if (!(ndr_flags & NDR_SCALARS)) {
4986 : /* We didn't get it above, and the token is not needed after this. */
4987 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4988 : }
4989 0 : switch (level) {
4990 0 : case 1:
4991 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4992 0 : break;
4993 :
4994 0 : default:
4995 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4996 : }
4997 0 : }
4998 0 : return NDR_ERR_SUCCESS;
4999 : }
5000 :
5001 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
5002 : {
5003 : uint32_t level;
5004 0 : level = ndr_print_steal_switch_value(ndr, r);
5005 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
5006 0 : switch (level) {
5007 0 : case 1:
5008 0 : ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
5009 0 : break;
5010 :
5011 0 : default:
5012 0 : ndr_print_bad_level(ndr, name, level);
5013 : }
5014 0 : }
5015 :
5016 0 : static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
5017 : {
5018 0 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5019 0 : return NDR_ERR_SUCCESS;
5020 : }
5021 :
5022 0 : static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
5023 : {
5024 : uint32_t v;
5025 0 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5026 0 : *r = v;
5027 0 : return NDR_ERR_SUCCESS;
5028 : }
5029 :
5030 0 : _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
5031 : {
5032 0 : const char *val = NULL;
5033 :
5034 0 : switch (r) {
5035 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
5036 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
5037 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
5038 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
5039 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
5040 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
5041 0 : case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
5042 : }
5043 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
5044 0 : }
5045 :
5046 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
5047 : {
5048 : uint32_t cntr_info_array_1;
5049 : uint32_t cntr_group_attrs_1;
5050 : uint32_t cntr_sids_1;
5051 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5052 0 : if (ndr_flags & NDR_SCALARS) {
5053 0 : NDR_CHECK(ndr_push_align(ndr, 5));
5054 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5055 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
5056 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
5057 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5058 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
5059 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
5060 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5061 : }
5062 0 : if (ndr_flags & NDR_BUFFERS) {
5063 0 : if (r->info_array) {
5064 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
5065 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->num_memberships); cntr_info_array_1++) {
5066 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5067 : }
5068 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->num_memberships); cntr_info_array_1++) {
5069 0 : if (r->info_array[cntr_info_array_1]) {
5070 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5071 : }
5072 : }
5073 : }
5074 0 : if (r->group_attrs) {
5075 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
5076 0 : for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < (r->num_memberships); cntr_group_attrs_1++) {
5077 0 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
5078 : }
5079 : }
5080 0 : if (r->sids) {
5081 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
5082 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->num_sids); cntr_sids_1++) {
5083 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
5084 : }
5085 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->num_sids); cntr_sids_1++) {
5086 0 : if (r->sids[cntr_sids_1]) {
5087 0 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
5088 : }
5089 : }
5090 : }
5091 : }
5092 0 : return NDR_ERR_SUCCESS;
5093 : }
5094 :
5095 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
5096 : {
5097 : uint32_t _ptr_info_array;
5098 0 : uint32_t size_info_array_1 = 0;
5099 : uint32_t cntr_info_array_1;
5100 0 : TALLOC_CTX *_mem_save_info_array_0 = NULL;
5101 0 : TALLOC_CTX *_mem_save_info_array_1 = NULL;
5102 0 : TALLOC_CTX *_mem_save_info_array_2 = NULL;
5103 : uint32_t _ptr_group_attrs;
5104 0 : uint32_t size_group_attrs_1 = 0;
5105 : uint32_t cntr_group_attrs_1;
5106 0 : TALLOC_CTX *_mem_save_group_attrs_0 = NULL;
5107 0 : TALLOC_CTX *_mem_save_group_attrs_1 = NULL;
5108 : uint32_t _ptr_sids;
5109 0 : uint32_t size_sids_1 = 0;
5110 : uint32_t cntr_sids_1;
5111 0 : TALLOC_CTX *_mem_save_sids_0 = NULL;
5112 0 : TALLOC_CTX *_mem_save_sids_1 = NULL;
5113 0 : TALLOC_CTX *_mem_save_sids_2 = NULL;
5114 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5115 0 : if (ndr_flags & NDR_SCALARS) {
5116 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
5117 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5118 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
5119 0 : if (r->num_memberships > 10000) {
5120 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5121 : }
5122 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
5123 0 : if (r->num_sids > 10000) {
5124 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5125 : }
5126 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5127 0 : if (_ptr_info_array) {
5128 0 : NDR_PULL_ALLOC(ndr, r->info_array);
5129 : } else {
5130 0 : r->info_array = NULL;
5131 : }
5132 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
5133 0 : if (_ptr_group_attrs) {
5134 0 : NDR_PULL_ALLOC(ndr, r->group_attrs);
5135 : } else {
5136 0 : r->group_attrs = NULL;
5137 : }
5138 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
5139 0 : if (_ptr_sids) {
5140 0 : NDR_PULL_ALLOC(ndr, r->sids);
5141 : } else {
5142 0 : r->sids = NULL;
5143 : }
5144 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5145 : }
5146 0 : if (ndr_flags & NDR_BUFFERS) {
5147 0 : if (r->info_array) {
5148 0 : _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5149 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5150 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5151 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->info_array, &size_info_array_1));
5152 0 : NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
5153 0 : _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5154 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5155 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
5156 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5157 0 : if (_ptr_info_array) {
5158 0 : NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5159 : } else {
5160 0 : r->info_array[cntr_info_array_1] = NULL;
5161 : }
5162 : }
5163 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
5164 0 : if (r->info_array[cntr_info_array_1]) {
5165 0 : _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5166 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5167 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5168 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5169 : }
5170 : }
5171 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5172 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5173 : }
5174 0 : if (r->group_attrs) {
5175 0 : _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
5176 0 : NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
5177 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
5178 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->group_attrs, &size_group_attrs_1));
5179 0 : NDR_PULL_ALLOC_N(ndr, r->group_attrs, size_group_attrs_1);
5180 0 : _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
5181 0 : NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
5182 0 : for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < (size_group_attrs_1); cntr_group_attrs_1++) {
5183 0 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
5184 : }
5185 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
5186 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
5187 : }
5188 0 : if (r->sids) {
5189 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
5190 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
5191 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
5192 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
5193 0 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
5194 0 : _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
5195 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
5196 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
5197 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
5198 0 : if (_ptr_sids) {
5199 0 : NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
5200 : } else {
5201 0 : r->sids[cntr_sids_1] = NULL;
5202 : }
5203 : }
5204 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
5205 0 : if (r->sids[cntr_sids_1]) {
5206 0 : _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
5207 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
5208 0 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
5209 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
5210 : }
5211 : }
5212 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
5213 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
5214 : }
5215 0 : if (r->info_array) {
5216 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
5217 : }
5218 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
5219 : }
5220 0 : if (r->group_attrs) {
5221 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
5222 : }
5223 0 : if (r->sids) {
5224 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
5225 : }
5226 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
5227 : }
5228 : }
5229 0 : return NDR_ERR_SUCCESS;
5230 : }
5231 :
5232 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
5233 : {
5234 : uint32_t cntr_info_array_1;
5235 : uint32_t cntr_group_attrs_1;
5236 : uint32_t cntr_sids_1;
5237 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
5238 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5239 0 : ndr->depth++;
5240 0 : ndr_print_NTSTATUS(ndr, "status", r->status);
5241 0 : ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
5242 0 : ndr_print_uint32(ndr, "num_sids", r->num_sids);
5243 0 : ndr_print_ptr(ndr, "info_array", r->info_array);
5244 0 : ndr->depth++;
5245 0 : if (r->info_array) {
5246 0 : ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
5247 0 : ndr->depth++;
5248 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->num_memberships); cntr_info_array_1++) {
5249 0 : ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5250 0 : ndr->depth++;
5251 0 : if (r->info_array[cntr_info_array_1]) {
5252 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5253 : }
5254 0 : ndr->depth--;
5255 : }
5256 0 : ndr->depth--;
5257 : }
5258 0 : ndr->depth--;
5259 0 : ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
5260 0 : ndr->depth++;
5261 0 : if (r->group_attrs) {
5262 0 : ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
5263 0 : ndr->depth++;
5264 0 : for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < (r->num_memberships); cntr_group_attrs_1++) {
5265 0 : ndr_print_security_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
5266 : }
5267 0 : ndr->depth--;
5268 : }
5269 0 : ndr->depth--;
5270 0 : ndr_print_ptr(ndr, "sids", r->sids);
5271 0 : ndr->depth++;
5272 0 : if (r->sids) {
5273 0 : ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
5274 0 : ndr->depth++;
5275 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->num_sids); cntr_sids_1++) {
5276 0 : ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
5277 0 : ndr->depth++;
5278 0 : if (r->sids[cntr_sids_1]) {
5279 0 : ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
5280 : }
5281 0 : ndr->depth--;
5282 : }
5283 0 : ndr->depth--;
5284 : }
5285 0 : ndr->depth--;
5286 0 : ndr->depth--;
5287 : }
5288 :
5289 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5290 : {
5291 : uint32_t level;
5292 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5293 0 : if (ndr_flags & NDR_SCALARS) {
5294 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5295 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5296 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5297 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5298 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5299 0 : switch (level) {
5300 0 : case 1: {
5301 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5302 0 : break; }
5303 :
5304 0 : default:
5305 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5306 : }
5307 0 : }
5308 0 : if (ndr_flags & NDR_BUFFERS) {
5309 0 : if (!(ndr_flags & NDR_SCALARS)) {
5310 : /* We didn't get it above, and the token is not needed after this. */
5311 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5312 : }
5313 0 : switch (level) {
5314 0 : case 1:
5315 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5316 0 : break;
5317 :
5318 0 : default:
5319 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5320 : }
5321 0 : }
5322 0 : return NDR_ERR_SUCCESS;
5323 : }
5324 :
5325 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5326 : {
5327 : uint32_t level;
5328 : uint32_t _level;
5329 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5330 0 : if (ndr_flags & NDR_SCALARS) {
5331 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5332 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5333 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5334 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5335 0 : if (_level != level) {
5336 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5337 : }
5338 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5339 0 : switch (level) {
5340 0 : case 1: {
5341 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5342 0 : break; }
5343 :
5344 0 : default:
5345 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5346 : }
5347 0 : }
5348 0 : if (ndr_flags & NDR_BUFFERS) {
5349 0 : if (!(ndr_flags & NDR_SCALARS)) {
5350 : /* We didn't get it above, and the token is not needed after this. */
5351 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5352 : }
5353 0 : switch (level) {
5354 0 : case 1:
5355 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5356 0 : break;
5357 :
5358 0 : default:
5359 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5360 : }
5361 0 : }
5362 0 : return NDR_ERR_SUCCESS;
5363 : }
5364 :
5365 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5366 : {
5367 : uint32_t level;
5368 0 : level = ndr_print_steal_switch_value(ndr, r);
5369 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5370 0 : switch (level) {
5371 0 : case 1:
5372 0 : ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5373 0 : break;
5374 :
5375 0 : default:
5376 0 : ndr_print_bad_level(ndr, name, level);
5377 : }
5378 0 : }
5379 :
5380 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5381 : {
5382 : uint32_t cntr_info_array_1;
5383 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5384 0 : if (ndr_flags & NDR_SCALARS) {
5385 0 : NDR_CHECK(ndr_push_align(ndr, 5));
5386 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5387 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5388 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5389 0 : NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5390 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5391 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5392 : }
5393 0 : if (ndr_flags & NDR_BUFFERS) {
5394 0 : if (r->info_array) {
5395 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5396 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->count); cntr_info_array_1++) {
5397 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5398 : }
5399 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->count); cntr_info_array_1++) {
5400 0 : if (r->info_array[cntr_info_array_1]) {
5401 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5402 : }
5403 : }
5404 : }
5405 0 : if (r->domain) {
5406 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5407 : }
5408 : }
5409 0 : return NDR_ERR_SUCCESS;
5410 : }
5411 :
5412 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5413 : {
5414 : uint32_t _ptr_info_array;
5415 0 : uint32_t size_info_array_1 = 0;
5416 : uint32_t cntr_info_array_1;
5417 0 : TALLOC_CTX *_mem_save_info_array_0 = NULL;
5418 0 : TALLOC_CTX *_mem_save_info_array_1 = NULL;
5419 0 : TALLOC_CTX *_mem_save_info_array_2 = NULL;
5420 : uint32_t _ptr_domain;
5421 0 : TALLOC_CTX *_mem_save_domain_0 = NULL;
5422 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5423 0 : if (ndr_flags & NDR_SCALARS) {
5424 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
5425 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5426 0 : if (r->count < 1 || r->count > 10000) {
5427 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5428 : }
5429 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5430 0 : if (_ptr_info_array) {
5431 0 : NDR_PULL_ALLOC(ndr, r->info_array);
5432 : } else {
5433 0 : r->info_array = NULL;
5434 : }
5435 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5436 0 : NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5437 0 : if (r->type < 1 || r->type > 7) {
5438 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5439 : }
5440 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5441 0 : if (_ptr_domain) {
5442 0 : NDR_PULL_ALLOC(ndr, r->domain);
5443 : } else {
5444 0 : r->domain = NULL;
5445 : }
5446 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5447 : }
5448 0 : if (ndr_flags & NDR_BUFFERS) {
5449 0 : if (r->info_array) {
5450 0 : _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5451 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5452 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5453 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->info_array, &size_info_array_1));
5454 0 : NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
5455 0 : _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5456 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5457 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
5458 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5459 0 : if (_ptr_info_array) {
5460 0 : NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5461 : } else {
5462 0 : r->info_array[cntr_info_array_1] = NULL;
5463 : }
5464 : }
5465 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
5466 0 : if (r->info_array[cntr_info_array_1]) {
5467 0 : _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5468 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5469 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5470 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5471 : }
5472 : }
5473 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5474 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5475 : }
5476 0 : if (r->domain) {
5477 0 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5478 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5479 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5480 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5481 : }
5482 0 : if (r->info_array) {
5483 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5484 : }
5485 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (size_info_array_1); cntr_info_array_1++) {
5486 : }
5487 : }
5488 0 : return NDR_ERR_SUCCESS;
5489 : }
5490 :
5491 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5492 : {
5493 : uint32_t cntr_info_array_1;
5494 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5495 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5496 0 : ndr->depth++;
5497 0 : ndr_print_uint32(ndr, "count", r->count);
5498 0 : ndr_print_ptr(ndr, "info_array", r->info_array);
5499 0 : ndr->depth++;
5500 0 : if (r->info_array) {
5501 0 : ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5502 0 : ndr->depth++;
5503 0 : for (cntr_info_array_1 = 0; cntr_info_array_1 < (r->count); cntr_info_array_1++) {
5504 0 : ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5505 0 : ndr->depth++;
5506 0 : if (r->info_array[cntr_info_array_1]) {
5507 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5508 : }
5509 0 : ndr->depth--;
5510 : }
5511 0 : ndr->depth--;
5512 : }
5513 0 : ndr->depth--;
5514 0 : ndr_print_uint32(ndr, "flags", r->flags);
5515 0 : ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5516 0 : ndr_print_ptr(ndr, "domain", r->domain);
5517 0 : ndr->depth++;
5518 0 : if (r->domain) {
5519 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5520 : }
5521 0 : ndr->depth--;
5522 0 : ndr->depth--;
5523 : }
5524 :
5525 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5526 : {
5527 : uint32_t level;
5528 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5529 0 : if (ndr_flags & NDR_SCALARS) {
5530 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5531 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5532 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5533 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5534 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5535 0 : switch (level) {
5536 0 : case 1: {
5537 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5538 0 : break; }
5539 :
5540 0 : default:
5541 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5542 : }
5543 0 : }
5544 0 : if (ndr_flags & NDR_BUFFERS) {
5545 0 : if (!(ndr_flags & NDR_SCALARS)) {
5546 : /* We didn't get it above, and the token is not needed after this. */
5547 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5548 : }
5549 0 : switch (level) {
5550 0 : case 1:
5551 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5552 0 : break;
5553 :
5554 0 : default:
5555 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5556 : }
5557 0 : }
5558 0 : return NDR_ERR_SUCCESS;
5559 : }
5560 :
5561 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5562 : {
5563 : uint32_t level;
5564 : uint32_t _level;
5565 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5566 0 : if (ndr_flags & NDR_SCALARS) {
5567 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5568 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5569 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5570 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5571 0 : if (_level != level) {
5572 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5573 : }
5574 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5575 0 : switch (level) {
5576 0 : case 1: {
5577 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5578 0 : break; }
5579 :
5580 0 : default:
5581 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5582 : }
5583 0 : }
5584 0 : if (ndr_flags & NDR_BUFFERS) {
5585 0 : if (!(ndr_flags & NDR_SCALARS)) {
5586 : /* We didn't get it above, and the token is not needed after this. */
5587 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5588 : }
5589 0 : switch (level) {
5590 0 : case 1:
5591 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5592 0 : break;
5593 :
5594 0 : default:
5595 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5596 : }
5597 0 : }
5598 0 : return NDR_ERR_SUCCESS;
5599 : }
5600 :
5601 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5602 : {
5603 : uint32_t level;
5604 0 : level = ndr_print_steal_switch_value(ndr, r);
5605 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5606 0 : switch (level) {
5607 0 : case 1:
5608 0 : ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5609 0 : break;
5610 :
5611 0 : default:
5612 0 : ndr_print_bad_level(ndr, name, level);
5613 : }
5614 0 : }
5615 :
5616 4 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5617 : {
5618 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5619 4 : return NDR_ERR_SUCCESS;
5620 : }
5621 :
5622 4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5623 : {
5624 : uint32_t v;
5625 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5626 4 : *r = v;
5627 4 : return NDR_ERR_SUCCESS;
5628 : }
5629 :
5630 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5631 : {
5632 0 : ndr_print_uint32(ndr, name, r);
5633 0 : ndr->depth++;
5634 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r);
5635 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r);
5636 0 : ndr->depth--;
5637 0 : }
5638 :
5639 8 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5640 : {
5641 8 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5642 8 : if (ndr_flags & NDR_SCALARS) {
5643 4 : NDR_CHECK(ndr_push_align(ndr, 5));
5644 4 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
5645 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length));
5646 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5647 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5648 4 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5649 : }
5650 8 : if (ndr_flags & NDR_BUFFERS) {
5651 4 : if (r->restart_data) {
5652 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5653 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5654 : }
5655 : }
5656 8 : return NDR_ERR_SUCCESS;
5657 : }
5658 :
5659 8 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5660 : {
5661 : uint32_t _ptr_restart_data;
5662 8 : uint32_t size_restart_data_1 = 0;
5663 8 : TALLOC_CTX *_mem_save_restart_data_0 = NULL;
5664 8 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5665 8 : if (ndr_flags & NDR_SCALARS) {
5666 4 : NDR_CHECK(ndr_pull_align(ndr, 5));
5667 4 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
5668 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length));
5669 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5670 4 : if (r->restart_length > 10485760) {
5671 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5672 : }
5673 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5674 4 : if (_ptr_restart_data) {
5675 0 : NDR_PULL_ALLOC(ndr, r->restart_data);
5676 : } else {
5677 4 : r->restart_data = NULL;
5678 : }
5679 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5680 : }
5681 8 : if (ndr_flags & NDR_BUFFERS) {
5682 4 : if (r->restart_data) {
5683 0 : _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5684 0 : NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5685 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5686 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->restart_data, &size_restart_data_1));
5687 0 : NDR_PULL_ALLOC_N(ndr, r->restart_data, size_restart_data_1);
5688 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, size_restart_data_1));
5689 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5690 : }
5691 4 : if (r->restart_data) {
5692 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5693 : }
5694 : }
5695 8 : return NDR_ERR_SUCCESS;
5696 : }
5697 :
5698 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5699 : {
5700 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5701 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5702 0 : ndr->depth++;
5703 0 : ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags);
5704 0 : ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length);
5705 0 : ndr_print_uint32(ndr, "restart_length", r->restart_length);
5706 0 : ndr_print_ptr(ndr, "restart_data", r->restart_data);
5707 0 : ndr->depth++;
5708 0 : if (r->restart_data) {
5709 0 : ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5710 : }
5711 0 : ndr->depth--;
5712 0 : ndr->depth--;
5713 : }
5714 :
5715 4 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5716 : {
5717 : uint32_t level;
5718 4 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5719 4 : if (ndr_flags & NDR_SCALARS) {
5720 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5721 4 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5722 4 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5723 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5724 4 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5725 4 : switch (level) {
5726 4 : case 1: {
5727 4 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5728 4 : break; }
5729 :
5730 0 : default:
5731 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5732 : }
5733 0 : }
5734 4 : if (ndr_flags & NDR_BUFFERS) {
5735 4 : if (!(ndr_flags & NDR_SCALARS)) {
5736 : /* We didn't get it above, and the token is not needed after this. */
5737 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5738 : }
5739 4 : switch (level) {
5740 4 : case 1:
5741 4 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5742 4 : break;
5743 :
5744 0 : default:
5745 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5746 : }
5747 0 : }
5748 4 : return NDR_ERR_SUCCESS;
5749 : }
5750 :
5751 4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5752 : {
5753 : uint32_t level;
5754 : uint32_t _level;
5755 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5756 4 : if (ndr_flags & NDR_SCALARS) {
5757 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5758 4 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5759 4 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5760 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5761 4 : if (_level != level) {
5762 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5763 : }
5764 4 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5765 4 : switch (level) {
5766 4 : case 1: {
5767 4 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5768 4 : break; }
5769 :
5770 0 : default:
5771 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5772 : }
5773 0 : }
5774 4 : if (ndr_flags & NDR_BUFFERS) {
5775 4 : if (!(ndr_flags & NDR_SCALARS)) {
5776 : /* We didn't get it above, and the token is not needed after this. */
5777 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5778 : }
5779 4 : switch (level) {
5780 4 : case 1:
5781 4 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5782 4 : break;
5783 :
5784 0 : default:
5785 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5786 : }
5787 0 : }
5788 4 : return NDR_ERR_SUCCESS;
5789 : }
5790 :
5791 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5792 : {
5793 : uint32_t level;
5794 0 : level = ndr_print_steal_switch_value(ndr, r);
5795 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5796 0 : switch (level) {
5797 0 : case 1:
5798 0 : ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5799 0 : break;
5800 :
5801 0 : default:
5802 0 : ndr_print_bad_level(ndr, name, level);
5803 : }
5804 0 : }
5805 :
5806 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5807 : {
5808 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5809 0 : if (ndr_flags & NDR_SCALARS) {
5810 0 : NDR_CHECK(ndr_push_align(ndr, 8));
5811 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5812 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length));
5813 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number));
5814 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time));
5815 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number));
5816 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time));
5817 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number));
5818 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time));
5819 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5820 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5821 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data));
5822 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5823 : }
5824 0 : if (ndr_flags & NDR_BUFFERS) {
5825 0 : if (r->restart_data) {
5826 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5827 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5828 : }
5829 0 : if (r->log_data) {
5830 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length));
5831 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length));
5832 : }
5833 : }
5834 0 : return NDR_ERR_SUCCESS;
5835 : }
5836 :
5837 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5838 : {
5839 : uint32_t _ptr_restart_data;
5840 0 : uint32_t size_restart_data_1 = 0;
5841 0 : TALLOC_CTX *_mem_save_restart_data_0 = NULL;
5842 : uint32_t _ptr_log_data;
5843 0 : uint32_t size_log_data_1 = 0;
5844 0 : TALLOC_CTX *_mem_save_log_data_0 = NULL;
5845 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5846 0 : if (ndr_flags & NDR_SCALARS) {
5847 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
5848 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5849 0 : if (r->restart_length > 10485760) {
5850 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5851 : }
5852 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length));
5853 0 : if (r->log_length > 10485760) {
5854 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5855 : }
5856 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number));
5857 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time));
5858 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number));
5859 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time));
5860 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number));
5861 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time));
5862 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5863 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5864 0 : if (_ptr_restart_data) {
5865 0 : NDR_PULL_ALLOC(ndr, r->restart_data);
5866 : } else {
5867 0 : r->restart_data = NULL;
5868 : }
5869 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data));
5870 0 : if (_ptr_log_data) {
5871 0 : NDR_PULL_ALLOC(ndr, r->log_data);
5872 : } else {
5873 0 : r->log_data = NULL;
5874 : }
5875 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5876 : }
5877 0 : if (ndr_flags & NDR_BUFFERS) {
5878 0 : if (r->restart_data) {
5879 0 : _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5880 0 : NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5881 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5882 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->restart_data, &size_restart_data_1));
5883 0 : NDR_PULL_ALLOC_N(ndr, r->restart_data, size_restart_data_1);
5884 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, size_restart_data_1));
5885 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5886 : }
5887 0 : if (r->log_data) {
5888 0 : _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5889 0 : NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0);
5890 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data));
5891 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->log_data, &size_log_data_1));
5892 0 : NDR_PULL_ALLOC_N(ndr, r->log_data, size_log_data_1);
5893 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, size_log_data_1));
5894 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0);
5895 : }
5896 0 : if (r->restart_data) {
5897 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5898 : }
5899 0 : if (r->log_data) {
5900 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->log_data, r->log_length));
5901 : }
5902 : }
5903 0 : return NDR_ERR_SUCCESS;
5904 : }
5905 :
5906 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5907 : {
5908 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5909 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5910 0 : ndr->depth++;
5911 0 : ndr_print_uint32(ndr, "restart_length", r->restart_length);
5912 0 : ndr_print_uint32(ndr, "log_length", r->log_length);
5913 0 : ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number);
5914 0 : ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time);
5915 0 : ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number);
5916 0 : ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time);
5917 0 : ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number);
5918 0 : ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time);
5919 0 : ndr_print_NTSTATUS(ndr, "status", r->status);
5920 0 : ndr_print_ptr(ndr, "restart_data", r->restart_data);
5921 0 : ndr->depth++;
5922 0 : if (r->restart_data) {
5923 0 : ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5924 : }
5925 0 : ndr->depth--;
5926 0 : ndr_print_ptr(ndr, "log_data", r->log_data);
5927 0 : ndr->depth++;
5928 0 : if (r->log_data) {
5929 0 : ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length);
5930 : }
5931 0 : ndr->depth--;
5932 0 : ndr->depth--;
5933 : }
5934 :
5935 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5936 : {
5937 : uint32_t level;
5938 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5939 0 : if (ndr_flags & NDR_SCALARS) {
5940 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5941 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5942 0 : NDR_CHECK(ndr_push_union_align(ndr, 8));
5943 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5944 0 : NDR_CHECK(ndr_push_union_align(ndr, 8));
5945 0 : switch (level) {
5946 0 : case 1: {
5947 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5948 0 : break; }
5949 :
5950 0 : default:
5951 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5952 : }
5953 0 : }
5954 0 : if (ndr_flags & NDR_BUFFERS) {
5955 0 : if (!(ndr_flags & NDR_SCALARS)) {
5956 : /* We didn't get it above, and the token is not needed after this. */
5957 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5958 : }
5959 0 : switch (level) {
5960 0 : case 1:
5961 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5962 0 : break;
5963 :
5964 0 : default:
5965 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5966 : }
5967 0 : }
5968 0 : return NDR_ERR_SUCCESS;
5969 : }
5970 :
5971 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5972 : {
5973 : uint32_t level;
5974 : uint32_t _level;
5975 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5976 0 : if (ndr_flags & NDR_SCALARS) {
5977 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5978 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5979 0 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
5980 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5981 0 : if (_level != level) {
5982 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5983 : }
5984 0 : NDR_CHECK(ndr_pull_union_align(ndr, 8));
5985 0 : switch (level) {
5986 0 : case 1: {
5987 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5988 0 : break; }
5989 :
5990 0 : default:
5991 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5992 : }
5993 0 : }
5994 0 : if (ndr_flags & NDR_BUFFERS) {
5995 0 : if (!(ndr_flags & NDR_SCALARS)) {
5996 : /* We didn't get it above, and the token is not needed after this. */
5997 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5998 : }
5999 0 : switch (level) {
6000 0 : case 1:
6001 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
6002 0 : break;
6003 :
6004 0 : default:
6005 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6006 : }
6007 0 : }
6008 0 : return NDR_ERR_SUCCESS;
6009 : }
6010 :
6011 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
6012 : {
6013 : uint32_t level;
6014 0 : level = ndr_print_steal_switch_value(ndr, r);
6015 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
6016 0 : switch (level) {
6017 0 : case 1:
6018 0 : ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
6019 0 : break;
6020 :
6021 0 : default:
6022 0 : ndr_print_bad_level(ndr, name, level);
6023 : }
6024 0 : }
6025 :
6026 1688 : static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
6027 : {
6028 1904 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6029 1688 : return NDR_ERR_SUCCESS;
6030 : }
6031 :
6032 1480 : static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
6033 : {
6034 : uint32_t v;
6035 1660 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6036 1660 : *r = v;
6037 1480 : return NDR_ERR_SUCCESS;
6038 : }
6039 :
6040 488 : _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
6041 : {
6042 488 : const char *val = NULL;
6043 :
6044 488 : switch (r) {
6045 488 : case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
6046 0 : case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
6047 0 : case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
6048 0 : case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
6049 0 : case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
6050 0 : case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
6051 0 : case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
6052 0 : case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
6053 : }
6054 488 : ndr_print_enum(ndr, name, "ENUM", val, r);
6055 488 : }
6056 :
6057 1480 : static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
6058 : {
6059 1660 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6060 1480 : return NDR_ERR_SUCCESS;
6061 : }
6062 :
6063 1480 : static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
6064 : {
6065 : uint32_t v;
6066 1660 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6067 1660 : *r = v;
6068 1480 : return NDR_ERR_SUCCESS;
6069 : }
6070 :
6071 0 : _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
6072 : {
6073 0 : const char *val = NULL;
6074 :
6075 0 : switch (r) {
6076 0 : case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
6077 0 : case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
6078 0 : case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
6079 0 : case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
6080 0 : case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
6081 : }
6082 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
6083 0 : }
6084 :
6085 2960 : static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
6086 : {
6087 3320 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6088 2960 : return NDR_ERR_SUCCESS;
6089 : }
6090 :
6091 2960 : static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
6092 : {
6093 : uint32_t v;
6094 3320 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6095 3320 : *r = v;
6096 2960 : return NDR_ERR_SUCCESS;
6097 : }
6098 :
6099 0 : _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
6100 : {
6101 0 : const char *val = NULL;
6102 :
6103 0 : switch (r) {
6104 0 : case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
6105 0 : case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
6106 0 : case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
6107 0 : case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
6108 0 : case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
6109 0 : case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
6110 0 : case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
6111 0 : case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
6112 0 : case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
6113 0 : case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
6114 0 : case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
6115 0 : case DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID: val = "DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID"; break;
6116 0 : case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX"; break;
6117 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS"; break;
6118 0 : case DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON: val = "DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON"; break;
6119 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE"; break;
6120 0 : case DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME: val = "DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME"; break;
6121 0 : case DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAME: val = "DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAME"; break;
6122 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_NCS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_NCS"; break;
6123 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS"; break;
6124 0 : case DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID: val = "DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID"; break;
6125 0 : case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN"; break;
6126 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_ROLES: val = "DRSUAPI_DS_NAME_FORMAT_LIST_ROLES"; break;
6127 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER: val = "DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER"; break;
6128 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE"; break;
6129 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE"; break;
6130 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE"; break;
6131 0 : case DRSUAPI_DS_NAME_FORMAT_LIST_SITES: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SITES"; break;
6132 : }
6133 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
6134 0 : }
6135 :
6136 3344 : static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
6137 : {
6138 3344 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6139 3344 : if (ndr_flags & NDR_SCALARS) {
6140 1672 : NDR_CHECK(ndr_push_align(ndr, 5));
6141 1672 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
6142 1672 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6143 : }
6144 3344 : if (ndr_flags & NDR_BUFFERS) {
6145 1672 : if (r->str) {
6146 1672 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
6147 1672 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6148 1672 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
6149 1672 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6150 : }
6151 : }
6152 2984 : return NDR_ERR_SUCCESS;
6153 : }
6154 :
6155 3344 : static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
6156 : {
6157 : uint32_t _ptr_str;
6158 3344 : uint32_t size_str_1 = 0;
6159 3344 : uint32_t length_str_1 = 0;
6160 3344 : TALLOC_CTX *_mem_save_str_0 = NULL;
6161 3344 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6162 3344 : if (ndr_flags & NDR_SCALARS) {
6163 1672 : NDR_CHECK(ndr_pull_align(ndr, 5));
6164 1672 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
6165 1672 : if (_ptr_str) {
6166 1672 : NDR_PULL_ALLOC(ndr, r->str);
6167 : } else {
6168 0 : r->str = NULL;
6169 : }
6170 1672 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6171 : }
6172 3344 : if (ndr_flags & NDR_BUFFERS) {
6173 1672 : if (r->str) {
6174 1672 : _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
6175 1672 : NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
6176 1672 : NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
6177 1672 : NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
6178 1672 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->str, &size_str_1));
6179 1672 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->str, &length_str_1));
6180 1672 : if (length_str_1 > size_str_1) {
6181 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str_1, length_str_1);
6182 : }
6183 1672 : NDR_CHECK(ndr_check_string_terminator(ndr, length_str_1, sizeof(uint16_t)));
6184 1672 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, length_str_1, sizeof(uint16_t), CH_UTF16));
6185 1672 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
6186 : }
6187 : }
6188 2984 : return NDR_ERR_SUCCESS;
6189 : }
6190 :
6191 0 : _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
6192 : {
6193 0 : ndr_print_struct(ndr, name, "drsuapi_DsNameString");
6194 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6195 0 : ndr->depth++;
6196 0 : ndr_print_ptr(ndr, "str", r->str);
6197 0 : ndr->depth++;
6198 0 : if (r->str) {
6199 0 : ndr_print_string(ndr, "str", r->str);
6200 : }
6201 0 : ndr->depth--;
6202 0 : ndr->depth--;
6203 : }
6204 :
6205 3320 : static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
6206 : {
6207 : uint32_t cntr_names_1;
6208 3320 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6209 3320 : if (ndr_flags & NDR_SCALARS) {
6210 1660 : NDR_CHECK(ndr_push_align(ndr, 5));
6211 1660 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
6212 1660 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
6213 1840 : NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
6214 1840 : NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
6215 1840 : NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
6216 1660 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6217 1660 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
6218 1660 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6219 : }
6220 3320 : if (ndr_flags & NDR_BUFFERS) {
6221 1660 : if (r->names) {
6222 1660 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6223 3140 : for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
6224 1660 : NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
6225 : }
6226 3140 : for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
6227 1660 : NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
6228 : }
6229 : }
6230 : }
6231 2960 : return NDR_ERR_SUCCESS;
6232 : }
6233 :
6234 3320 : static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
6235 : {
6236 : uint32_t _ptr_names;
6237 3320 : uint32_t size_names_1 = 0;
6238 : uint32_t cntr_names_1;
6239 3320 : TALLOC_CTX *_mem_save_names_0 = NULL;
6240 3320 : TALLOC_CTX *_mem_save_names_1 = NULL;
6241 3320 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6242 3320 : if (ndr_flags & NDR_SCALARS) {
6243 1660 : NDR_CHECK(ndr_pull_align(ndr, 5));
6244 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
6245 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
6246 1840 : NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
6247 1840 : NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
6248 1840 : NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
6249 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6250 1660 : if (r->count < 1 || r->count > 10000) {
6251 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6252 : }
6253 1660 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
6254 1660 : if (_ptr_names) {
6255 1660 : NDR_PULL_ALLOC(ndr, r->names);
6256 : } else {
6257 0 : r->names = NULL;
6258 : }
6259 1660 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6260 : }
6261 3320 : if (ndr_flags & NDR_BUFFERS) {
6262 1660 : if (r->names) {
6263 1660 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6264 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
6265 1660 : NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
6266 1660 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->names, &size_names_1));
6267 1660 : NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
6268 1660 : _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6269 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
6270 3320 : for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
6271 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
6272 : }
6273 3140 : for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
6274 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
6275 : }
6276 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
6277 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
6278 : }
6279 1660 : if (r->names) {
6280 1660 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
6281 : }
6282 1912 : for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
6283 : }
6284 : }
6285 2960 : return NDR_ERR_SUCCESS;
6286 : }
6287 :
6288 0 : _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
6289 : {
6290 : uint32_t cntr_names_1;
6291 0 : ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
6292 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6293 0 : ndr->depth++;
6294 0 : ndr_print_uint32(ndr, "codepage", r->codepage);
6295 0 : ndr_print_uint32(ndr, "language", r->language);
6296 0 : ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
6297 0 : ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
6298 0 : ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
6299 0 : ndr_print_uint32(ndr, "count", r->count);
6300 0 : ndr_print_ptr(ndr, "names", r->names);
6301 0 : ndr->depth++;
6302 0 : if (r->names) {
6303 0 : ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
6304 0 : ndr->depth++;
6305 0 : for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
6306 0 : ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
6307 : }
6308 0 : ndr->depth--;
6309 : }
6310 0 : ndr->depth--;
6311 0 : ndr->depth--;
6312 : }
6313 :
6314 1660 : static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
6315 : {
6316 : uint32_t level;
6317 1660 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6318 1660 : if (ndr_flags & NDR_SCALARS) {
6319 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6320 1660 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6321 1660 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6322 1660 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6323 1660 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6324 1660 : switch (level) {
6325 1660 : case 1: {
6326 1660 : NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
6327 1480 : break; }
6328 :
6329 0 : default:
6330 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6331 : }
6332 0 : }
6333 1660 : if (ndr_flags & NDR_BUFFERS) {
6334 1660 : if (!(ndr_flags & NDR_SCALARS)) {
6335 : /* We didn't get it above, and the token is not needed after this. */
6336 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6337 : }
6338 1660 : switch (level) {
6339 1660 : case 1:
6340 1660 : NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
6341 1480 : break;
6342 :
6343 0 : default:
6344 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6345 : }
6346 0 : }
6347 1480 : return NDR_ERR_SUCCESS;
6348 : }
6349 :
6350 1660 : static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
6351 : {
6352 : uint32_t level;
6353 : uint32_t _level;
6354 1660 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6355 1660 : if (ndr_flags & NDR_SCALARS) {
6356 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6357 1660 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6358 1660 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6359 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6360 1660 : if (_level != level) {
6361 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6362 : }
6363 1660 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6364 1660 : switch (level) {
6365 1660 : case 1: {
6366 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
6367 1480 : break; }
6368 :
6369 0 : default:
6370 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6371 : }
6372 0 : }
6373 1660 : if (ndr_flags & NDR_BUFFERS) {
6374 1660 : if (!(ndr_flags & NDR_SCALARS)) {
6375 : /* We didn't get it above, and the token is not needed after this. */
6376 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6377 : }
6378 1660 : switch (level) {
6379 1660 : case 1:
6380 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
6381 1480 : break;
6382 :
6383 0 : default:
6384 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6385 : }
6386 0 : }
6387 1480 : return NDR_ERR_SUCCESS;
6388 : }
6389 :
6390 0 : _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
6391 : {
6392 : uint32_t level;
6393 0 : level = ndr_print_steal_switch_value(ndr, r);
6394 0 : ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
6395 0 : switch (level) {
6396 0 : case 1:
6397 0 : ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
6398 0 : break;
6399 :
6400 0 : default:
6401 0 : ndr_print_bad_level(ndr, name, level);
6402 : }
6403 0 : }
6404 :
6405 3808 : static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
6406 : {
6407 3808 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6408 3808 : if (ndr_flags & NDR_SCALARS) {
6409 1904 : NDR_CHECK(ndr_push_align(ndr, 5));
6410 2120 : NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
6411 1904 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
6412 1904 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
6413 1904 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6414 : }
6415 3808 : if (ndr_flags & NDR_BUFFERS) {
6416 1904 : if (r->dns_domain_name) {
6417 1821 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6418 1821 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6419 1821 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6420 1821 : 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));
6421 : }
6422 1904 : if (r->result_name) {
6423 1763 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6424 1763 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6425 1763 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6426 1763 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6427 : }
6428 : }
6429 3376 : return NDR_ERR_SUCCESS;
6430 : }
6431 :
6432 3320 : static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6433 : {
6434 : uint32_t _ptr_dns_domain_name;
6435 3320 : uint32_t size_dns_domain_name_1 = 0;
6436 3320 : uint32_t length_dns_domain_name_1 = 0;
6437 3320 : TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
6438 : uint32_t _ptr_result_name;
6439 3320 : uint32_t size_result_name_1 = 0;
6440 3320 : uint32_t length_result_name_1 = 0;
6441 3320 : TALLOC_CTX *_mem_save_result_name_0 = NULL;
6442 3320 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6443 3320 : if (ndr_flags & NDR_SCALARS) {
6444 1660 : NDR_CHECK(ndr_pull_align(ndr, 5));
6445 1840 : NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6446 1660 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6447 1660 : if (_ptr_dns_domain_name) {
6448 1577 : NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6449 : } else {
6450 83 : r->dns_domain_name = NULL;
6451 : }
6452 1660 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6453 1660 : if (_ptr_result_name) {
6454 1519 : NDR_PULL_ALLOC(ndr, r->result_name);
6455 : } else {
6456 141 : r->result_name = NULL;
6457 : }
6458 1660 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6459 : }
6460 3320 : if (ndr_flags & NDR_BUFFERS) {
6461 1660 : if (r->dns_domain_name) {
6462 1577 : _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6463 1577 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6464 1577 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6465 1577 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6466 1577 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_domain_name, &size_dns_domain_name_1));
6467 1577 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_domain_name, &length_dns_domain_name_1));
6468 1577 : if (length_dns_domain_name_1 > size_dns_domain_name_1) {
6469 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_name_1, length_dns_domain_name_1);
6470 : }
6471 1577 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_name_1, sizeof(uint16_t)));
6472 1577 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, length_dns_domain_name_1, sizeof(uint16_t), CH_UTF16));
6473 1577 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6474 : }
6475 1660 : if (r->result_name) {
6476 1519 : _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6477 1519 : NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6478 1519 : NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6479 1519 : NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6480 1519 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->result_name, &size_result_name_1));
6481 1519 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->result_name, &length_result_name_1));
6482 1519 : if (length_result_name_1 > size_result_name_1) {
6483 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_result_name_1, length_result_name_1);
6484 : }
6485 1519 : NDR_CHECK(ndr_check_string_terminator(ndr, length_result_name_1, sizeof(uint16_t)));
6486 1519 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, length_result_name_1, sizeof(uint16_t), CH_UTF16));
6487 1519 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6488 : }
6489 : }
6490 2960 : return NDR_ERR_SUCCESS;
6491 : }
6492 :
6493 488 : _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6494 : {
6495 488 : ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6496 488 : if (r == NULL) { ndr_print_null(ndr); return; }
6497 488 : ndr->depth++;
6498 488 : ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6499 488 : ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6500 488 : ndr->depth++;
6501 488 : if (r->dns_domain_name) {
6502 488 : ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6503 : }
6504 488 : ndr->depth--;
6505 488 : ndr_print_ptr(ndr, "result_name", r->result_name);
6506 488 : ndr->depth++;
6507 488 : if (r->result_name) {
6508 488 : ndr_print_string(ndr, "result_name", r->result_name);
6509 : }
6510 488 : ndr->depth--;
6511 488 : ndr->depth--;
6512 : }
6513 :
6514 1904 : static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6515 : {
6516 : uint32_t cntr_array_1;
6517 1904 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6518 1904 : if (ndr_flags & NDR_SCALARS) {
6519 1904 : NDR_CHECK(ndr_push_align(ndr, 5));
6520 1904 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6521 1904 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6522 1904 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6523 : }
6524 1904 : if (ndr_flags & NDR_BUFFERS) {
6525 1904 : if (r->array) {
6526 1904 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6527 3592 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
6528 1904 : NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6529 : }
6530 3592 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
6531 1904 : NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6532 : }
6533 : }
6534 : }
6535 1688 : return NDR_ERR_SUCCESS;
6536 : }
6537 :
6538 1660 : static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6539 : {
6540 : uint32_t _ptr_array;
6541 1660 : uint32_t size_array_1 = 0;
6542 : uint32_t cntr_array_1;
6543 1660 : TALLOC_CTX *_mem_save_array_0 = NULL;
6544 1660 : TALLOC_CTX *_mem_save_array_1 = NULL;
6545 1660 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6546 1660 : if (ndr_flags & NDR_SCALARS) {
6547 1660 : NDR_CHECK(ndr_pull_align(ndr, 5));
6548 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6549 1660 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6550 1660 : if (_ptr_array) {
6551 1660 : NDR_PULL_ALLOC(ndr, r->array);
6552 : } else {
6553 0 : r->array = NULL;
6554 : }
6555 1660 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6556 : }
6557 1660 : if (ndr_flags & NDR_BUFFERS) {
6558 1660 : if (r->array) {
6559 1660 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6560 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6561 1660 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6562 1660 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
6563 1660 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
6564 1660 : _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6565 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6566 3320 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
6567 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6568 : }
6569 3140 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
6570 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6571 : }
6572 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6573 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6574 : }
6575 1660 : if (r->array) {
6576 1660 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6577 : }
6578 1912 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
6579 : }
6580 : }
6581 1480 : return NDR_ERR_SUCCESS;
6582 : }
6583 :
6584 488 : _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6585 : {
6586 : uint32_t cntr_array_1;
6587 488 : ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6588 488 : if (r == NULL) { ndr_print_null(ndr); return; }
6589 488 : ndr->depth++;
6590 488 : ndr_print_uint32(ndr, "count", r->count);
6591 488 : ndr_print_ptr(ndr, "array", r->array);
6592 488 : ndr->depth++;
6593 488 : if (r->array) {
6594 488 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6595 488 : ndr->depth++;
6596 976 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
6597 488 : ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6598 : }
6599 488 : ndr->depth--;
6600 : }
6601 488 : ndr->depth--;
6602 488 : ndr->depth--;
6603 : }
6604 :
6605 1904 : static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6606 : {
6607 : uint32_t level;
6608 1904 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6609 1904 : if (ndr_flags & NDR_SCALARS) {
6610 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6611 1904 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6612 1904 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6613 1904 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6614 1904 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6615 1904 : switch (level) {
6616 1904 : case 1: {
6617 1904 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6618 1688 : break; }
6619 :
6620 0 : default:
6621 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6622 : }
6623 0 : }
6624 1904 : if (ndr_flags & NDR_BUFFERS) {
6625 1904 : if (!(ndr_flags & NDR_SCALARS)) {
6626 : /* We didn't get it above, and the token is not needed after this. */
6627 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6628 : }
6629 1904 : switch (level) {
6630 1904 : case 1:
6631 1904 : if (r->ctr1) {
6632 1904 : NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6633 : }
6634 1688 : break;
6635 :
6636 0 : default:
6637 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6638 : }
6639 0 : }
6640 1688 : return NDR_ERR_SUCCESS;
6641 : }
6642 :
6643 1660 : static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6644 : {
6645 : uint32_t level;
6646 : uint32_t _level;
6647 1660 : TALLOC_CTX *_mem_save_ctr1_0 = NULL;
6648 : uint32_t _ptr_ctr1;
6649 1660 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6650 1660 : if (ndr_flags & NDR_SCALARS) {
6651 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6652 1660 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6653 1660 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6654 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6655 1660 : if (_level != level) {
6656 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6657 : }
6658 1660 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6659 1660 : switch (level) {
6660 1660 : case 1: {
6661 1660 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6662 1660 : if (_ptr_ctr1) {
6663 1660 : NDR_PULL_ALLOC(ndr, r->ctr1);
6664 : } else {
6665 0 : r->ctr1 = NULL;
6666 : }
6667 1480 : break; }
6668 :
6669 0 : default:
6670 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6671 : }
6672 0 : }
6673 1660 : if (ndr_flags & NDR_BUFFERS) {
6674 1660 : if (!(ndr_flags & NDR_SCALARS)) {
6675 : /* We didn't get it above, and the token is not needed after this. */
6676 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6677 : }
6678 1660 : switch (level) {
6679 1660 : case 1:
6680 1660 : if (r->ctr1) {
6681 1660 : _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6682 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6683 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6684 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6685 : }
6686 1480 : break;
6687 :
6688 0 : default:
6689 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6690 : }
6691 0 : }
6692 1480 : return NDR_ERR_SUCCESS;
6693 : }
6694 :
6695 488 : _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6696 : {
6697 : uint32_t level;
6698 488 : level = ndr_print_steal_switch_value(ndr, r);
6699 488 : ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6700 488 : switch (level) {
6701 488 : case 1:
6702 488 : ndr_print_ptr(ndr, "ctr1", r->ctr1);
6703 488 : ndr->depth++;
6704 488 : if (r->ctr1) {
6705 488 : ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6706 : }
6707 488 : ndr->depth--;
6708 488 : break;
6709 :
6710 0 : default:
6711 0 : ndr_print_bad_level(ndr, name, level);
6712 : }
6713 488 : }
6714 :
6715 4 : static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6716 : {
6717 4 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6718 4 : return NDR_ERR_SUCCESS;
6719 : }
6720 :
6721 4 : static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6722 : {
6723 : uint32_t v;
6724 4 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6725 4 : *r = v;
6726 4 : return NDR_ERR_SUCCESS;
6727 : }
6728 :
6729 0 : _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6730 : {
6731 0 : const char *val = NULL;
6732 :
6733 0 : switch (r) {
6734 0 : case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6735 0 : case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6736 0 : case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6737 : }
6738 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
6739 0 : }
6740 :
6741 8 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6742 : {
6743 : uint32_t cntr_spn_names_1;
6744 8 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6745 8 : if (ndr_flags & NDR_SCALARS) {
6746 4 : NDR_CHECK(ndr_push_align(ndr, 5));
6747 4 : NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6748 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6749 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6750 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6751 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6752 4 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6753 : }
6754 8 : if (ndr_flags & NDR_BUFFERS) {
6755 4 : if (r->object_dn) {
6756 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6757 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6758 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6759 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6760 : }
6761 4 : if (r->spn_names) {
6762 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6763 16 : for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (r->count); cntr_spn_names_1++) {
6764 12 : NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6765 : }
6766 16 : for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (r->count); cntr_spn_names_1++) {
6767 12 : NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6768 : }
6769 : }
6770 : }
6771 8 : return NDR_ERR_SUCCESS;
6772 : }
6773 :
6774 8 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6775 : {
6776 : uint32_t _ptr_object_dn;
6777 8 : uint32_t size_object_dn_1 = 0;
6778 8 : uint32_t length_object_dn_1 = 0;
6779 8 : TALLOC_CTX *_mem_save_object_dn_0 = NULL;
6780 : uint32_t _ptr_spn_names;
6781 8 : uint32_t size_spn_names_1 = 0;
6782 : uint32_t cntr_spn_names_1;
6783 8 : TALLOC_CTX *_mem_save_spn_names_0 = NULL;
6784 8 : TALLOC_CTX *_mem_save_spn_names_1 = NULL;
6785 8 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6786 8 : if (ndr_flags & NDR_SCALARS) {
6787 4 : NDR_CHECK(ndr_pull_align(ndr, 5));
6788 4 : NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6789 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6790 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6791 4 : if (_ptr_object_dn) {
6792 4 : NDR_PULL_ALLOC(ndr, r->object_dn);
6793 : } else {
6794 0 : r->object_dn = NULL;
6795 : }
6796 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6797 4 : if (r->count > 10000) {
6798 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6799 : }
6800 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6801 4 : if (_ptr_spn_names) {
6802 4 : NDR_PULL_ALLOC(ndr, r->spn_names);
6803 : } else {
6804 0 : r->spn_names = NULL;
6805 : }
6806 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6807 : }
6808 8 : if (ndr_flags & NDR_BUFFERS) {
6809 4 : if (r->object_dn) {
6810 4 : _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6811 4 : NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6812 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6813 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6814 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
6815 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
6816 4 : if (length_object_dn_1 > size_object_dn_1) {
6817 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
6818 : }
6819 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
6820 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
6821 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6822 : }
6823 4 : if (r->spn_names) {
6824 4 : _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6825 4 : NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6826 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6827 4 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->spn_names, &size_spn_names_1));
6828 4 : NDR_PULL_ALLOC_N(ndr, r->spn_names, size_spn_names_1);
6829 4 : _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6830 4 : NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6831 16 : for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (size_spn_names_1); cntr_spn_names_1++) {
6832 12 : NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6833 : }
6834 16 : for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (size_spn_names_1); cntr_spn_names_1++) {
6835 12 : NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6836 : }
6837 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6838 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6839 : }
6840 4 : if (r->spn_names) {
6841 4 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6842 : }
6843 4 : for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (size_spn_names_1); cntr_spn_names_1++) {
6844 : }
6845 : }
6846 8 : return NDR_ERR_SUCCESS;
6847 : }
6848 :
6849 0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6850 : {
6851 : uint32_t cntr_spn_names_1;
6852 0 : ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6853 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6854 0 : ndr->depth++;
6855 0 : ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6856 0 : ndr_print_uint32(ndr, "unknown1", r->unknown1);
6857 0 : ndr_print_ptr(ndr, "object_dn", r->object_dn);
6858 0 : ndr->depth++;
6859 0 : if (r->object_dn) {
6860 0 : ndr_print_string(ndr, "object_dn", r->object_dn);
6861 : }
6862 0 : ndr->depth--;
6863 0 : ndr_print_uint32(ndr, "count", r->count);
6864 0 : ndr_print_ptr(ndr, "spn_names", r->spn_names);
6865 0 : ndr->depth++;
6866 0 : if (r->spn_names) {
6867 0 : ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6868 0 : ndr->depth++;
6869 0 : for (cntr_spn_names_1 = 0; cntr_spn_names_1 < (r->count); cntr_spn_names_1++) {
6870 0 : ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6871 : }
6872 0 : ndr->depth--;
6873 : }
6874 0 : ndr->depth--;
6875 0 : ndr->depth--;
6876 : }
6877 :
6878 4 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6879 : {
6880 : uint32_t level;
6881 4 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6882 4 : if (ndr_flags & NDR_SCALARS) {
6883 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6884 4 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6885 4 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6886 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6887 4 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6888 4 : switch (level) {
6889 4 : case 1: {
6890 4 : NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6891 4 : break; }
6892 :
6893 0 : default:
6894 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6895 : }
6896 0 : }
6897 4 : if (ndr_flags & NDR_BUFFERS) {
6898 4 : if (!(ndr_flags & NDR_SCALARS)) {
6899 : /* We didn't get it above, and the token is not needed after this. */
6900 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6901 : }
6902 4 : switch (level) {
6903 4 : case 1:
6904 4 : NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6905 4 : break;
6906 :
6907 0 : default:
6908 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6909 : }
6910 0 : }
6911 4 : return NDR_ERR_SUCCESS;
6912 : }
6913 :
6914 4 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6915 : {
6916 : uint32_t level;
6917 : uint32_t _level;
6918 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6919 4 : if (ndr_flags & NDR_SCALARS) {
6920 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6921 4 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6922 4 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6923 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6924 4 : if (_level != level) {
6925 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6926 : }
6927 4 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6928 4 : switch (level) {
6929 4 : case 1: {
6930 4 : NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6931 4 : break; }
6932 :
6933 0 : default:
6934 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6935 : }
6936 0 : }
6937 4 : if (ndr_flags & NDR_BUFFERS) {
6938 4 : if (!(ndr_flags & NDR_SCALARS)) {
6939 : /* We didn't get it above, and the token is not needed after this. */
6940 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6941 : }
6942 4 : switch (level) {
6943 4 : case 1:
6944 4 : NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6945 4 : break;
6946 :
6947 0 : default:
6948 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6949 : }
6950 0 : }
6951 4 : return NDR_ERR_SUCCESS;
6952 : }
6953 :
6954 0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6955 : {
6956 : uint32_t level;
6957 0 : level = ndr_print_steal_switch_value(ndr, r);
6958 0 : ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6959 0 : switch (level) {
6960 0 : case 1:
6961 0 : ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6962 0 : break;
6963 :
6964 0 : default:
6965 0 : ndr_print_bad_level(ndr, name, level);
6966 : }
6967 0 : }
6968 :
6969 4 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6970 : {
6971 4 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6972 4 : if (ndr_flags & NDR_SCALARS) {
6973 4 : NDR_CHECK(ndr_push_align(ndr, 4));
6974 4 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6975 4 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6976 : }
6977 4 : if (ndr_flags & NDR_BUFFERS) {
6978 : }
6979 4 : return NDR_ERR_SUCCESS;
6980 : }
6981 :
6982 4 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6983 : {
6984 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6985 4 : if (ndr_flags & NDR_SCALARS) {
6986 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
6987 4 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6988 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6989 : }
6990 4 : if (ndr_flags & NDR_BUFFERS) {
6991 : }
6992 4 : return NDR_ERR_SUCCESS;
6993 : }
6994 :
6995 0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6996 : {
6997 0 : ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6998 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6999 0 : ndr->depth++;
7000 0 : ndr_print_WERROR(ndr, "status", r->status);
7001 0 : ndr->depth--;
7002 : }
7003 :
7004 4 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
7005 : {
7006 : uint32_t level;
7007 4 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7008 4 : if (ndr_flags & NDR_SCALARS) {
7009 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7010 4 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7011 4 : NDR_CHECK(ndr_push_union_align(ndr, 4));
7012 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7013 4 : NDR_CHECK(ndr_push_union_align(ndr, 4));
7014 4 : switch (level) {
7015 4 : case 1: {
7016 4 : NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
7017 4 : break; }
7018 :
7019 0 : default:
7020 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7021 : }
7022 0 : }
7023 4 : if (ndr_flags & NDR_BUFFERS) {
7024 0 : if (!(ndr_flags & NDR_SCALARS)) {
7025 : /* We didn't get it above, and the token is not needed after this. */
7026 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7027 : }
7028 0 : switch (level) {
7029 0 : case 1:
7030 0 : break;
7031 :
7032 0 : default:
7033 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7034 : }
7035 4 : }
7036 4 : return NDR_ERR_SUCCESS;
7037 : }
7038 :
7039 4 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
7040 : {
7041 : uint32_t level;
7042 : uint32_t _level;
7043 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7044 4 : if (ndr_flags & NDR_SCALARS) {
7045 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7046 4 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7047 4 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
7048 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7049 4 : if (_level != level) {
7050 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7051 : }
7052 4 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
7053 4 : switch (level) {
7054 4 : case 1: {
7055 4 : NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
7056 4 : break; }
7057 :
7058 0 : default:
7059 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7060 : }
7061 0 : }
7062 4 : if (ndr_flags & NDR_BUFFERS) {
7063 0 : if (!(ndr_flags & NDR_SCALARS)) {
7064 : /* We didn't get it above, and the token is not needed after this. */
7065 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7066 : }
7067 0 : switch (level) {
7068 0 : case 1:
7069 0 : break;
7070 :
7071 0 : default:
7072 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7073 : }
7074 4 : }
7075 4 : return NDR_ERR_SUCCESS;
7076 : }
7077 :
7078 0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
7079 : {
7080 : uint32_t level;
7081 0 : level = ndr_print_steal_switch_value(ndr, r);
7082 0 : ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
7083 0 : switch (level) {
7084 0 : case 1:
7085 0 : ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
7086 0 : break;
7087 :
7088 0 : default:
7089 0 : ndr_print_bad_level(ndr, name, level);
7090 : }
7091 0 : }
7092 :
7093 14 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
7094 : {
7095 14 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7096 14 : if (ndr_flags & NDR_SCALARS) {
7097 7 : NDR_CHECK(ndr_push_align(ndr, 5));
7098 7 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7099 7 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
7100 7 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
7101 7 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7102 : }
7103 14 : if (ndr_flags & NDR_BUFFERS) {
7104 7 : if (r->server_dn) {
7105 7 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7106 7 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7107 7 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7108 7 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7109 : }
7110 7 : if (r->domain_dn) {
7111 7 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
7112 7 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7113 7 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
7114 7 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7115 : }
7116 : }
7117 14 : return NDR_ERR_SUCCESS;
7118 : }
7119 :
7120 14 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
7121 : {
7122 : uint32_t _ptr_server_dn;
7123 14 : uint32_t size_server_dn_1 = 0;
7124 14 : uint32_t length_server_dn_1 = 0;
7125 14 : TALLOC_CTX *_mem_save_server_dn_0 = NULL;
7126 : uint32_t _ptr_domain_dn;
7127 14 : uint32_t size_domain_dn_1 = 0;
7128 14 : uint32_t length_domain_dn_1 = 0;
7129 14 : TALLOC_CTX *_mem_save_domain_dn_0 = NULL;
7130 14 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7131 14 : if (ndr_flags & NDR_SCALARS) {
7132 7 : NDR_CHECK(ndr_pull_align(ndr, 5));
7133 7 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7134 7 : if (_ptr_server_dn) {
7135 7 : NDR_PULL_ALLOC(ndr, r->server_dn);
7136 : } else {
7137 0 : r->server_dn = NULL;
7138 : }
7139 7 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
7140 7 : if (_ptr_domain_dn) {
7141 7 : NDR_PULL_ALLOC(ndr, r->domain_dn);
7142 : } else {
7143 0 : r->domain_dn = NULL;
7144 : }
7145 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
7146 7 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7147 : }
7148 14 : if (ndr_flags & NDR_BUFFERS) {
7149 7 : if (r->server_dn) {
7150 7 : _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7151 7 : NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7152 7 : NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7153 7 : NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7154 7 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
7155 7 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
7156 7 : if (length_server_dn_1 > size_server_dn_1) {
7157 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
7158 : }
7159 7 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
7160 7 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
7161 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7162 : }
7163 7 : if (r->domain_dn) {
7164 7 : _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7165 7 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
7166 7 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
7167 7 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
7168 7 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_dn, &size_domain_dn_1));
7169 7 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_dn, &length_domain_dn_1));
7170 7 : if (length_domain_dn_1 > size_domain_dn_1) {
7171 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_dn_1, length_domain_dn_1);
7172 : }
7173 7 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_dn_1, sizeof(uint16_t)));
7174 7 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, length_domain_dn_1, sizeof(uint16_t), CH_UTF16));
7175 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
7176 : }
7177 : }
7178 14 : return NDR_ERR_SUCCESS;
7179 : }
7180 :
7181 0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
7182 : {
7183 0 : ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
7184 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7185 0 : ndr->depth++;
7186 0 : ndr_print_ptr(ndr, "server_dn", r->server_dn);
7187 0 : ndr->depth++;
7188 0 : if (r->server_dn) {
7189 0 : ndr_print_string(ndr, "server_dn", r->server_dn);
7190 : }
7191 0 : ndr->depth--;
7192 0 : ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
7193 0 : ndr->depth++;
7194 0 : if (r->domain_dn) {
7195 0 : ndr_print_string(ndr, "domain_dn", r->domain_dn);
7196 : }
7197 0 : ndr->depth--;
7198 0 : ndr_print_uint32(ndr, "commit", r->commit);
7199 0 : ndr->depth--;
7200 : }
7201 :
7202 7 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
7203 : {
7204 : uint32_t level;
7205 7 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7206 7 : if (ndr_flags & NDR_SCALARS) {
7207 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7208 7 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7209 7 : NDR_CHECK(ndr_push_union_align(ndr, 5));
7210 7 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7211 7 : NDR_CHECK(ndr_push_union_align(ndr, 5));
7212 7 : switch (level) {
7213 7 : case 1: {
7214 7 : NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
7215 7 : break; }
7216 :
7217 0 : default:
7218 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7219 : }
7220 0 : }
7221 7 : if (ndr_flags & NDR_BUFFERS) {
7222 7 : if (!(ndr_flags & NDR_SCALARS)) {
7223 : /* We didn't get it above, and the token is not needed after this. */
7224 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7225 : }
7226 7 : switch (level) {
7227 7 : case 1:
7228 7 : NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
7229 7 : break;
7230 :
7231 0 : default:
7232 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7233 : }
7234 0 : }
7235 7 : return NDR_ERR_SUCCESS;
7236 : }
7237 :
7238 7 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
7239 : {
7240 : uint32_t level;
7241 : uint32_t _level;
7242 7 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7243 7 : if (ndr_flags & NDR_SCALARS) {
7244 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7245 7 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7246 7 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
7247 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7248 7 : if (_level != level) {
7249 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7250 : }
7251 7 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
7252 7 : switch (level) {
7253 7 : case 1: {
7254 7 : NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
7255 7 : break; }
7256 :
7257 0 : default:
7258 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7259 : }
7260 0 : }
7261 7 : if (ndr_flags & NDR_BUFFERS) {
7262 7 : if (!(ndr_flags & NDR_SCALARS)) {
7263 : /* We didn't get it above, and the token is not needed after this. */
7264 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7265 : }
7266 7 : switch (level) {
7267 7 : case 1:
7268 7 : NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
7269 7 : break;
7270 :
7271 0 : default:
7272 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7273 : }
7274 0 : }
7275 7 : return NDR_ERR_SUCCESS;
7276 : }
7277 :
7278 0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
7279 : {
7280 : uint32_t level;
7281 0 : level = ndr_print_steal_switch_value(ndr, r);
7282 0 : ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
7283 0 : switch (level) {
7284 0 : case 1:
7285 0 : ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
7286 0 : break;
7287 :
7288 0 : default:
7289 0 : ndr_print_bad_level(ndr, name, level);
7290 : }
7291 0 : }
7292 :
7293 7 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
7294 : {
7295 7 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7296 7 : if (ndr_flags & NDR_SCALARS) {
7297 7 : NDR_CHECK(ndr_push_align(ndr, 4));
7298 7 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
7299 7 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7300 : }
7301 7 : if (ndr_flags & NDR_BUFFERS) {
7302 : }
7303 7 : return NDR_ERR_SUCCESS;
7304 : }
7305 :
7306 7 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
7307 : {
7308 7 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7309 7 : if (ndr_flags & NDR_SCALARS) {
7310 7 : NDR_CHECK(ndr_pull_align(ndr, 4));
7311 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
7312 7 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7313 : }
7314 7 : if (ndr_flags & NDR_BUFFERS) {
7315 : }
7316 7 : return NDR_ERR_SUCCESS;
7317 : }
7318 :
7319 0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
7320 : {
7321 0 : ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
7322 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7323 0 : ndr->depth++;
7324 0 : ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
7325 0 : ndr->depth--;
7326 : }
7327 :
7328 7 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
7329 : {
7330 : uint32_t level;
7331 7 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7332 7 : if (ndr_flags & NDR_SCALARS) {
7333 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7334 7 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7335 7 : NDR_CHECK(ndr_push_union_align(ndr, 4));
7336 7 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7337 7 : NDR_CHECK(ndr_push_union_align(ndr, 4));
7338 7 : switch (level) {
7339 7 : case 1: {
7340 7 : NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
7341 7 : break; }
7342 :
7343 0 : default:
7344 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7345 : }
7346 0 : }
7347 7 : if (ndr_flags & NDR_BUFFERS) {
7348 0 : if (!(ndr_flags & NDR_SCALARS)) {
7349 : /* We didn't get it above, and the token is not needed after this. */
7350 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7351 : }
7352 0 : switch (level) {
7353 0 : case 1:
7354 0 : break;
7355 :
7356 0 : default:
7357 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7358 : }
7359 5 : }
7360 7 : return NDR_ERR_SUCCESS;
7361 : }
7362 :
7363 7 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
7364 : {
7365 : uint32_t level;
7366 : uint32_t _level;
7367 7 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7368 7 : if (ndr_flags & NDR_SCALARS) {
7369 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7370 7 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7371 7 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
7372 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7373 7 : if (_level != level) {
7374 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7375 : }
7376 7 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
7377 7 : switch (level) {
7378 7 : case 1: {
7379 7 : NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
7380 7 : break; }
7381 :
7382 0 : default:
7383 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7384 : }
7385 0 : }
7386 7 : if (ndr_flags & NDR_BUFFERS) {
7387 0 : if (!(ndr_flags & NDR_SCALARS)) {
7388 : /* We didn't get it above, and the token is not needed after this. */
7389 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7390 : }
7391 0 : switch (level) {
7392 0 : case 1:
7393 0 : break;
7394 :
7395 0 : default:
7396 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7397 : }
7398 5 : }
7399 7 : return NDR_ERR_SUCCESS;
7400 : }
7401 :
7402 0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
7403 : {
7404 : uint32_t level;
7405 0 : level = ndr_print_steal_switch_value(ndr, r);
7406 0 : ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
7407 0 : switch (level) {
7408 0 : case 1:
7409 0 : ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
7410 0 : break;
7411 :
7412 0 : default:
7413 0 : ndr_print_bad_level(ndr, name, level);
7414 : }
7415 0 : }
7416 :
7417 18 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtrLevels(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetDCInfoCtrLevels r)
7418 : {
7419 18 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
7420 18 : return NDR_ERR_SUCCESS;
7421 : }
7422 :
7423 12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtrLevels(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetDCInfoCtrLevels *r)
7424 : {
7425 : uint32_t v;
7426 12 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
7427 12 : *r = v;
7428 12 : return NDR_ERR_SUCCESS;
7429 : }
7430 :
7431 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtrLevels(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetDCInfoCtrLevels r)
7432 : {
7433 0 : const char *val = NULL;
7434 :
7435 0 : switch (r) {
7436 0 : case DRSUAPI_DC_INFO_CTR_1: val = "DRSUAPI_DC_INFO_CTR_1"; break;
7437 0 : case DRSUAPI_DC_INFO_CTR_2: val = "DRSUAPI_DC_INFO_CTR_2"; break;
7438 0 : case DRSUAPI_DC_INFO_CTR_3: val = "DRSUAPI_DC_INFO_CTR_3"; break;
7439 0 : case DRSUAPI_DC_CONNECTION_CTR_01: val = "DRSUAPI_DC_CONNECTION_CTR_01"; break;
7440 : }
7441 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
7442 0 : }
7443 :
7444 12 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
7445 : {
7446 12 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7447 12 : if (ndr_flags & NDR_SCALARS) {
7448 6 : NDR_CHECK(ndr_push_align(ndr, 5));
7449 6 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
7450 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, r->level));
7451 6 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7452 : }
7453 12 : if (ndr_flags & NDR_BUFFERS) {
7454 6 : if (r->domain_name) {
7455 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7456 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7457 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7458 6 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7459 : }
7460 : }
7461 12 : return NDR_ERR_SUCCESS;
7462 : }
7463 :
7464 12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
7465 : {
7466 : uint32_t _ptr_domain_name;
7467 12 : uint32_t size_domain_name_1 = 0;
7468 12 : uint32_t length_domain_name_1 = 0;
7469 12 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
7470 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7471 12 : if (ndr_flags & NDR_SCALARS) {
7472 6 : NDR_CHECK(ndr_pull_align(ndr, 5));
7473 6 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
7474 6 : if (_ptr_domain_name) {
7475 6 : NDR_PULL_ALLOC(ndr, r->domain_name);
7476 : } else {
7477 0 : r->domain_name = NULL;
7478 : }
7479 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, &r->level));
7480 6 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7481 : }
7482 12 : if (ndr_flags & NDR_BUFFERS) {
7483 6 : if (r->domain_name) {
7484 6 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7485 6 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7486 6 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7487 6 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7488 6 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
7489 6 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
7490 6 : if (length_domain_name_1 > size_domain_name_1) {
7491 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
7492 : }
7493 6 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
7494 6 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
7495 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7496 : }
7497 : }
7498 12 : return NDR_ERR_SUCCESS;
7499 : }
7500 :
7501 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
7502 : {
7503 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
7504 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7505 0 : ndr->depth++;
7506 0 : ndr_print_ptr(ndr, "domain_name", r->domain_name);
7507 0 : ndr->depth++;
7508 0 : if (r->domain_name) {
7509 0 : ndr_print_string(ndr, "domain_name", r->domain_name);
7510 : }
7511 0 : ndr->depth--;
7512 0 : ndr_print_drsuapi_DsGetDCInfoCtrLevels(ndr, "level", r->level);
7513 0 : ndr->depth--;
7514 : }
7515 :
7516 6 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
7517 : {
7518 : uint32_t level;
7519 6 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7520 6 : if (ndr_flags & NDR_SCALARS) {
7521 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7522 6 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7523 6 : NDR_CHECK(ndr_push_union_align(ndr, 5));
7524 6 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7525 6 : NDR_CHECK(ndr_push_union_align(ndr, 5));
7526 6 : switch (level) {
7527 6 : case 1: {
7528 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7529 6 : break; }
7530 :
7531 0 : default:
7532 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7533 : }
7534 0 : }
7535 6 : if (ndr_flags & NDR_BUFFERS) {
7536 6 : if (!(ndr_flags & NDR_SCALARS)) {
7537 : /* We didn't get it above, and the token is not needed after this. */
7538 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7539 : }
7540 6 : switch (level) {
7541 6 : case 1:
7542 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7543 6 : break;
7544 :
7545 0 : default:
7546 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7547 : }
7548 0 : }
7549 6 : return NDR_ERR_SUCCESS;
7550 : }
7551 :
7552 6 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
7553 : {
7554 : uint32_t level;
7555 : uint32_t _level;
7556 6 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7557 6 : if (ndr_flags & NDR_SCALARS) {
7558 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7559 6 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7560 6 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
7561 6 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7562 6 : if (_level != level) {
7563 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7564 : }
7565 6 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
7566 6 : switch (level) {
7567 6 : case 1: {
7568 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7569 6 : break; }
7570 :
7571 0 : default:
7572 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7573 : }
7574 0 : }
7575 6 : if (ndr_flags & NDR_BUFFERS) {
7576 6 : if (!(ndr_flags & NDR_SCALARS)) {
7577 : /* We didn't get it above, and the token is not needed after this. */
7578 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7579 : }
7580 6 : switch (level) {
7581 6 : case 1:
7582 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7583 6 : break;
7584 :
7585 0 : default:
7586 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7587 : }
7588 0 : }
7589 6 : return NDR_ERR_SUCCESS;
7590 : }
7591 :
7592 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7593 : {
7594 : uint32_t level;
7595 0 : level = ndr_print_steal_switch_value(ndr, r);
7596 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7597 0 : switch (level) {
7598 0 : case 1:
7599 0 : ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7600 0 : break;
7601 :
7602 0 : default:
7603 0 : ndr_print_bad_level(ndr, name, level);
7604 : }
7605 0 : }
7606 :
7607 12 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7608 : {
7609 12 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7610 12 : if (ndr_flags & NDR_SCALARS) {
7611 6 : NDR_CHECK(ndr_push_align(ndr, 5));
7612 6 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7613 6 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7614 6 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7615 6 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7616 6 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7617 6 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7618 6 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7619 6 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7620 : }
7621 12 : if (ndr_flags & NDR_BUFFERS) {
7622 6 : if (r->netbios_name) {
7623 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7624 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7625 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7626 6 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7627 : }
7628 6 : if (r->dns_name) {
7629 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7630 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7631 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7632 6 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7633 : }
7634 6 : if (r->site_name) {
7635 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7636 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7637 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7638 6 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7639 : }
7640 6 : if (r->computer_dn) {
7641 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7642 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7643 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7644 6 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7645 : }
7646 6 : if (r->server_dn) {
7647 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7648 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7649 6 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7650 6 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7651 : }
7652 : }
7653 12 : return NDR_ERR_SUCCESS;
7654 : }
7655 :
7656 12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7657 : {
7658 : uint32_t _ptr_netbios_name;
7659 12 : uint32_t size_netbios_name_1 = 0;
7660 12 : uint32_t length_netbios_name_1 = 0;
7661 12 : TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
7662 : uint32_t _ptr_dns_name;
7663 12 : uint32_t size_dns_name_1 = 0;
7664 12 : uint32_t length_dns_name_1 = 0;
7665 12 : TALLOC_CTX *_mem_save_dns_name_0 = NULL;
7666 : uint32_t _ptr_site_name;
7667 12 : uint32_t size_site_name_1 = 0;
7668 12 : uint32_t length_site_name_1 = 0;
7669 12 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
7670 : uint32_t _ptr_computer_dn;
7671 12 : uint32_t size_computer_dn_1 = 0;
7672 12 : uint32_t length_computer_dn_1 = 0;
7673 12 : TALLOC_CTX *_mem_save_computer_dn_0 = NULL;
7674 : uint32_t _ptr_server_dn;
7675 12 : uint32_t size_server_dn_1 = 0;
7676 12 : uint32_t length_server_dn_1 = 0;
7677 12 : TALLOC_CTX *_mem_save_server_dn_0 = NULL;
7678 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7679 12 : if (ndr_flags & NDR_SCALARS) {
7680 6 : NDR_CHECK(ndr_pull_align(ndr, 5));
7681 6 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7682 6 : if (_ptr_netbios_name) {
7683 6 : NDR_PULL_ALLOC(ndr, r->netbios_name);
7684 : } else {
7685 0 : r->netbios_name = NULL;
7686 : }
7687 6 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7688 6 : if (_ptr_dns_name) {
7689 6 : NDR_PULL_ALLOC(ndr, r->dns_name);
7690 : } else {
7691 0 : r->dns_name = NULL;
7692 : }
7693 6 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7694 6 : if (_ptr_site_name) {
7695 6 : NDR_PULL_ALLOC(ndr, r->site_name);
7696 : } else {
7697 0 : r->site_name = NULL;
7698 : }
7699 6 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7700 6 : if (_ptr_computer_dn) {
7701 6 : NDR_PULL_ALLOC(ndr, r->computer_dn);
7702 : } else {
7703 0 : r->computer_dn = NULL;
7704 : }
7705 6 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7706 6 : if (_ptr_server_dn) {
7707 6 : NDR_PULL_ALLOC(ndr, r->server_dn);
7708 : } else {
7709 0 : r->server_dn = NULL;
7710 : }
7711 6 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7712 6 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7713 6 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7714 : }
7715 12 : if (ndr_flags & NDR_BUFFERS) {
7716 6 : if (r->netbios_name) {
7717 6 : _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7718 6 : NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7719 6 : NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7720 6 : NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7721 6 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
7722 6 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
7723 6 : if (length_netbios_name_1 > size_netbios_name_1) {
7724 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
7725 : }
7726 6 : NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
7727 6 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
7728 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7729 : }
7730 6 : if (r->dns_name) {
7731 6 : _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7732 6 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7733 6 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7734 6 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7735 6 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
7736 6 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
7737 6 : if (length_dns_name_1 > size_dns_name_1) {
7738 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
7739 : }
7740 6 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
7741 6 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
7742 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7743 : }
7744 6 : if (r->site_name) {
7745 6 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7746 6 : NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7747 6 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7748 6 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7749 6 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_name, &size_site_name_1));
7750 6 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_name, &length_site_name_1));
7751 6 : if (length_site_name_1 > size_site_name_1) {
7752 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
7753 : }
7754 6 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
7755 6 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
7756 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7757 : }
7758 6 : if (r->computer_dn) {
7759 6 : _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7760 6 : NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7761 6 : NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7762 6 : NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7763 6 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer_dn, &size_computer_dn_1));
7764 6 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer_dn, &length_computer_dn_1));
7765 6 : if (length_computer_dn_1 > size_computer_dn_1) {
7766 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
7767 : }
7768 6 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
7769 6 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
7770 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7771 : }
7772 6 : if (r->server_dn) {
7773 6 : _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7774 6 : NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7775 6 : NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7776 6 : NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7777 6 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
7778 6 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
7779 6 : if (length_server_dn_1 > size_server_dn_1) {
7780 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
7781 : }
7782 6 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
7783 6 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
7784 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7785 : }
7786 : }
7787 12 : return NDR_ERR_SUCCESS;
7788 : }
7789 :
7790 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7791 : {
7792 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7793 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7794 0 : ndr->depth++;
7795 0 : ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7796 0 : ndr->depth++;
7797 0 : if (r->netbios_name) {
7798 0 : ndr_print_string(ndr, "netbios_name", r->netbios_name);
7799 : }
7800 0 : ndr->depth--;
7801 0 : ndr_print_ptr(ndr, "dns_name", r->dns_name);
7802 0 : ndr->depth++;
7803 0 : if (r->dns_name) {
7804 0 : ndr_print_string(ndr, "dns_name", r->dns_name);
7805 : }
7806 0 : ndr->depth--;
7807 0 : ndr_print_ptr(ndr, "site_name", r->site_name);
7808 0 : ndr->depth++;
7809 0 : if (r->site_name) {
7810 0 : ndr_print_string(ndr, "site_name", r->site_name);
7811 : }
7812 0 : ndr->depth--;
7813 0 : ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7814 0 : ndr->depth++;
7815 0 : if (r->computer_dn) {
7816 0 : ndr_print_string(ndr, "computer_dn", r->computer_dn);
7817 : }
7818 0 : ndr->depth--;
7819 0 : ndr_print_ptr(ndr, "server_dn", r->server_dn);
7820 0 : ndr->depth++;
7821 0 : if (r->server_dn) {
7822 0 : ndr_print_string(ndr, "server_dn", r->server_dn);
7823 : }
7824 0 : ndr->depth--;
7825 0 : ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7826 0 : ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7827 0 : ndr->depth--;
7828 : }
7829 :
7830 6 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7831 : {
7832 : uint32_t cntr_array_1;
7833 6 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7834 6 : if (ndr_flags & NDR_SCALARS) {
7835 3 : NDR_CHECK(ndr_push_align(ndr, 5));
7836 3 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7837 3 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7838 3 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7839 : }
7840 6 : if (ndr_flags & NDR_BUFFERS) {
7841 3 : if (r->array) {
7842 3 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7843 9 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
7844 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7845 : }
7846 9 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
7847 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7848 : }
7849 : }
7850 : }
7851 6 : return NDR_ERR_SUCCESS;
7852 : }
7853 :
7854 6 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7855 : {
7856 : uint32_t _ptr_array;
7857 6 : uint32_t size_array_1 = 0;
7858 : uint32_t cntr_array_1;
7859 6 : TALLOC_CTX *_mem_save_array_0 = NULL;
7860 6 : TALLOC_CTX *_mem_save_array_1 = NULL;
7861 6 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7862 6 : if (ndr_flags & NDR_SCALARS) {
7863 3 : NDR_CHECK(ndr_pull_align(ndr, 5));
7864 3 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7865 3 : if (r->count > 10000) {
7866 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7867 : }
7868 3 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7869 3 : if (_ptr_array) {
7870 3 : NDR_PULL_ALLOC(ndr, r->array);
7871 : } else {
7872 0 : r->array = NULL;
7873 : }
7874 3 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7875 : }
7876 6 : if (ndr_flags & NDR_BUFFERS) {
7877 3 : if (r->array) {
7878 3 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7879 3 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7880 3 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7881 3 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
7882 3 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
7883 3 : _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7884 3 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7885 9 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
7886 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7887 : }
7888 9 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
7889 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7890 : }
7891 3 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7892 3 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7893 : }
7894 3 : if (r->array) {
7895 3 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7896 : }
7897 3 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
7898 : }
7899 : }
7900 6 : return NDR_ERR_SUCCESS;
7901 : }
7902 :
7903 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7904 : {
7905 : uint32_t cntr_array_1;
7906 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7907 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7908 0 : ndr->depth++;
7909 0 : ndr_print_uint32(ndr, "count", r->count);
7910 0 : ndr_print_ptr(ndr, "array", r->array);
7911 0 : ndr->depth++;
7912 0 : if (r->array) {
7913 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7914 0 : ndr->depth++;
7915 0 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
7916 0 : ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7917 : }
7918 0 : ndr->depth--;
7919 : }
7920 0 : ndr->depth--;
7921 0 : ndr->depth--;
7922 : }
7923 :
7924 8 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7925 : {
7926 8 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7927 8 : if (ndr_flags & NDR_SCALARS) {
7928 4 : NDR_CHECK(ndr_push_align(ndr, 5));
7929 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7930 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7931 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7932 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7933 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7934 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7935 4 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7936 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7937 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7938 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7939 4 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7940 4 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7941 4 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7942 4 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7943 4 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7944 : }
7945 8 : if (ndr_flags & NDR_BUFFERS) {
7946 4 : if (r->netbios_name) {
7947 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7948 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7949 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7950 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7951 : }
7952 4 : if (r->dns_name) {
7953 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7954 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7955 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7956 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7957 : }
7958 4 : if (r->site_name) {
7959 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7960 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7961 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7962 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7963 : }
7964 4 : if (r->site_dn) {
7965 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7966 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7967 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7968 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7969 : }
7970 4 : if (r->computer_dn) {
7971 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7972 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7973 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7974 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7975 : }
7976 4 : if (r->server_dn) {
7977 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7978 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7979 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7980 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7981 : }
7982 4 : if (r->ntds_dn) {
7983 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7984 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7985 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7986 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7987 : }
7988 : }
7989 8 : return NDR_ERR_SUCCESS;
7990 : }
7991 :
7992 8 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7993 : {
7994 : uint32_t _ptr_netbios_name;
7995 8 : uint32_t size_netbios_name_1 = 0;
7996 8 : uint32_t length_netbios_name_1 = 0;
7997 8 : TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
7998 : uint32_t _ptr_dns_name;
7999 8 : uint32_t size_dns_name_1 = 0;
8000 8 : uint32_t length_dns_name_1 = 0;
8001 8 : TALLOC_CTX *_mem_save_dns_name_0 = NULL;
8002 : uint32_t _ptr_site_name;
8003 8 : uint32_t size_site_name_1 = 0;
8004 8 : uint32_t length_site_name_1 = 0;
8005 8 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
8006 : uint32_t _ptr_site_dn;
8007 8 : uint32_t size_site_dn_1 = 0;
8008 8 : uint32_t length_site_dn_1 = 0;
8009 8 : TALLOC_CTX *_mem_save_site_dn_0 = NULL;
8010 : uint32_t _ptr_computer_dn;
8011 8 : uint32_t size_computer_dn_1 = 0;
8012 8 : uint32_t length_computer_dn_1 = 0;
8013 8 : TALLOC_CTX *_mem_save_computer_dn_0 = NULL;
8014 : uint32_t _ptr_server_dn;
8015 8 : uint32_t size_server_dn_1 = 0;
8016 8 : uint32_t length_server_dn_1 = 0;
8017 8 : TALLOC_CTX *_mem_save_server_dn_0 = NULL;
8018 : uint32_t _ptr_ntds_dn;
8019 8 : uint32_t size_ntds_dn_1 = 0;
8020 8 : uint32_t length_ntds_dn_1 = 0;
8021 8 : TALLOC_CTX *_mem_save_ntds_dn_0 = NULL;
8022 8 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8023 8 : if (ndr_flags & NDR_SCALARS) {
8024 4 : NDR_CHECK(ndr_pull_align(ndr, 5));
8025 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8026 4 : if (_ptr_netbios_name) {
8027 4 : NDR_PULL_ALLOC(ndr, r->netbios_name);
8028 : } else {
8029 0 : r->netbios_name = NULL;
8030 : }
8031 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8032 4 : if (_ptr_dns_name) {
8033 4 : NDR_PULL_ALLOC(ndr, r->dns_name);
8034 : } else {
8035 0 : r->dns_name = NULL;
8036 : }
8037 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
8038 4 : if (_ptr_site_name) {
8039 4 : NDR_PULL_ALLOC(ndr, r->site_name);
8040 : } else {
8041 0 : r->site_name = NULL;
8042 : }
8043 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
8044 4 : if (_ptr_site_dn) {
8045 4 : NDR_PULL_ALLOC(ndr, r->site_dn);
8046 : } else {
8047 0 : r->site_dn = NULL;
8048 : }
8049 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
8050 4 : if (_ptr_computer_dn) {
8051 4 : NDR_PULL_ALLOC(ndr, r->computer_dn);
8052 : } else {
8053 0 : r->computer_dn = NULL;
8054 : }
8055 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
8056 4 : if (_ptr_server_dn) {
8057 4 : NDR_PULL_ALLOC(ndr, r->server_dn);
8058 : } else {
8059 0 : r->server_dn = NULL;
8060 : }
8061 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
8062 4 : if (_ptr_ntds_dn) {
8063 2 : NDR_PULL_ALLOC(ndr, r->ntds_dn);
8064 : } else {
8065 2 : r->ntds_dn = NULL;
8066 : }
8067 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
8068 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
8069 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
8070 4 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
8071 4 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
8072 4 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
8073 4 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
8074 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8075 : }
8076 8 : if (ndr_flags & NDR_BUFFERS) {
8077 4 : if (r->netbios_name) {
8078 4 : _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8079 4 : NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8080 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8081 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8082 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
8083 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
8084 4 : if (length_netbios_name_1 > size_netbios_name_1) {
8085 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
8086 : }
8087 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
8088 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
8089 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8090 : }
8091 4 : if (r->dns_name) {
8092 4 : _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8093 4 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8094 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8095 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8096 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
8097 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
8098 4 : if (length_dns_name_1 > size_dns_name_1) {
8099 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
8100 : }
8101 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
8102 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
8103 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8104 : }
8105 4 : if (r->site_name) {
8106 4 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8107 4 : NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
8108 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
8109 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
8110 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_name, &size_site_name_1));
8111 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_name, &length_site_name_1));
8112 4 : if (length_site_name_1 > size_site_name_1) {
8113 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
8114 : }
8115 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
8116 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
8117 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
8118 : }
8119 4 : if (r->site_dn) {
8120 4 : _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8121 4 : NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
8122 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
8123 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
8124 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_dn, &size_site_dn_1));
8125 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_dn, &length_site_dn_1));
8126 4 : if (length_site_dn_1 > size_site_dn_1) {
8127 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
8128 : }
8129 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
8130 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
8131 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
8132 : }
8133 4 : if (r->computer_dn) {
8134 4 : _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8135 4 : NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
8136 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
8137 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
8138 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer_dn, &size_computer_dn_1));
8139 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer_dn, &length_computer_dn_1));
8140 4 : if (length_computer_dn_1 > size_computer_dn_1) {
8141 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
8142 : }
8143 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
8144 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
8145 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
8146 : }
8147 4 : if (r->server_dn) {
8148 4 : _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8149 4 : NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
8150 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
8151 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
8152 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
8153 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
8154 4 : if (length_server_dn_1 > size_server_dn_1) {
8155 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
8156 : }
8157 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
8158 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
8159 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
8160 : }
8161 4 : if (r->ntds_dn) {
8162 2 : _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8163 2 : NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
8164 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
8165 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
8166 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->ntds_dn, &size_ntds_dn_1));
8167 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->ntds_dn, &length_ntds_dn_1));
8168 2 : if (length_ntds_dn_1 > size_ntds_dn_1) {
8169 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
8170 : }
8171 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
8172 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
8173 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
8174 : }
8175 : }
8176 8 : return NDR_ERR_SUCCESS;
8177 : }
8178 :
8179 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
8180 : {
8181 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
8182 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8183 0 : ndr->depth++;
8184 0 : ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8185 0 : ndr->depth++;
8186 0 : if (r->netbios_name) {
8187 0 : ndr_print_string(ndr, "netbios_name", r->netbios_name);
8188 : }
8189 0 : ndr->depth--;
8190 0 : ndr_print_ptr(ndr, "dns_name", r->dns_name);
8191 0 : ndr->depth++;
8192 0 : if (r->dns_name) {
8193 0 : ndr_print_string(ndr, "dns_name", r->dns_name);
8194 : }
8195 0 : ndr->depth--;
8196 0 : ndr_print_ptr(ndr, "site_name", r->site_name);
8197 0 : ndr->depth++;
8198 0 : if (r->site_name) {
8199 0 : ndr_print_string(ndr, "site_name", r->site_name);
8200 : }
8201 0 : ndr->depth--;
8202 0 : ndr_print_ptr(ndr, "site_dn", r->site_dn);
8203 0 : ndr->depth++;
8204 0 : if (r->site_dn) {
8205 0 : ndr_print_string(ndr, "site_dn", r->site_dn);
8206 : }
8207 0 : ndr->depth--;
8208 0 : ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
8209 0 : ndr->depth++;
8210 0 : if (r->computer_dn) {
8211 0 : ndr_print_string(ndr, "computer_dn", r->computer_dn);
8212 : }
8213 0 : ndr->depth--;
8214 0 : ndr_print_ptr(ndr, "server_dn", r->server_dn);
8215 0 : ndr->depth++;
8216 0 : if (r->server_dn) {
8217 0 : ndr_print_string(ndr, "server_dn", r->server_dn);
8218 : }
8219 0 : ndr->depth--;
8220 0 : ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
8221 0 : ndr->depth++;
8222 0 : if (r->ntds_dn) {
8223 0 : ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
8224 : }
8225 0 : ndr->depth--;
8226 0 : ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
8227 0 : ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
8228 0 : ndr_print_uint32(ndr, "is_gc", r->is_gc);
8229 0 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
8230 0 : ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
8231 0 : ndr_print_GUID(ndr, "server_guid", &r->server_guid);
8232 0 : ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
8233 0 : ndr->depth--;
8234 : }
8235 :
8236 4 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
8237 : {
8238 : uint32_t cntr_array_1;
8239 4 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8240 4 : if (ndr_flags & NDR_SCALARS) {
8241 2 : NDR_CHECK(ndr_push_align(ndr, 5));
8242 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8243 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8244 2 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8245 : }
8246 4 : if (ndr_flags & NDR_BUFFERS) {
8247 2 : if (r->array) {
8248 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8249 6 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8250 4 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8251 : }
8252 6 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8253 4 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8254 : }
8255 : }
8256 : }
8257 4 : return NDR_ERR_SUCCESS;
8258 : }
8259 :
8260 4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
8261 : {
8262 : uint32_t _ptr_array;
8263 4 : uint32_t size_array_1 = 0;
8264 : uint32_t cntr_array_1;
8265 4 : TALLOC_CTX *_mem_save_array_0 = NULL;
8266 4 : TALLOC_CTX *_mem_save_array_1 = NULL;
8267 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8268 4 : if (ndr_flags & NDR_SCALARS) {
8269 2 : NDR_CHECK(ndr_pull_align(ndr, 5));
8270 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8271 2 : if (r->count > 10000) {
8272 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8273 : }
8274 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8275 2 : if (_ptr_array) {
8276 2 : NDR_PULL_ALLOC(ndr, r->array);
8277 : } else {
8278 0 : r->array = NULL;
8279 : }
8280 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8281 : }
8282 4 : if (ndr_flags & NDR_BUFFERS) {
8283 2 : if (r->array) {
8284 2 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8285 2 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8286 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8287 2 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
8288 2 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
8289 2 : _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8290 2 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8291 6 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8292 4 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8293 : }
8294 6 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8295 4 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8296 : }
8297 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8298 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8299 : }
8300 2 : if (r->array) {
8301 2 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8302 : }
8303 2 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8304 : }
8305 : }
8306 4 : return NDR_ERR_SUCCESS;
8307 : }
8308 :
8309 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
8310 : {
8311 : uint32_t cntr_array_1;
8312 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
8313 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8314 0 : ndr->depth++;
8315 0 : ndr_print_uint32(ndr, "count", r->count);
8316 0 : ndr_print_ptr(ndr, "array", r->array);
8317 0 : ndr->depth++;
8318 0 : if (r->array) {
8319 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8320 0 : ndr->depth++;
8321 0 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8322 0 : ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
8323 : }
8324 0 : ndr->depth--;
8325 : }
8326 0 : ndr->depth--;
8327 0 : ndr->depth--;
8328 : }
8329 :
8330 4 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
8331 : {
8332 4 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8333 4 : if (ndr_flags & NDR_SCALARS) {
8334 2 : NDR_CHECK(ndr_push_align(ndr, 5));
8335 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8336 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8337 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
8338 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
8339 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
8340 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
8341 2 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
8342 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
8343 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
8344 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
8345 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
8346 2 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
8347 2 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
8348 2 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
8349 2 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
8350 2 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8351 : }
8352 4 : if (ndr_flags & NDR_BUFFERS) {
8353 2 : if (r->netbios_name) {
8354 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8355 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8356 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8357 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8358 : }
8359 2 : if (r->dns_name) {
8360 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8361 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8362 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8363 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8364 : }
8365 2 : if (r->site_name) {
8366 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
8367 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8368 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
8369 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8370 : }
8371 2 : if (r->site_dn) {
8372 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
8373 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8374 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
8375 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8376 : }
8377 2 : if (r->computer_dn) {
8378 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
8379 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8380 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
8381 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8382 : }
8383 2 : if (r->server_dn) {
8384 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
8385 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8386 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
8387 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8388 : }
8389 2 : if (r->ntds_dn) {
8390 1 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
8391 1 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8392 1 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
8393 1 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8394 : }
8395 : }
8396 4 : return NDR_ERR_SUCCESS;
8397 : }
8398 :
8399 4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
8400 : {
8401 : uint32_t _ptr_netbios_name;
8402 4 : uint32_t size_netbios_name_1 = 0;
8403 4 : uint32_t length_netbios_name_1 = 0;
8404 4 : TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
8405 : uint32_t _ptr_dns_name;
8406 4 : uint32_t size_dns_name_1 = 0;
8407 4 : uint32_t length_dns_name_1 = 0;
8408 4 : TALLOC_CTX *_mem_save_dns_name_0 = NULL;
8409 : uint32_t _ptr_site_name;
8410 4 : uint32_t size_site_name_1 = 0;
8411 4 : uint32_t length_site_name_1 = 0;
8412 4 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
8413 : uint32_t _ptr_site_dn;
8414 4 : uint32_t size_site_dn_1 = 0;
8415 4 : uint32_t length_site_dn_1 = 0;
8416 4 : TALLOC_CTX *_mem_save_site_dn_0 = NULL;
8417 : uint32_t _ptr_computer_dn;
8418 4 : uint32_t size_computer_dn_1 = 0;
8419 4 : uint32_t length_computer_dn_1 = 0;
8420 4 : TALLOC_CTX *_mem_save_computer_dn_0 = NULL;
8421 : uint32_t _ptr_server_dn;
8422 4 : uint32_t size_server_dn_1 = 0;
8423 4 : uint32_t length_server_dn_1 = 0;
8424 4 : TALLOC_CTX *_mem_save_server_dn_0 = NULL;
8425 : uint32_t _ptr_ntds_dn;
8426 4 : uint32_t size_ntds_dn_1 = 0;
8427 4 : uint32_t length_ntds_dn_1 = 0;
8428 4 : TALLOC_CTX *_mem_save_ntds_dn_0 = NULL;
8429 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8430 4 : if (ndr_flags & NDR_SCALARS) {
8431 2 : NDR_CHECK(ndr_pull_align(ndr, 5));
8432 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8433 2 : if (_ptr_netbios_name) {
8434 2 : NDR_PULL_ALLOC(ndr, r->netbios_name);
8435 : } else {
8436 0 : r->netbios_name = NULL;
8437 : }
8438 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8439 2 : if (_ptr_dns_name) {
8440 2 : NDR_PULL_ALLOC(ndr, r->dns_name);
8441 : } else {
8442 0 : r->dns_name = NULL;
8443 : }
8444 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
8445 2 : if (_ptr_site_name) {
8446 2 : NDR_PULL_ALLOC(ndr, r->site_name);
8447 : } else {
8448 0 : r->site_name = NULL;
8449 : }
8450 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
8451 2 : if (_ptr_site_dn) {
8452 2 : NDR_PULL_ALLOC(ndr, r->site_dn);
8453 : } else {
8454 0 : r->site_dn = NULL;
8455 : }
8456 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
8457 2 : if (_ptr_computer_dn) {
8458 2 : NDR_PULL_ALLOC(ndr, r->computer_dn);
8459 : } else {
8460 0 : r->computer_dn = NULL;
8461 : }
8462 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
8463 2 : if (_ptr_server_dn) {
8464 2 : NDR_PULL_ALLOC(ndr, r->server_dn);
8465 : } else {
8466 0 : r->server_dn = NULL;
8467 : }
8468 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
8469 2 : if (_ptr_ntds_dn) {
8470 1 : NDR_PULL_ALLOC(ndr, r->ntds_dn);
8471 : } else {
8472 1 : r->ntds_dn = NULL;
8473 : }
8474 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
8475 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
8476 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
8477 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
8478 2 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
8479 2 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
8480 2 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
8481 2 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
8482 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8483 : }
8484 4 : if (ndr_flags & NDR_BUFFERS) {
8485 2 : if (r->netbios_name) {
8486 2 : _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8487 2 : NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8488 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8489 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8490 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
8491 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
8492 2 : if (length_netbios_name_1 > size_netbios_name_1) {
8493 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
8494 : }
8495 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
8496 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
8497 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8498 : }
8499 2 : if (r->dns_name) {
8500 2 : _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8501 2 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8502 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8503 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8504 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
8505 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
8506 2 : if (length_dns_name_1 > size_dns_name_1) {
8507 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
8508 : }
8509 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
8510 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
8511 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8512 : }
8513 2 : if (r->site_name) {
8514 2 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8515 2 : NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
8516 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
8517 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
8518 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_name, &size_site_name_1));
8519 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_name, &length_site_name_1));
8520 2 : if (length_site_name_1 > size_site_name_1) {
8521 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
8522 : }
8523 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
8524 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
8525 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
8526 : }
8527 2 : if (r->site_dn) {
8528 2 : _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8529 2 : NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
8530 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
8531 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
8532 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_dn, &size_site_dn_1));
8533 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_dn, &length_site_dn_1));
8534 2 : if (length_site_dn_1 > size_site_dn_1) {
8535 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
8536 : }
8537 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
8538 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
8539 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
8540 : }
8541 2 : if (r->computer_dn) {
8542 2 : _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8543 2 : NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
8544 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
8545 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
8546 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer_dn, &size_computer_dn_1));
8547 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer_dn, &length_computer_dn_1));
8548 2 : if (length_computer_dn_1 > size_computer_dn_1) {
8549 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
8550 : }
8551 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
8552 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
8553 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
8554 : }
8555 2 : if (r->server_dn) {
8556 2 : _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8557 2 : NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
8558 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
8559 2 : NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
8560 2 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->server_dn, &size_server_dn_1));
8561 2 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->server_dn, &length_server_dn_1));
8562 2 : if (length_server_dn_1 > size_server_dn_1) {
8563 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
8564 : }
8565 2 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
8566 2 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
8567 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
8568 : }
8569 2 : if (r->ntds_dn) {
8570 1 : _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8571 1 : NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
8572 1 : NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
8573 1 : NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
8574 1 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->ntds_dn, &size_ntds_dn_1));
8575 1 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->ntds_dn, &length_ntds_dn_1));
8576 1 : if (length_ntds_dn_1 > size_ntds_dn_1) {
8577 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
8578 : }
8579 1 : NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
8580 1 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
8581 1 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
8582 : }
8583 : }
8584 4 : return NDR_ERR_SUCCESS;
8585 : }
8586 :
8587 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
8588 : {
8589 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
8590 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8591 0 : ndr->depth++;
8592 0 : ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8593 0 : ndr->depth++;
8594 0 : if (r->netbios_name) {
8595 0 : ndr_print_string(ndr, "netbios_name", r->netbios_name);
8596 : }
8597 0 : ndr->depth--;
8598 0 : ndr_print_ptr(ndr, "dns_name", r->dns_name);
8599 0 : ndr->depth++;
8600 0 : if (r->dns_name) {
8601 0 : ndr_print_string(ndr, "dns_name", r->dns_name);
8602 : }
8603 0 : ndr->depth--;
8604 0 : ndr_print_ptr(ndr, "site_name", r->site_name);
8605 0 : ndr->depth++;
8606 0 : if (r->site_name) {
8607 0 : ndr_print_string(ndr, "site_name", r->site_name);
8608 : }
8609 0 : ndr->depth--;
8610 0 : ndr_print_ptr(ndr, "site_dn", r->site_dn);
8611 0 : ndr->depth++;
8612 0 : if (r->site_dn) {
8613 0 : ndr_print_string(ndr, "site_dn", r->site_dn);
8614 : }
8615 0 : ndr->depth--;
8616 0 : ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
8617 0 : ndr->depth++;
8618 0 : if (r->computer_dn) {
8619 0 : ndr_print_string(ndr, "computer_dn", r->computer_dn);
8620 : }
8621 0 : ndr->depth--;
8622 0 : ndr_print_ptr(ndr, "server_dn", r->server_dn);
8623 0 : ndr->depth++;
8624 0 : if (r->server_dn) {
8625 0 : ndr_print_string(ndr, "server_dn", r->server_dn);
8626 : }
8627 0 : ndr->depth--;
8628 0 : ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
8629 0 : ndr->depth++;
8630 0 : if (r->ntds_dn) {
8631 0 : ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
8632 : }
8633 0 : ndr->depth--;
8634 0 : ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
8635 0 : ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
8636 0 : ndr_print_uint32(ndr, "is_gc", r->is_gc);
8637 0 : ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
8638 0 : ndr_print_GUID(ndr, "site_guid", &r->site_guid);
8639 0 : ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
8640 0 : ndr_print_GUID(ndr, "server_guid", &r->server_guid);
8641 0 : ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
8642 0 : ndr->depth--;
8643 : }
8644 :
8645 2 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
8646 : {
8647 : uint32_t cntr_array_1;
8648 2 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8649 2 : if (ndr_flags & NDR_SCALARS) {
8650 1 : NDR_CHECK(ndr_push_align(ndr, 5));
8651 1 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8652 1 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8653 1 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8654 : }
8655 2 : if (ndr_flags & NDR_BUFFERS) {
8656 1 : if (r->array) {
8657 1 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8658 3 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8659 2 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8660 : }
8661 3 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8662 2 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8663 : }
8664 : }
8665 : }
8666 2 : return NDR_ERR_SUCCESS;
8667 : }
8668 :
8669 2 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
8670 : {
8671 : uint32_t _ptr_array;
8672 2 : uint32_t size_array_1 = 0;
8673 : uint32_t cntr_array_1;
8674 2 : TALLOC_CTX *_mem_save_array_0 = NULL;
8675 2 : TALLOC_CTX *_mem_save_array_1 = NULL;
8676 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8677 2 : if (ndr_flags & NDR_SCALARS) {
8678 1 : NDR_CHECK(ndr_pull_align(ndr, 5));
8679 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8680 1 : if (r->count > 10000) {
8681 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8682 : }
8683 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8684 1 : if (_ptr_array) {
8685 1 : NDR_PULL_ALLOC(ndr, r->array);
8686 : } else {
8687 0 : r->array = NULL;
8688 : }
8689 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8690 : }
8691 2 : if (ndr_flags & NDR_BUFFERS) {
8692 1 : if (r->array) {
8693 1 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8694 1 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8695 1 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8696 1 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
8697 1 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
8698 1 : _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8699 1 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8700 3 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8701 2 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8702 : }
8703 3 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8704 2 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8705 : }
8706 1 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8707 1 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8708 : }
8709 1 : if (r->array) {
8710 1 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8711 : }
8712 1 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8713 : }
8714 : }
8715 2 : return NDR_ERR_SUCCESS;
8716 : }
8717 :
8718 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8719 : {
8720 : uint32_t cntr_array_1;
8721 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8722 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8723 0 : ndr->depth++;
8724 0 : ndr_print_uint32(ndr, "count", r->count);
8725 0 : ndr_print_ptr(ndr, "array", r->array);
8726 0 : ndr->depth++;
8727 0 : if (r->array) {
8728 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8729 0 : ndr->depth++;
8730 0 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8731 0 : ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8732 : }
8733 0 : ndr->depth--;
8734 : }
8735 0 : ndr->depth--;
8736 0 : ndr->depth--;
8737 : }
8738 :
8739 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8740 : {
8741 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8742 0 : if (ndr_flags & NDR_SCALARS) {
8743 0 : NDR_CHECK(ndr_push_align(ndr, 5));
8744 : {
8745 0 : uint32_t _flags_save_ipv4address = ndr->flags;
8746 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8747 0 : NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8748 0 : ndr->flags = _flags_save_ipv4address;
8749 : }
8750 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8751 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8752 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8753 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8754 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8755 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8756 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8757 : }
8758 0 : if (ndr_flags & NDR_BUFFERS) {
8759 0 : if (r->client_account) {
8760 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8761 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8762 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8763 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8764 : }
8765 : }
8766 0 : return NDR_ERR_SUCCESS;
8767 : }
8768 :
8769 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8770 : {
8771 : uint32_t _ptr_client_account;
8772 0 : uint32_t size_client_account_1 = 0;
8773 0 : uint32_t length_client_account_1 = 0;
8774 0 : TALLOC_CTX *_mem_save_client_account_0 = NULL;
8775 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8776 0 : if (ndr_flags & NDR_SCALARS) {
8777 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
8778 : {
8779 0 : uint32_t _flags_save_ipv4address = ndr->flags;
8780 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8781 0 : NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8782 0 : ndr->flags = _flags_save_ipv4address;
8783 : }
8784 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8785 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8786 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8787 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8788 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8789 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8790 0 : if (_ptr_client_account) {
8791 0 : NDR_PULL_ALLOC(ndr, r->client_account);
8792 : } else {
8793 0 : r->client_account = NULL;
8794 : }
8795 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8796 : }
8797 0 : if (ndr_flags & NDR_BUFFERS) {
8798 0 : if (r->client_account) {
8799 0 : _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8800 0 : NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8801 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8802 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8803 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->client_account, &size_client_account_1));
8804 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->client_account, &length_client_account_1));
8805 0 : if (length_client_account_1 > size_client_account_1) {
8806 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
8807 : }
8808 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
8809 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
8810 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8811 : }
8812 : }
8813 0 : return NDR_ERR_SUCCESS;
8814 : }
8815 :
8816 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8817 : {
8818 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8819 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8820 0 : ndr->depth++;
8821 : {
8822 0 : uint32_t _flags_save_ipv4address = ndr->flags;
8823 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8824 0 : ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8825 0 : ndr->flags = _flags_save_ipv4address;
8826 : }
8827 0 : ndr_print_uint32(ndr, "unknown2", r->unknown2);
8828 0 : ndr_print_uint32(ndr, "connection_time", r->connection_time);
8829 0 : ndr_print_uint32(ndr, "unknown4", r->unknown4);
8830 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
8831 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
8832 0 : ndr_print_ptr(ndr, "client_account", r->client_account);
8833 0 : ndr->depth++;
8834 0 : if (r->client_account) {
8835 0 : ndr_print_string(ndr, "client_account", r->client_account);
8836 : }
8837 0 : ndr->depth--;
8838 0 : ndr->depth--;
8839 : }
8840 :
8841 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8842 : {
8843 : uint32_t cntr_array_1;
8844 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8845 0 : if (ndr_flags & NDR_SCALARS) {
8846 0 : NDR_CHECK(ndr_push_align(ndr, 5));
8847 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8848 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8849 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8850 : }
8851 0 : if (ndr_flags & NDR_BUFFERS) {
8852 0 : if (r->array) {
8853 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8854 0 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8855 0 : NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8856 : }
8857 0 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8858 0 : NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8859 : }
8860 : }
8861 : }
8862 0 : return NDR_ERR_SUCCESS;
8863 : }
8864 :
8865 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8866 : {
8867 : uint32_t _ptr_array;
8868 0 : uint32_t size_array_1 = 0;
8869 : uint32_t cntr_array_1;
8870 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
8871 0 : TALLOC_CTX *_mem_save_array_1 = NULL;
8872 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8873 0 : if (ndr_flags & NDR_SCALARS) {
8874 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
8875 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8876 0 : if (r->count > 10000) {
8877 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8878 : }
8879 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8880 0 : if (_ptr_array) {
8881 0 : NDR_PULL_ALLOC(ndr, r->array);
8882 : } else {
8883 0 : r->array = NULL;
8884 : }
8885 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8886 : }
8887 0 : if (ndr_flags & NDR_BUFFERS) {
8888 0 : if (r->array) {
8889 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8890 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8891 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8892 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
8893 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
8894 0 : _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8895 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8896 0 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8897 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8898 : }
8899 0 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8900 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8901 : }
8902 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8903 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8904 : }
8905 0 : if (r->array) {
8906 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8907 : }
8908 0 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
8909 : }
8910 : }
8911 0 : return NDR_ERR_SUCCESS;
8912 : }
8913 :
8914 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8915 : {
8916 : uint32_t cntr_array_1;
8917 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8918 0 : if (r == NULL) { ndr_print_null(ndr); return; }
8919 0 : ndr->depth++;
8920 0 : ndr_print_uint32(ndr, "count", r->count);
8921 0 : ndr_print_ptr(ndr, "array", r->array);
8922 0 : ndr->depth++;
8923 0 : if (r->array) {
8924 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8925 0 : ndr->depth++;
8926 0 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
8927 0 : ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8928 : }
8929 0 : ndr->depth--;
8930 : }
8931 0 : ndr->depth--;
8932 0 : ndr->depth--;
8933 : }
8934 :
8935 6 : static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8936 : {
8937 : uint32_t level;
8938 6 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8939 6 : if (ndr_flags & NDR_SCALARS) {
8940 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
8941 6 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
8942 6 : NDR_CHECK(ndr_push_union_align(ndr, 5));
8943 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, level));
8944 6 : NDR_CHECK(ndr_push_union_align(ndr, 5));
8945 6 : switch (level) {
8946 3 : case DRSUAPI_DC_INFO_CTR_1: {
8947 3 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8948 3 : break; }
8949 :
8950 2 : case DRSUAPI_DC_INFO_CTR_2: {
8951 2 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8952 2 : break; }
8953 :
8954 1 : case DRSUAPI_DC_INFO_CTR_3: {
8955 1 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8956 1 : break; }
8957 :
8958 0 : case DRSUAPI_DC_CONNECTION_CTR_01: {
8959 0 : NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8960 0 : break; }
8961 :
8962 0 : default:
8963 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8964 : }
8965 0 : }
8966 6 : if (ndr_flags & NDR_BUFFERS) {
8967 6 : if (!(ndr_flags & NDR_SCALARS)) {
8968 : /* We didn't get it above, and the token is not needed after this. */
8969 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
8970 : }
8971 6 : switch (level) {
8972 3 : case DRSUAPI_DC_INFO_CTR_1:
8973 3 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8974 3 : break;
8975 :
8976 2 : case DRSUAPI_DC_INFO_CTR_2:
8977 2 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8978 2 : break;
8979 :
8980 1 : case DRSUAPI_DC_INFO_CTR_3:
8981 1 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8982 1 : break;
8983 :
8984 0 : case DRSUAPI_DC_CONNECTION_CTR_01:
8985 0 : NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8986 0 : break;
8987 :
8988 0 : default:
8989 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8990 : }
8991 0 : }
8992 6 : return NDR_ERR_SUCCESS;
8993 : }
8994 :
8995 6 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8996 : {
8997 : uint32_t level;
8998 : uint32_t _level;
8999 6 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9000 6 : if (ndr_flags & NDR_SCALARS) {
9001 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
9002 6 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
9003 6 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
9004 6 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9005 6 : if (_level != level) {
9006 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9007 : }
9008 6 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
9009 6 : switch (level) {
9010 3 : case DRSUAPI_DC_INFO_CTR_1: {
9011 3 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
9012 3 : break; }
9013 :
9014 2 : case DRSUAPI_DC_INFO_CTR_2: {
9015 2 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
9016 2 : break; }
9017 :
9018 1 : case DRSUAPI_DC_INFO_CTR_3: {
9019 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
9020 1 : break; }
9021 :
9022 0 : case DRSUAPI_DC_CONNECTION_CTR_01: {
9023 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
9024 0 : break; }
9025 :
9026 0 : default:
9027 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9028 : }
9029 0 : }
9030 6 : if (ndr_flags & NDR_BUFFERS) {
9031 6 : if (!(ndr_flags & NDR_SCALARS)) {
9032 : /* We didn't get it above, and the token is not needed after this. */
9033 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
9034 : }
9035 6 : switch (level) {
9036 3 : case DRSUAPI_DC_INFO_CTR_1:
9037 3 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
9038 3 : break;
9039 :
9040 2 : case DRSUAPI_DC_INFO_CTR_2:
9041 2 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9042 2 : break;
9043 :
9044 1 : case DRSUAPI_DC_INFO_CTR_3:
9045 1 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9046 1 : break;
9047 :
9048 0 : case DRSUAPI_DC_CONNECTION_CTR_01:
9049 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
9050 0 : break;
9051 :
9052 0 : default:
9053 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9054 : }
9055 0 : }
9056 6 : return NDR_ERR_SUCCESS;
9057 : }
9058 :
9059 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
9060 : {
9061 : uint32_t level;
9062 0 : level = ndr_print_steal_switch_value(ndr, r);
9063 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
9064 0 : switch (level) {
9065 0 : case DRSUAPI_DC_INFO_CTR_1:
9066 0 : ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
9067 0 : break;
9068 :
9069 0 : case DRSUAPI_DC_INFO_CTR_2:
9070 0 : ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
9071 0 : break;
9072 :
9073 0 : case DRSUAPI_DC_INFO_CTR_3:
9074 0 : ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
9075 0 : break;
9076 :
9077 0 : case DRSUAPI_DC_CONNECTION_CTR_01:
9078 0 : ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
9079 0 : break;
9080 :
9081 0 : default:
9082 0 : ndr_print_bad_level(ndr, name, level);
9083 : }
9084 0 : }
9085 :
9086 128 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
9087 : {
9088 128 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9089 128 : if (ndr_flags & NDR_SCALARS) {
9090 64 : NDR_CHECK(ndr_push_align(ndr, 5));
9091 64 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
9092 64 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
9093 64 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9094 : }
9095 128 : if (ndr_flags & NDR_BUFFERS) {
9096 64 : if (r->next_object) {
9097 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
9098 : }
9099 64 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
9100 : }
9101 126 : return NDR_ERR_SUCCESS;
9102 : }
9103 :
9104 134 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
9105 : {
9106 : uint32_t _ptr_next_object;
9107 134 : TALLOC_CTX *_mem_save_next_object_0 = NULL;
9108 134 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9109 134 : if (ndr_flags & NDR_SCALARS) {
9110 67 : NDR_CHECK(ndr_pull_align(ndr, 5));
9111 67 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
9112 67 : if (_ptr_next_object) {
9113 0 : NDR_PULL_ALLOC(ndr, r->next_object);
9114 : } else {
9115 67 : r->next_object = NULL;
9116 : }
9117 67 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
9118 67 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9119 : }
9120 134 : if (ndr_flags & NDR_BUFFERS) {
9121 67 : if (r->next_object) {
9122 0 : _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
9123 0 : NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
9124 0 : NDR_RECURSION_CHECK(ndr, 20000);
9125 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
9126 0 : NDR_RECURSION_UNWIND(ndr);
9127 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
9128 : }
9129 67 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
9130 : }
9131 126 : return NDR_ERR_SUCCESS;
9132 : }
9133 :
9134 0 : static void ndr_print_flags_drsuapi_DsReplicaObjectListItem(struct ndr_print *ndr, const char *name, int unused, const struct drsuapi_DsReplicaObjectListItem *r)
9135 : {
9136 0 : ndr_print_drsuapi_DsReplicaObjectListItem(ndr, name, r);
9137 0 : }
9138 :
9139 63 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_DirErr(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr r)
9140 : {
9141 63 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9142 63 : return NDR_ERR_SUCCESS;
9143 : }
9144 :
9145 63 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_DirErr(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr *r)
9146 : {
9147 : uint32_t v;
9148 66 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9149 66 : *r = v;
9150 63 : return NDR_ERR_SUCCESS;
9151 : }
9152 :
9153 2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_DirErr r)
9154 : {
9155 2 : const char *val = NULL;
9156 :
9157 2 : switch (r) {
9158 2 : case DRSUAPI_DIRERR_OK: val = "DRSUAPI_DIRERR_OK"; break;
9159 0 : case DRSUAPI_DIRERR_ATTRIBUTE: val = "DRSUAPI_DIRERR_ATTRIBUTE"; break;
9160 0 : case DRSUAPI_DIRERR_NAME: val = "DRSUAPI_DIRERR_NAME"; break;
9161 0 : case DRSUAPI_DIRERR_REFERRAL: val = "DRSUAPI_DIRERR_REFERRAL"; break;
9162 0 : case DRSUAPI_DIRERR_SECURITY: val = "DRSUAPI_DIRERR_SECURITY"; break;
9163 0 : case DRSUAPI_DIRERR_SERVICE: val = "DRSUAPI_DIRERR_SERVICE"; break;
9164 0 : case DRSUAPI_DIRERR_UPDATE: val = "DRSUAPI_DIRERR_UPDATE"; break;
9165 0 : case DRSUAPI_DIRERR_SYSTEM: val = "DRSUAPI_DIRERR_SYSTEM"; break;
9166 : }
9167 2 : ndr_print_enum(ndr, name, "ENUM", val, r);
9168 2 : }
9169 :
9170 128 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
9171 : {
9172 128 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9173 128 : if (ndr_flags & NDR_SCALARS) {
9174 64 : NDR_CHECK(ndr_push_align(ndr, 5));
9175 64 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
9176 64 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9177 : }
9178 128 : if (ndr_flags & NDR_BUFFERS) {
9179 64 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
9180 : }
9181 126 : return NDR_ERR_SUCCESS;
9182 : }
9183 :
9184 134 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
9185 : {
9186 134 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9187 134 : if (ndr_flags & NDR_SCALARS) {
9188 67 : NDR_CHECK(ndr_pull_align(ndr, 5));
9189 67 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
9190 67 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9191 : }
9192 134 : if (ndr_flags & NDR_BUFFERS) {
9193 67 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
9194 : }
9195 126 : return NDR_ERR_SUCCESS;
9196 : }
9197 :
9198 4 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
9199 : {
9200 4 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
9201 4 : if (r == NULL) { ndr_print_null(ndr); return; }
9202 4 : ndr->depth++;
9203 4 : ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
9204 4 : ndr->depth--;
9205 : }
9206 :
9207 0 : static enum ndr_err_code ndr_push_drsuapi_SecBufferType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_SecBufferType r)
9208 : {
9209 0 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9210 0 : return NDR_ERR_SUCCESS;
9211 : }
9212 :
9213 0 : static enum ndr_err_code ndr_pull_drsuapi_SecBufferType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_SecBufferType *r)
9214 : {
9215 : uint32_t v;
9216 0 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9217 0 : *r = v;
9218 0 : return NDR_ERR_SUCCESS;
9219 : }
9220 :
9221 0 : static enum ndr_err_code ndr_push_drsuapi_SecBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBuffer *r)
9222 : {
9223 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9224 0 : if (ndr_flags & NDR_SCALARS) {
9225 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9226 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_size));
9227 0 : NDR_CHECK(ndr_push_drsuapi_SecBufferType(ndr, NDR_SCALARS, r->buf_type));
9228 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
9229 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9230 : }
9231 0 : if (ndr_flags & NDR_BUFFERS) {
9232 0 : if (r->buffer) {
9233 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_size));
9234 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_size));
9235 : }
9236 : }
9237 0 : return NDR_ERR_SUCCESS;
9238 : }
9239 :
9240 0 : static enum ndr_err_code ndr_pull_drsuapi_SecBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBuffer *r)
9241 : {
9242 : uint32_t _ptr_buffer;
9243 0 : uint32_t size_buffer_1 = 0;
9244 0 : TALLOC_CTX *_mem_save_buffer_0 = NULL;
9245 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9246 0 : if (ndr_flags & NDR_SCALARS) {
9247 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9248 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_size));
9249 0 : if (r->buf_size > 10000) {
9250 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9251 : }
9252 0 : NDR_CHECK(ndr_pull_drsuapi_SecBufferType(ndr, NDR_SCALARS, &r->buf_type));
9253 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
9254 0 : if (_ptr_buffer) {
9255 0 : NDR_PULL_ALLOC(ndr, r->buffer);
9256 : } else {
9257 0 : r->buffer = NULL;
9258 : }
9259 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9260 : }
9261 0 : if (ndr_flags & NDR_BUFFERS) {
9262 0 : if (r->buffer) {
9263 0 : _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9264 0 : NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
9265 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
9266 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffer, &size_buffer_1));
9267 0 : NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
9268 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
9269 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
9270 : }
9271 0 : if (r->buffer) {
9272 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->buffer, r->buf_size));
9273 : }
9274 : }
9275 0 : return NDR_ERR_SUCCESS;
9276 : }
9277 :
9278 0 : _PUBLIC_ void ndr_print_drsuapi_SecBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBuffer *r)
9279 : {
9280 0 : ndr_print_struct(ndr, name, "drsuapi_SecBuffer");
9281 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9282 0 : ndr->depth++;
9283 0 : ndr_print_uint32(ndr, "buf_size", r->buf_size);
9284 0 : ndr_print_drsuapi_SecBufferType(ndr, "buf_type", r->buf_type);
9285 0 : ndr_print_ptr(ndr, "buffer", r->buffer);
9286 0 : ndr->depth++;
9287 0 : if (r->buffer) {
9288 0 : ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_size);
9289 : }
9290 0 : ndr->depth--;
9291 0 : ndr->depth--;
9292 : }
9293 :
9294 0 : static enum ndr_err_code ndr_push_drsuapi_SecBufferDesc(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBufferDesc *r)
9295 : {
9296 : uint32_t cntr_buffers_1;
9297 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9298 0 : if (ndr_flags & NDR_SCALARS) {
9299 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9300 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9301 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buff_count));
9302 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffers));
9303 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9304 : }
9305 0 : if (ndr_flags & NDR_BUFFERS) {
9306 0 : if (r->buffers) {
9307 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buff_count));
9308 0 : for (cntr_buffers_1 = 0; cntr_buffers_1 < (r->buff_count); cntr_buffers_1++) {
9309 0 : NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
9310 : }
9311 0 : for (cntr_buffers_1 = 0; cntr_buffers_1 < (r->buff_count); cntr_buffers_1++) {
9312 0 : NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
9313 : }
9314 : }
9315 : }
9316 0 : return NDR_ERR_SUCCESS;
9317 : }
9318 :
9319 0 : static enum ndr_err_code ndr_pull_drsuapi_SecBufferDesc(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBufferDesc *r)
9320 : {
9321 : uint32_t _ptr_buffers;
9322 0 : uint32_t size_buffers_1 = 0;
9323 : uint32_t cntr_buffers_1;
9324 0 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
9325 0 : TALLOC_CTX *_mem_save_buffers_1 = NULL;
9326 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9327 0 : if (ndr_flags & NDR_SCALARS) {
9328 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9329 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
9330 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buff_count));
9331 0 : if (r->buff_count > 10000) {
9332 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9333 : }
9334 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffers));
9335 0 : if (_ptr_buffers) {
9336 0 : NDR_PULL_ALLOC(ndr, r->buffers);
9337 : } else {
9338 0 : r->buffers = NULL;
9339 : }
9340 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9341 : }
9342 0 : if (ndr_flags & NDR_BUFFERS) {
9343 0 : if (r->buffers) {
9344 0 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
9345 0 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
9346 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->buffers));
9347 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffers, &size_buffers_1));
9348 0 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_1);
9349 0 : _mem_save_buffers_1 = NDR_PULL_GET_MEM_CTX(ndr);
9350 0 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
9351 0 : for (cntr_buffers_1 = 0; cntr_buffers_1 < (size_buffers_1); cntr_buffers_1++) {
9352 0 : NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
9353 : }
9354 0 : for (cntr_buffers_1 = 0; cntr_buffers_1 < (size_buffers_1); cntr_buffers_1++) {
9355 0 : NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
9356 : }
9357 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_1, 0);
9358 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
9359 : }
9360 0 : if (r->buffers) {
9361 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffers, r->buff_count));
9362 : }
9363 0 : for (cntr_buffers_1 = 0; cntr_buffers_1 < (size_buffers_1); cntr_buffers_1++) {
9364 : }
9365 : }
9366 0 : return NDR_ERR_SUCCESS;
9367 : }
9368 :
9369 0 : _PUBLIC_ void ndr_print_drsuapi_SecBufferDesc(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBufferDesc *r)
9370 : {
9371 : uint32_t cntr_buffers_1;
9372 0 : ndr_print_struct(ndr, name, "drsuapi_SecBufferDesc");
9373 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9374 0 : ndr->depth++;
9375 0 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
9376 0 : ndr_print_uint32(ndr, "buff_count", r->buff_count);
9377 0 : ndr_print_ptr(ndr, "buffers", r->buffers);
9378 0 : ndr->depth++;
9379 0 : if (r->buffers) {
9380 0 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->buff_count);
9381 0 : ndr->depth++;
9382 0 : for (cntr_buffers_1 = 0; cntr_buffers_1 < (r->buff_count); cntr_buffers_1++) {
9383 0 : ndr_print_drsuapi_SecBuffer(ndr, "buffers", &r->buffers[cntr_buffers_1]);
9384 : }
9385 0 : ndr->depth--;
9386 : }
9387 0 : ndr->depth--;
9388 0 : ndr->depth--;
9389 : }
9390 :
9391 0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest3 *r)
9392 : {
9393 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9394 0 : if (ndr_flags & NDR_SCALARS) {
9395 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9396 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
9397 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_creds));
9398 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9399 : }
9400 0 : if (ndr_flags & NDR_BUFFERS) {
9401 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
9402 0 : if (r->client_creds) {
9403 0 : NDR_CHECK(ndr_push_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
9404 : }
9405 : }
9406 0 : return NDR_ERR_SUCCESS;
9407 : }
9408 :
9409 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest3 *r)
9410 : {
9411 : uint32_t _ptr_client_creds;
9412 0 : TALLOC_CTX *_mem_save_client_creds_0 = NULL;
9413 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9414 0 : if (ndr_flags & NDR_SCALARS) {
9415 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9416 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
9417 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_creds));
9418 0 : if (_ptr_client_creds) {
9419 0 : NDR_PULL_ALLOC(ndr, r->client_creds);
9420 : } else {
9421 0 : r->client_creds = NULL;
9422 : }
9423 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9424 : }
9425 0 : if (ndr_flags & NDR_BUFFERS) {
9426 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
9427 0 : if (r->client_creds) {
9428 0 : _mem_save_client_creds_0 = NDR_PULL_GET_MEM_CTX(ndr);
9429 0 : NDR_PULL_SET_MEM_CTX(ndr, r->client_creds, 0);
9430 0 : NDR_CHECK(ndr_pull_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
9431 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_creds_0, 0);
9432 : }
9433 : }
9434 0 : return NDR_ERR_SUCCESS;
9435 : }
9436 :
9437 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest3 *r)
9438 : {
9439 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest3");
9440 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9441 0 : ndr->depth++;
9442 0 : ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
9443 0 : ndr_print_ptr(ndr, "client_creds", r->client_creds);
9444 0 : ndr->depth++;
9445 0 : if (r->client_creds) {
9446 0 : ndr_print_drsuapi_SecBufferDesc(ndr, "client_creds", r->client_creds);
9447 : }
9448 0 : ndr->depth--;
9449 0 : ndr->depth--;
9450 : }
9451 :
9452 64 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
9453 : {
9454 : uint32_t level;
9455 64 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9456 64 : if (ndr_flags & NDR_SCALARS) {
9457 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
9458 64 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
9459 64 : NDR_CHECK(ndr_push_union_align(ndr, 5));
9460 64 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9461 64 : NDR_CHECK(ndr_push_union_align(ndr, 5));
9462 64 : switch (level) {
9463 64 : case 2: {
9464 64 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
9465 63 : break; }
9466 :
9467 0 : case 3: {
9468 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
9469 0 : break; }
9470 :
9471 0 : default:
9472 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
9473 : }
9474 0 : }
9475 64 : if (ndr_flags & NDR_BUFFERS) {
9476 64 : if (!(ndr_flags & NDR_SCALARS)) {
9477 : /* We didn't get it above, and the token is not needed after this. */
9478 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
9479 : }
9480 64 : switch (level) {
9481 64 : case 2:
9482 64 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
9483 63 : break;
9484 :
9485 0 : case 3:
9486 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
9487 0 : break;
9488 :
9489 0 : default:
9490 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
9491 : }
9492 0 : }
9493 63 : return NDR_ERR_SUCCESS;
9494 : }
9495 :
9496 67 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
9497 : {
9498 : uint32_t level;
9499 : uint32_t _level;
9500 67 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9501 67 : if (ndr_flags & NDR_SCALARS) {
9502 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
9503 67 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
9504 67 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
9505 67 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9506 67 : if (_level != level) {
9507 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9508 : }
9509 67 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
9510 67 : switch (level) {
9511 67 : case 2: {
9512 67 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
9513 63 : break; }
9514 :
9515 0 : case 3: {
9516 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
9517 0 : break; }
9518 :
9519 0 : default:
9520 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9521 : }
9522 0 : }
9523 67 : if (ndr_flags & NDR_BUFFERS) {
9524 67 : if (!(ndr_flags & NDR_SCALARS)) {
9525 : /* We didn't get it above, and the token is not needed after this. */
9526 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
9527 : }
9528 67 : switch (level) {
9529 67 : case 2:
9530 67 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
9531 63 : break;
9532 :
9533 0 : case 3:
9534 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
9535 0 : break;
9536 :
9537 0 : default:
9538 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9539 : }
9540 0 : }
9541 63 : return NDR_ERR_SUCCESS;
9542 : }
9543 :
9544 4 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
9545 : {
9546 : uint32_t level;
9547 4 : level = ndr_print_steal_switch_value(ndr, r);
9548 4 : ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
9549 4 : switch (level) {
9550 4 : case 2:
9551 4 : ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
9552 4 : break;
9553 :
9554 0 : case 3:
9555 0 : ndr_print_drsuapi_DsAddEntryRequest3(ndr, "req3", &r->req3);
9556 0 : break;
9557 :
9558 0 : default:
9559 0 : ndr_print_bad_level(ndr, name, level);
9560 : }
9561 4 : }
9562 :
9563 0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
9564 : {
9565 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9566 0 : if (ndr_flags & NDR_SCALARS) {
9567 0 : NDR_CHECK(ndr_push_align(ndr, 4));
9568 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9569 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9570 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9571 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9572 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9573 : }
9574 0 : if (ndr_flags & NDR_BUFFERS) {
9575 : }
9576 0 : return NDR_ERR_SUCCESS;
9577 : }
9578 :
9579 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
9580 : {
9581 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9582 0 : if (ndr_flags & NDR_SCALARS) {
9583 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
9584 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9585 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9586 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9587 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9588 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9589 : }
9590 0 : if (ndr_flags & NDR_BUFFERS) {
9591 : }
9592 0 : return NDR_ERR_SUCCESS;
9593 : }
9594 :
9595 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
9596 : {
9597 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
9598 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9599 0 : ndr->depth++;
9600 0 : ndr_print_uint32(ndr, "dsid", r->dsid);
9601 0 : ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9602 0 : ndr_print_uint32(ndr, "extended_data", r->extended_data);
9603 0 : ndr_print_uint16(ndr, "problem", r->problem);
9604 0 : ndr->depth--;
9605 : }
9606 :
9607 0 : 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)
9608 : {
9609 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9610 0 : if (ndr_flags & NDR_SCALARS) {
9611 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9612 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9613 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9614 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9615 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9616 0 : NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
9617 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_val_returned));
9618 0 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
9619 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9620 : }
9621 0 : if (ndr_flags & NDR_BUFFERS) {
9622 0 : NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
9623 : }
9624 0 : return NDR_ERR_SUCCESS;
9625 : }
9626 :
9627 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErr_V1 *r)
9628 : {
9629 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9630 0 : if (ndr_flags & NDR_SCALARS) {
9631 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9632 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9633 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9634 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9635 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9636 0 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
9637 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_val_returned));
9638 0 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
9639 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9640 : }
9641 0 : if (ndr_flags & NDR_BUFFERS) {
9642 0 : NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
9643 : }
9644 0 : return NDR_ERR_SUCCESS;
9645 : }
9646 :
9647 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
9648 : {
9649 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_AttrErr_V1");
9650 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9651 0 : ndr->depth++;
9652 0 : ndr_print_uint32(ndr, "dsid", r->dsid);
9653 0 : ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9654 0 : ndr_print_uint32(ndr, "extended_data", r->extended_data);
9655 0 : ndr_print_uint16(ndr, "problem", r->problem);
9656 0 : ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
9657 0 : ndr_print_uint32(ndr, "is_val_returned", r->is_val_returned);
9658 0 : ndr_print_drsuapi_DsAttributeValue(ndr, "attr_val", &r->attr_val);
9659 0 : ndr->depth--;
9660 : }
9661 :
9662 0 : 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)
9663 : {
9664 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9665 0 : if (ndr_flags & NDR_SCALARS) {
9666 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9667 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9668 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
9669 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9670 : }
9671 0 : if (ndr_flags & NDR_BUFFERS) {
9672 0 : if (r->next) {
9673 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9674 : }
9675 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
9676 : }
9677 0 : return NDR_ERR_SUCCESS;
9678 : }
9679 :
9680 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
9681 : {
9682 : uint32_t _ptr_next;
9683 0 : TALLOC_CTX *_mem_save_next_0 = NULL;
9684 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9685 0 : if (ndr_flags & NDR_SCALARS) {
9686 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9687 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9688 0 : if (_ptr_next) {
9689 0 : NDR_PULL_ALLOC(ndr, r->next);
9690 : } else {
9691 0 : r->next = NULL;
9692 : }
9693 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
9694 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9695 : }
9696 0 : if (ndr_flags & NDR_BUFFERS) {
9697 0 : if (r->next) {
9698 0 : _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9699 0 : NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9700 0 : NDR_RECURSION_CHECK(ndr, 20000);
9701 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9702 0 : NDR_RECURSION_UNWIND(ndr);
9703 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9704 : }
9705 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
9706 : }
9707 0 : return NDR_ERR_SUCCESS;
9708 : }
9709 :
9710 0 : 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)
9711 : {
9712 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9713 0 : if (ndr_flags & NDR_SCALARS) {
9714 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9715 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9716 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9717 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
9718 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9719 : }
9720 0 : if (ndr_flags & NDR_BUFFERS) {
9721 0 : if (r->id) {
9722 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9723 : }
9724 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
9725 : }
9726 0 : return NDR_ERR_SUCCESS;
9727 : }
9728 :
9729 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
9730 : {
9731 : uint32_t _ptr_id;
9732 0 : TALLOC_CTX *_mem_save_id_0 = NULL;
9733 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9734 0 : if (ndr_flags & NDR_SCALARS) {
9735 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9736 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9737 0 : if (_ptr_id) {
9738 0 : NDR_PULL_ALLOC(ndr, r->id);
9739 : } else {
9740 0 : r->id = NULL;
9741 : }
9742 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9743 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
9744 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9745 : }
9746 0 : if (ndr_flags & NDR_BUFFERS) {
9747 0 : if (r->id) {
9748 0 : _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9749 0 : NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9750 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9751 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9752 : }
9753 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
9754 : }
9755 0 : return NDR_ERR_SUCCESS;
9756 : }
9757 :
9758 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
9759 : {
9760 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Attr_V1");
9761 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9762 0 : ndr->depth++;
9763 0 : ndr_print_ptr(ndr, "id", r->id);
9764 0 : ndr->depth++;
9765 0 : if (r->id) {
9766 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9767 : }
9768 0 : ndr->depth--;
9769 0 : ndr_print_uint32(ndr, "count", r->count);
9770 0 : ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, "first", &r->first);
9771 0 : ndr->depth--;
9772 : }
9773 :
9774 0 : 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)
9775 : {
9776 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9777 0 : if (ndr_flags & NDR_SCALARS) {
9778 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9779 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9780 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9781 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9782 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9783 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_matched));
9784 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9785 : }
9786 0 : if (ndr_flags & NDR_BUFFERS) {
9787 0 : if (r->id_matched) {
9788 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
9789 : }
9790 : }
9791 0 : return NDR_ERR_SUCCESS;
9792 : }
9793 :
9794 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
9795 : {
9796 : uint32_t _ptr_id_matched;
9797 0 : TALLOC_CTX *_mem_save_id_matched_0 = NULL;
9798 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9799 0 : if (ndr_flags & NDR_SCALARS) {
9800 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
9801 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9802 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9803 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9804 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9805 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_matched));
9806 0 : if (_ptr_id_matched) {
9807 0 : NDR_PULL_ALLOC(ndr, r->id_matched);
9808 : } else {
9809 0 : r->id_matched = NULL;
9810 : }
9811 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9812 : }
9813 0 : if (ndr_flags & NDR_BUFFERS) {
9814 0 : if (r->id_matched) {
9815 0 : _mem_save_id_matched_0 = NDR_PULL_GET_MEM_CTX(ndr);
9816 0 : NDR_PULL_SET_MEM_CTX(ndr, r->id_matched, 0);
9817 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
9818 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_matched_0, 0);
9819 : }
9820 : }
9821 0 : return NDR_ERR_SUCCESS;
9822 : }
9823 :
9824 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
9825 : {
9826 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Name_V1");
9827 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9828 0 : ndr->depth++;
9829 0 : ndr_print_uint32(ndr, "dsid", r->dsid);
9830 0 : ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9831 0 : ndr_print_uint32(ndr, "extended_data", r->extended_data);
9832 0 : ndr_print_uint16(ndr, "problem", r->problem);
9833 0 : ndr_print_ptr(ndr, "id_matched", r->id_matched);
9834 0 : ndr->depth++;
9835 0 : if (r->id_matched) {
9836 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_matched", r->id_matched);
9837 : }
9838 0 : ndr->depth--;
9839 0 : ndr->depth--;
9840 : }
9841 :
9842 0 : static enum ndr_err_code ndr_push_drsuapi_NameResOp_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_NameResOp_V1 *r)
9843 : {
9844 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9845 0 : if (ndr_flags & NDR_SCALARS) {
9846 0 : NDR_CHECK(ndr_push_align(ndr, 2));
9847 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 83));
9848 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
9849 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
9850 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 2));
9851 : }
9852 0 : if (ndr_flags & NDR_BUFFERS) {
9853 : }
9854 0 : return NDR_ERR_SUCCESS;
9855 : }
9856 :
9857 1 : static enum ndr_err_code ndr_pull_drsuapi_NameResOp_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_NameResOp_V1 *r)
9858 : {
9859 1 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9860 1 : if (ndr_flags & NDR_SCALARS) {
9861 1 : NDR_CHECK(ndr_pull_align(ndr, 2));
9862 1 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->name_res));
9863 1 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unused_pad));
9864 1 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->next_rdn));
9865 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
9866 : }
9867 0 : if (ndr_flags & NDR_BUFFERS) {
9868 : }
9869 1 : return NDR_ERR_SUCCESS;
9870 : }
9871 :
9872 0 : _PUBLIC_ void ndr_print_drsuapi_NameResOp_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_NameResOp_V1 *r)
9873 : {
9874 0 : ndr_print_struct(ndr, name, "drsuapi_NameResOp_V1");
9875 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9876 0 : ndr->depth++;
9877 0 : ndr_print_uint8(ndr, "name_res", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?83:r->name_res);
9878 0 : ndr_print_uint8(ndr, "unused_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unused_pad);
9879 0 : ndr_print_uint16(ndr, "next_rdn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->next_rdn);
9880 0 : ndr->depth--;
9881 : }
9882 :
9883 0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType r)
9884 : {
9885 0 : NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
9886 0 : return NDR_ERR_SUCCESS;
9887 : }
9888 :
9889 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType *r)
9890 : {
9891 : uint16_t v;
9892 1 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
9893 1 : *r = v;
9894 0 : return NDR_ERR_SUCCESS;
9895 : }
9896 :
9897 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_RefType r)
9898 : {
9899 0 : const char *val = NULL;
9900 :
9901 0 : switch (r) {
9902 0 : case DRSUAPI_CH_REFTYPE_SUPERIOR: val = "DRSUAPI_CH_REFTYPE_SUPERIOR"; break;
9903 0 : case DRSUAPI_CH_REFTYPE_SUBORDINATE: val = "DRSUAPI_CH_REFTYPE_SUBORDINATE"; break;
9904 0 : case DRSUAPI_CH_REFTYPE_NSSR: val = "DRSUAPI_CH_REFTYPE_NSSR"; break;
9905 0 : case DRSUAPI_CH_REFTYPE_CROSS: val = "DRSUAPI_CH_REFTYPE_CROSS"; break;
9906 : }
9907 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
9908 0 : }
9909 :
9910 0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ChoiceType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType r)
9911 : {
9912 0 : NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
9913 0 : return NDR_ERR_SUCCESS;
9914 : }
9915 :
9916 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ChoiceType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType *r)
9917 : {
9918 : uint8_t v;
9919 1 : NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
9920 1 : *r = v;
9921 0 : return NDR_ERR_SUCCESS;
9922 : }
9923 :
9924 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_ChoiceType r)
9925 : {
9926 0 : const char *val = NULL;
9927 :
9928 0 : switch (r) {
9929 0 : case DRSUAPI_SE_CHOICE_BASE_ONLY: val = "DRSUAPI_SE_CHOICE_BASE_ONLY"; break;
9930 0 : case DRSUAPI_SE_CHOICE_IMMED_CHLDRN: val = "DRSUAPI_SE_CHOICE_IMMED_CHLDRN"; break;
9931 0 : case DRSUAPI_SE_CHOICE_WHOLE_SUBTREE: val = "DRSUAPI_SE_CHOICE_WHOLE_SUBTREE"; break;
9932 : }
9933 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
9934 0 : }
9935 :
9936 0 : static enum ndr_err_code ndr_push_drsuapi_DsaAddressListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsaAddressListItem_V1 *r)
9937 : {
9938 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9939 0 : if (ndr_flags & NDR_SCALARS) {
9940 0 : NDR_CHECK(ndr_push_align(ndr, 5));
9941 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9942 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->address));
9943 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9944 : }
9945 0 : if (ndr_flags & NDR_BUFFERS) {
9946 0 : if (r->next) {
9947 0 : NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9948 : }
9949 0 : if (r->address) {
9950 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
9951 : }
9952 : }
9953 0 : return NDR_ERR_SUCCESS;
9954 : }
9955 :
9956 1025 : static enum ndr_err_code ndr_pull_drsuapi_DsaAddressListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsaAddressListItem_V1 *r)
9957 : {
9958 : uint32_t _ptr_next;
9959 1025 : TALLOC_CTX *_mem_save_next_0 = NULL;
9960 : uint32_t _ptr_address;
9961 1025 : TALLOC_CTX *_mem_save_address_0 = NULL;
9962 1025 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9963 1025 : if (ndr_flags & NDR_SCALARS) {
9964 1025 : NDR_CHECK(ndr_pull_align(ndr, 5));
9965 1025 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9966 1025 : if (_ptr_next) {
9967 1025 : NDR_PULL_ALLOC(ndr, r->next);
9968 : } else {
9969 0 : r->next = NULL;
9970 : }
9971 1025 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address));
9972 1025 : if (_ptr_address) {
9973 1016 : NDR_PULL_ALLOC(ndr, r->address);
9974 : } else {
9975 9 : r->address = NULL;
9976 : }
9977 1025 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9978 : }
9979 1025 : if (ndr_flags & NDR_BUFFERS) {
9980 1025 : if (r->next) {
9981 1025 : _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9982 1025 : NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9983 1025 : NDR_RECURSION_CHECK(ndr, 1024);
9984 1024 : NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9985 0 : NDR_RECURSION_UNWIND(ndr);
9986 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9987 : }
9988 0 : if (r->address) {
9989 0 : _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9990 0 : NDR_PULL_SET_MEM_CTX(ndr, r->address, 0);
9991 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
9992 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0);
9993 : }
9994 : }
9995 0 : return NDR_ERR_SUCCESS;
9996 : }
9997 :
9998 0 : _PUBLIC_ void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsaAddressListItem_V1 *r)
9999 : {
10000 0 : ndr_print_struct(ndr, name, "drsuapi_DsaAddressListItem_V1");
10001 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10002 0 : ndr->depth++;
10003 0 : ndr_print_ptr(ndr, "next", r->next);
10004 0 : ndr->depth++;
10005 0 : if (r->next) {
10006 0 : ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "next", r->next);
10007 : }
10008 0 : ndr->depth--;
10009 0 : ndr_print_ptr(ndr, "address", r->address);
10010 0 : ndr->depth++;
10011 0 : if (r->address) {
10012 0 : ndr_print_lsa_String(ndr, "address", r->address);
10013 : }
10014 0 : ndr->depth--;
10015 0 : ndr->depth--;
10016 : }
10017 :
10018 0 : 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)
10019 : {
10020 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10021 0 : if (ndr_flags & NDR_SCALARS) {
10022 0 : NDR_CHECK(ndr_push_align(ndr, 5));
10023 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_target));
10024 0 : NDR_CHECK(ndr_push_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
10025 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
10026 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
10027 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, r->ref_type));
10028 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addr_list_count));
10029 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr_list));
10030 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
10031 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_choice_set));
10032 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, r->choice));
10033 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10034 : }
10035 0 : if (ndr_flags & NDR_BUFFERS) {
10036 0 : if (r->id_target) {
10037 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
10038 : }
10039 0 : if (r->addr_list) {
10040 0 : NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
10041 : }
10042 0 : if (r->next) {
10043 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
10044 : }
10045 : }
10046 0 : return NDR_ERR_SUCCESS;
10047 : }
10048 :
10049 2 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
10050 : {
10051 : uint32_t _ptr_id_target;
10052 2 : TALLOC_CTX *_mem_save_id_target_0 = NULL;
10053 : uint32_t _ptr_addr_list;
10054 2 : TALLOC_CTX *_mem_save_addr_list_0 = NULL;
10055 : uint32_t _ptr_next;
10056 2 : TALLOC_CTX *_mem_save_next_0 = NULL;
10057 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10058 2 : if (ndr_flags & NDR_SCALARS) {
10059 1 : NDR_CHECK(ndr_pull_align(ndr, 5));
10060 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_target));
10061 1 : if (_ptr_id_target) {
10062 1 : NDR_PULL_ALLOC(ndr, r->id_target);
10063 : } else {
10064 0 : r->id_target = NULL;
10065 : }
10066 1 : NDR_CHECK(ndr_pull_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
10067 1 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_alias));
10068 1 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_internal));
10069 2 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, &r->ref_type));
10070 1 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addr_list_count));
10071 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr_list));
10072 1 : if (_ptr_addr_list) {
10073 1 : NDR_PULL_ALLOC(ndr, r->addr_list);
10074 : } else {
10075 0 : r->addr_list = NULL;
10076 : }
10077 1 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
10078 1 : if (_ptr_next) {
10079 1 : NDR_PULL_ALLOC(ndr, r->next);
10080 : } else {
10081 0 : r->next = NULL;
10082 : }
10083 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_choice_set));
10084 2 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, &r->choice));
10085 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10086 : }
10087 2 : if (ndr_flags & NDR_BUFFERS) {
10088 1 : if (r->id_target) {
10089 1 : _mem_save_id_target_0 = NDR_PULL_GET_MEM_CTX(ndr);
10090 1 : NDR_PULL_SET_MEM_CTX(ndr, r->id_target, 0);
10091 1 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
10092 1 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_target_0, 0);
10093 : }
10094 1 : if (r->addr_list) {
10095 1 : _mem_save_addr_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
10096 1 : NDR_PULL_SET_MEM_CTX(ndr, r->addr_list, 0);
10097 1 : NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
10098 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_list_0, 0);
10099 : }
10100 0 : if (r->next) {
10101 0 : _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
10102 0 : NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
10103 0 : NDR_RECURSION_CHECK(ndr, 20000);
10104 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
10105 0 : NDR_RECURSION_UNWIND(ndr);
10106 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
10107 : }
10108 : }
10109 0 : return NDR_ERR_SUCCESS;
10110 : }
10111 :
10112 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
10113 : {
10114 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_RefErrListItem_V1");
10115 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10116 0 : ndr->depth++;
10117 0 : ndr_print_ptr(ndr, "id_target", r->id_target);
10118 0 : ndr->depth++;
10119 0 : if (r->id_target) {
10120 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_target", r->id_target);
10121 : }
10122 0 : ndr->depth--;
10123 0 : ndr_print_drsuapi_NameResOp_V1(ndr, "op_state", &r->op_state);
10124 0 : ndr_print_uint16(ndr, "rdn_alias", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_alias);
10125 0 : ndr_print_uint16(ndr, "rdn_internal", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_internal);
10126 0 : ndr_print_drsuapi_DsAddEntry_RefType(ndr, "ref_type", r->ref_type);
10127 0 : ndr_print_uint16(ndr, "addr_list_count", r->addr_list_count);
10128 0 : ndr_print_ptr(ndr, "addr_list", r->addr_list);
10129 0 : ndr->depth++;
10130 0 : if (r->addr_list) {
10131 0 : ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "addr_list", r->addr_list);
10132 : }
10133 0 : ndr->depth--;
10134 0 : ndr_print_ptr(ndr, "next", r->next);
10135 0 : ndr->depth++;
10136 0 : if (r->next) {
10137 0 : ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "next", r->next);
10138 : }
10139 0 : ndr->depth--;
10140 0 : ndr_print_uint32(ndr, "is_choice_set", r->is_choice_set);
10141 0 : ndr_print_drsuapi_DsAddEntry_ChoiceType(ndr, "choice", r->choice);
10142 0 : ndr->depth--;
10143 : }
10144 :
10145 0 : 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)
10146 : {
10147 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10148 0 : if (ndr_flags & NDR_SCALARS) {
10149 0 : NDR_CHECK(ndr_push_align(ndr, 5));
10150 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
10151 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
10152 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
10153 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
10154 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10155 : }
10156 0 : if (ndr_flags & NDR_BUFFERS) {
10157 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
10158 : }
10159 0 : return NDR_ERR_SUCCESS;
10160 : }
10161 :
10162 2 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
10163 : {
10164 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10165 2 : if (ndr_flags & NDR_SCALARS) {
10166 1 : NDR_CHECK(ndr_pull_align(ndr, 5));
10167 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
10168 1 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
10169 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
10170 1 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
10171 1 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10172 : }
10173 2 : if (ndr_flags & NDR_BUFFERS) {
10174 1 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
10175 : }
10176 0 : return NDR_ERR_SUCCESS;
10177 : }
10178 :
10179 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
10180 : {
10181 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Referr_V1");
10182 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10183 0 : ndr->depth++;
10184 0 : ndr_print_uint32(ndr, "dsid", r->dsid);
10185 0 : ndr_print_WERROR(ndr, "extended_err", r->extended_err);
10186 0 : ndr_print_uint32(ndr, "extended_data", r->extended_data);
10187 0 : ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "refer", &r->refer);
10188 0 : ndr->depth--;
10189 : }
10190 :
10191 0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
10192 : {
10193 : uint32_t level;
10194 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10195 0 : if (ndr_flags & NDR_SCALARS) {
10196 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
10197 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
10198 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
10199 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10200 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
10201 0 : switch (level) {
10202 0 : case 1: {
10203 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
10204 0 : break; }
10205 :
10206 0 : case 2: {
10207 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
10208 0 : break; }
10209 :
10210 0 : case 3: {
10211 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
10212 0 : break; }
10213 :
10214 0 : case 4: {
10215 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
10216 0 : break; }
10217 :
10218 0 : case 5: {
10219 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
10220 0 : break; }
10221 :
10222 0 : case 6: {
10223 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
10224 0 : break; }
10225 :
10226 0 : case 7: {
10227 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
10228 0 : break; }
10229 :
10230 0 : default:
10231 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
10232 : }
10233 0 : }
10234 0 : if (ndr_flags & NDR_BUFFERS) {
10235 0 : if (!(ndr_flags & NDR_SCALARS)) {
10236 : /* We didn't get it above, and the token is not needed after this. */
10237 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
10238 : }
10239 0 : switch (level) {
10240 0 : case 1:
10241 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
10242 0 : break;
10243 :
10244 0 : case 2:
10245 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
10246 0 : break;
10247 :
10248 0 : case 3:
10249 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
10250 0 : break;
10251 :
10252 0 : case 4:
10253 0 : break;
10254 :
10255 0 : case 5:
10256 0 : break;
10257 :
10258 0 : case 6:
10259 0 : break;
10260 :
10261 0 : case 7:
10262 0 : break;
10263 :
10264 0 : default:
10265 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
10266 : }
10267 0 : }
10268 0 : return NDR_ERR_SUCCESS;
10269 : }
10270 :
10271 1 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
10272 : {
10273 : uint32_t level;
10274 : uint32_t _level;
10275 1 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10276 1 : if (ndr_flags & NDR_SCALARS) {
10277 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
10278 1 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
10279 1 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
10280 1 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10281 1 : if (_level != level) {
10282 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10283 : }
10284 1 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
10285 1 : switch (level) {
10286 0 : case 1: {
10287 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
10288 0 : break; }
10289 :
10290 0 : case 2: {
10291 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
10292 0 : break; }
10293 :
10294 1 : case 3: {
10295 1 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
10296 0 : break; }
10297 :
10298 0 : case 4: {
10299 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
10300 0 : break; }
10301 :
10302 0 : case 5: {
10303 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
10304 0 : break; }
10305 :
10306 0 : case 6: {
10307 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
10308 0 : break; }
10309 :
10310 0 : case 7: {
10311 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
10312 0 : break; }
10313 :
10314 0 : default:
10315 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10316 : }
10317 0 : }
10318 1 : if (ndr_flags & NDR_BUFFERS) {
10319 1 : if (!(ndr_flags & NDR_SCALARS)) {
10320 : /* We didn't get it above, and the token is not needed after this. */
10321 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
10322 : }
10323 1 : switch (level) {
10324 0 : case 1:
10325 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
10326 0 : break;
10327 :
10328 0 : case 2:
10329 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
10330 0 : break;
10331 :
10332 1 : case 3:
10333 1 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
10334 0 : break;
10335 :
10336 0 : case 4:
10337 0 : break;
10338 :
10339 0 : case 5:
10340 0 : break;
10341 :
10342 0 : case 6:
10343 0 : break;
10344 :
10345 0 : case 7:
10346 0 : break;
10347 :
10348 0 : default:
10349 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10350 : }
10351 0 : }
10352 0 : return NDR_ERR_SUCCESS;
10353 : }
10354 :
10355 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
10356 : {
10357 : uint32_t level;
10358 0 : level = ndr_print_steal_switch_value(ndr, r);
10359 0 : ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
10360 0 : switch (level) {
10361 0 : case 1:
10362 0 : ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, "attr_err", &r->attr_err);
10363 0 : break;
10364 :
10365 0 : case 2:
10366 0 : ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, "name_err", &r->name_err);
10367 0 : break;
10368 :
10369 0 : case 3:
10370 0 : ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, "referral_err", &r->referral_err);
10371 0 : break;
10372 :
10373 0 : case 4:
10374 0 : ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "security_err", &r->security_err);
10375 0 : break;
10376 :
10377 0 : case 5:
10378 0 : ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "service_err", &r->service_err);
10379 0 : break;
10380 :
10381 0 : case 6:
10382 0 : ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "update_err", &r->update_err);
10383 0 : break;
10384 :
10385 0 : case 7:
10386 0 : ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "system_err", &r->system_err);
10387 0 : break;
10388 :
10389 0 : default:
10390 0 : ndr_print_bad_level(ndr, name, level);
10391 : }
10392 0 : }
10393 :
10394 126 : 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)
10395 : {
10396 126 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10397 126 : if (ndr_flags & NDR_SCALARS) {
10398 63 : NDR_CHECK(ndr_push_align(ndr, 5));
10399 63 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
10400 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
10401 63 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
10402 63 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10403 : }
10404 126 : if (ndr_flags & NDR_BUFFERS) {
10405 63 : if (r->info) {
10406 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->dir_err));
10407 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
10408 : }
10409 : }
10410 126 : return NDR_ERR_SUCCESS;
10411 : }
10412 :
10413 132 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_ErrData_V1 *r)
10414 : {
10415 : uint32_t _ptr_info;
10416 132 : TALLOC_CTX *_mem_save_info_0 = NULL;
10417 132 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10418 132 : if (ndr_flags & NDR_SCALARS) {
10419 66 : NDR_CHECK(ndr_pull_align(ndr, 5));
10420 66 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
10421 69 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
10422 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10423 66 : if (_ptr_info) {
10424 1 : NDR_PULL_ALLOC(ndr, r->info);
10425 : } else {
10426 65 : r->info = NULL;
10427 : }
10428 66 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10429 : }
10430 132 : if (ndr_flags & NDR_BUFFERS) {
10431 66 : if (r->info) {
10432 1 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10433 1 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
10434 1 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->dir_err));
10435 1 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
10436 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10437 : }
10438 : }
10439 126 : return NDR_ERR_SUCCESS;
10440 : }
10441 :
10442 2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
10443 : {
10444 2 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_ErrData_V1");
10445 2 : if (r == NULL) { ndr_print_null(ndr); return; }
10446 2 : ndr->depth++;
10447 2 : ndr_print_WERROR(ndr, "status", r->status);
10448 2 : ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
10449 2 : ndr_print_ptr(ndr, "info", r->info);
10450 2 : ndr->depth++;
10451 2 : if (r->info) {
10452 0 : ndr_print_set_switch_value(ndr, r->info, r->dir_err);
10453 0 : ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
10454 : }
10455 2 : ndr->depth--;
10456 2 : ndr->depth--;
10457 : }
10458 :
10459 63 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntry_ErrData *r)
10460 : {
10461 : uint32_t level;
10462 63 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10463 63 : if (ndr_flags & NDR_SCALARS) {
10464 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
10465 63 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
10466 63 : NDR_CHECK(ndr_push_union_align(ndr, 5));
10467 63 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10468 63 : NDR_CHECK(ndr_push_union_align(ndr, 5));
10469 63 : switch (level) {
10470 63 : case 1: {
10471 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
10472 63 : break; }
10473 :
10474 0 : default:
10475 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
10476 : }
10477 0 : }
10478 63 : if (ndr_flags & NDR_BUFFERS) {
10479 63 : if (!(ndr_flags & NDR_SCALARS)) {
10480 : /* We didn't get it above, and the token is not needed after this. */
10481 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
10482 : }
10483 63 : switch (level) {
10484 63 : case 1:
10485 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
10486 63 : break;
10487 :
10488 0 : default:
10489 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
10490 : }
10491 0 : }
10492 63 : return NDR_ERR_SUCCESS;
10493 : }
10494 :
10495 66 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntry_ErrData *r)
10496 : {
10497 : uint32_t level;
10498 : uint32_t _level;
10499 66 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10500 66 : if (ndr_flags & NDR_SCALARS) {
10501 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
10502 66 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
10503 66 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
10504 66 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10505 66 : if (_level != level) {
10506 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10507 : }
10508 66 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
10509 66 : switch (level) {
10510 66 : case 1: {
10511 66 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
10512 63 : break; }
10513 :
10514 0 : default:
10515 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10516 : }
10517 0 : }
10518 66 : if (ndr_flags & NDR_BUFFERS) {
10519 66 : if (!(ndr_flags & NDR_SCALARS)) {
10520 : /* We didn't get it above, and the token is not needed after this. */
10521 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
10522 : }
10523 66 : switch (level) {
10524 66 : case 1:
10525 66 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
10526 63 : break;
10527 :
10528 0 : default:
10529 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10530 : }
10531 0 : }
10532 63 : return NDR_ERR_SUCCESS;
10533 : }
10534 :
10535 2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntry_ErrData *r)
10536 : {
10537 : uint32_t level;
10538 2 : level = ndr_print_steal_switch_value(ndr, r);
10539 2 : ndr_print_union(ndr, name, level, "drsuapi_DsAddEntry_ErrData");
10540 2 : switch (level) {
10541 2 : case 1:
10542 2 : ndr_print_drsuapi_DsAddEntry_ErrData_V1(ndr, "v1", &r->v1);
10543 2 : break;
10544 :
10545 0 : default:
10546 0 : ndr_print_bad_level(ndr, name, level);
10547 : }
10548 2 : }
10549 :
10550 126 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
10551 : {
10552 126 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10553 126 : if (ndr_flags & NDR_SCALARS) {
10554 63 : NDR_CHECK(ndr_push_align(ndr, 4));
10555 63 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
10556 63 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
10557 63 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
10558 : }
10559 126 : if (ndr_flags & NDR_BUFFERS) {
10560 63 : NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
10561 : }
10562 126 : return NDR_ERR_SUCCESS;
10563 : }
10564 :
10565 130 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
10566 : {
10567 130 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10568 130 : if (ndr_flags & NDR_SCALARS) {
10569 65 : NDR_CHECK(ndr_pull_align(ndr, 4));
10570 65 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
10571 65 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
10572 65 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
10573 : }
10574 130 : if (ndr_flags & NDR_BUFFERS) {
10575 65 : NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
10576 : }
10577 126 : return NDR_ERR_SUCCESS;
10578 : }
10579 :
10580 2 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
10581 : {
10582 2 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
10583 2 : if (r == NULL) { ndr_print_null(ndr); return; }
10584 2 : ndr->depth++;
10585 2 : ndr_print_GUID(ndr, "guid", &r->guid);
10586 2 : ndr_print_dom_sid28(ndr, "sid", &r->sid);
10587 2 : ndr->depth--;
10588 : }
10589 :
10590 0 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
10591 : {
10592 : uint32_t cntr_objects_1;
10593 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10594 0 : if (ndr_flags & NDR_SCALARS) {
10595 0 : NDR_CHECK(ndr_push_align(ndr, 5));
10596 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
10597 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
10598 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
10599 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
10600 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
10601 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
10602 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10603 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
10604 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10605 : }
10606 0 : if (ndr_flags & NDR_BUFFERS) {
10607 0 : if (r->id) {
10608 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10609 : }
10610 0 : if (r->objects) {
10611 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10612 0 : for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
10613 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10614 : }
10615 0 : for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
10616 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10617 : }
10618 : }
10619 : }
10620 0 : return NDR_ERR_SUCCESS;
10621 : }
10622 :
10623 0 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
10624 : {
10625 : uint32_t _ptr_id;
10626 0 : TALLOC_CTX *_mem_save_id_0 = NULL;
10627 : uint32_t _ptr_objects;
10628 0 : uint32_t size_objects_1 = 0;
10629 : uint32_t cntr_objects_1;
10630 0 : TALLOC_CTX *_mem_save_objects_0 = NULL;
10631 0 : TALLOC_CTX *_mem_save_objects_1 = NULL;
10632 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10633 0 : if (ndr_flags & NDR_SCALARS) {
10634 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
10635 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
10636 0 : if (_ptr_id) {
10637 0 : NDR_PULL_ALLOC(ndr, r->id);
10638 : } else {
10639 0 : r->id = NULL;
10640 : }
10641 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
10642 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
10643 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
10644 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
10645 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
10646 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10647 0 : if (r->count > 10000) {
10648 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10649 : }
10650 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
10651 0 : if (_ptr_objects) {
10652 0 : NDR_PULL_ALLOC(ndr, r->objects);
10653 : } else {
10654 0 : r->objects = NULL;
10655 : }
10656 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10657 : }
10658 0 : if (ndr_flags & NDR_BUFFERS) {
10659 0 : if (r->id) {
10660 0 : _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
10661 0 : NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
10662 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10663 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
10664 : }
10665 0 : if (r->objects) {
10666 0 : _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
10667 0 : NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10668 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
10669 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->objects, &size_objects_1));
10670 0 : NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
10671 0 : _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
10672 0 : NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10673 0 : for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
10674 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10675 : }
10676 0 : for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
10677 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10678 : }
10679 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
10680 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
10681 : }
10682 0 : if (r->objects) {
10683 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
10684 : }
10685 0 : for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
10686 : }
10687 : }
10688 0 : return NDR_ERR_SUCCESS;
10689 : }
10690 :
10691 0 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
10692 : {
10693 : uint32_t cntr_objects_1;
10694 0 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
10695 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10696 0 : ndr->depth++;
10697 0 : ndr_print_ptr(ndr, "id", r->id);
10698 0 : ndr->depth++;
10699 0 : if (r->id) {
10700 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
10701 : }
10702 0 : ndr->depth--;
10703 0 : ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
10704 0 : ndr_print_uint32(ndr, "dsid", r->dsid);
10705 0 : ndr_print_WERROR(ndr, "extended_err", r->extended_err);
10706 0 : ndr_print_uint32(ndr, "extended_data", r->extended_data);
10707 0 : ndr_print_uint16(ndr, "problem", r->problem);
10708 0 : ndr_print_uint32(ndr, "count", r->count);
10709 0 : ndr_print_ptr(ndr, "objects", r->objects);
10710 0 : ndr->depth++;
10711 0 : if (r->objects) {
10712 0 : ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
10713 0 : ndr->depth++;
10714 0 : for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
10715 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
10716 : }
10717 0 : ndr->depth--;
10718 : }
10719 0 : ndr->depth--;
10720 0 : ndr->depth--;
10721 : }
10722 :
10723 126 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
10724 : {
10725 : uint32_t cntr_objects_1;
10726 126 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10727 126 : if (ndr_flags & NDR_SCALARS) {
10728 63 : NDR_CHECK(ndr_push_align(ndr, 5));
10729 63 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
10730 63 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->err_ver));
10731 63 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->err_data));
10732 63 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10733 63 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
10734 63 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10735 : }
10736 126 : if (ndr_flags & NDR_BUFFERS) {
10737 63 : if (r->id) {
10738 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10739 : }
10740 63 : if (r->err_data) {
10741 63 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->err_data, r->err_ver));
10742 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
10743 : }
10744 63 : if (r->objects) {
10745 63 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10746 126 : for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
10747 63 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10748 : }
10749 126 : for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
10750 63 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10751 : }
10752 : }
10753 : }
10754 126 : return NDR_ERR_SUCCESS;
10755 : }
10756 :
10757 132 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
10758 : {
10759 : uint32_t _ptr_id;
10760 132 : TALLOC_CTX *_mem_save_id_0 = NULL;
10761 : uint32_t _ptr_err_data;
10762 132 : TALLOC_CTX *_mem_save_err_data_0 = NULL;
10763 : uint32_t _ptr_objects;
10764 132 : uint32_t size_objects_1 = 0;
10765 : uint32_t cntr_objects_1;
10766 132 : TALLOC_CTX *_mem_save_objects_0 = NULL;
10767 132 : TALLOC_CTX *_mem_save_objects_1 = NULL;
10768 132 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10769 132 : if (ndr_flags & NDR_SCALARS) {
10770 66 : NDR_CHECK(ndr_pull_align(ndr, 5));
10771 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
10772 66 : if (_ptr_id) {
10773 0 : NDR_PULL_ALLOC(ndr, r->id);
10774 : } else {
10775 66 : r->id = NULL;
10776 : }
10777 66 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->err_ver));
10778 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_err_data));
10779 66 : if (_ptr_err_data) {
10780 66 : NDR_PULL_ALLOC(ndr, r->err_data);
10781 : } else {
10782 0 : r->err_data = NULL;
10783 : }
10784 66 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10785 66 : if (r->count > 10000) {
10786 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10787 : }
10788 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
10789 66 : if (_ptr_objects) {
10790 66 : NDR_PULL_ALLOC(ndr, r->objects);
10791 : } else {
10792 0 : r->objects = NULL;
10793 : }
10794 66 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10795 : }
10796 132 : if (ndr_flags & NDR_BUFFERS) {
10797 66 : if (r->id) {
10798 0 : _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
10799 0 : NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
10800 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10801 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
10802 : }
10803 66 : if (r->err_data) {
10804 66 : _mem_save_err_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10805 66 : NDR_PULL_SET_MEM_CTX(ndr, r->err_data, 0);
10806 66 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->err_data, r->err_ver));
10807 66 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
10808 65 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_err_data_0, 0);
10809 : }
10810 65 : if (r->objects) {
10811 65 : _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
10812 65 : NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10813 65 : NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
10814 65 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->objects, &size_objects_1));
10815 65 : NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
10816 65 : _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
10817 65 : NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10818 130 : for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
10819 65 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10820 : }
10821 128 : for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
10822 65 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10823 : }
10824 65 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
10825 65 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
10826 : }
10827 65 : if (r->objects) {
10828 65 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
10829 : }
10830 81 : for (cntr_objects_1 = 0; cntr_objects_1 < (size_objects_1); cntr_objects_1++) {
10831 : }
10832 : }
10833 126 : return NDR_ERR_SUCCESS;
10834 : }
10835 :
10836 2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
10837 : {
10838 : uint32_t cntr_objects_1;
10839 2 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
10840 2 : if (r == NULL) { ndr_print_null(ndr); return; }
10841 2 : ndr->depth++;
10842 2 : ndr_print_ptr(ndr, "id", r->id);
10843 2 : ndr->depth++;
10844 2 : if (r->id) {
10845 0 : ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
10846 : }
10847 2 : ndr->depth--;
10848 2 : ndr_print_uint32(ndr, "err_ver", r->err_ver);
10849 2 : ndr_print_ptr(ndr, "err_data", r->err_data);
10850 2 : ndr->depth++;
10851 2 : if (r->err_data) {
10852 2 : ndr_print_set_switch_value(ndr, r->err_data, r->err_ver);
10853 2 : ndr_print_drsuapi_DsAddEntry_ErrData(ndr, "err_data", r->err_data);
10854 : }
10855 2 : ndr->depth--;
10856 2 : ndr_print_uint32(ndr, "count", r->count);
10857 2 : ndr_print_ptr(ndr, "objects", r->objects);
10858 2 : ndr->depth++;
10859 2 : if (r->objects) {
10860 2 : ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
10861 2 : ndr->depth++;
10862 4 : for (cntr_objects_1 = 0; cntr_objects_1 < (r->count); cntr_objects_1++) {
10863 2 : ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
10864 : }
10865 2 : ndr->depth--;
10866 : }
10867 2 : ndr->depth--;
10868 2 : ndr->depth--;
10869 : }
10870 :
10871 63 : static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
10872 : {
10873 : uint32_t level;
10874 63 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10875 63 : if (ndr_flags & NDR_SCALARS) {
10876 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
10877 63 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
10878 63 : NDR_CHECK(ndr_push_union_align(ndr, 5));
10879 63 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10880 63 : NDR_CHECK(ndr_push_union_align(ndr, 5));
10881 63 : switch (level) {
10882 0 : case 2: {
10883 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
10884 0 : break; }
10885 :
10886 63 : case 3: {
10887 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
10888 63 : break; }
10889 :
10890 0 : default:
10891 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
10892 : }
10893 0 : }
10894 63 : if (ndr_flags & NDR_BUFFERS) {
10895 63 : if (!(ndr_flags & NDR_SCALARS)) {
10896 : /* We didn't get it above, and the token is not needed after this. */
10897 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
10898 : }
10899 63 : switch (level) {
10900 0 : case 2:
10901 0 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
10902 0 : break;
10903 :
10904 63 : case 3:
10905 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
10906 63 : break;
10907 :
10908 0 : default:
10909 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
10910 : }
10911 0 : }
10912 63 : return NDR_ERR_SUCCESS;
10913 : }
10914 :
10915 66 : static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
10916 : {
10917 : uint32_t level;
10918 : uint32_t _level;
10919 66 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10920 66 : if (ndr_flags & NDR_SCALARS) {
10921 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
10922 66 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
10923 66 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
10924 66 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10925 66 : if (_level != level) {
10926 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10927 : }
10928 66 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
10929 66 : switch (level) {
10930 0 : case 2: {
10931 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
10932 0 : break; }
10933 :
10934 66 : case 3: {
10935 66 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
10936 63 : break; }
10937 :
10938 0 : default:
10939 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10940 : }
10941 0 : }
10942 66 : if (ndr_flags & NDR_BUFFERS) {
10943 66 : if (!(ndr_flags & NDR_SCALARS)) {
10944 : /* We didn't get it above, and the token is not needed after this. */
10945 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
10946 : }
10947 66 : switch (level) {
10948 0 : case 2:
10949 0 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
10950 0 : break;
10951 :
10952 66 : case 3:
10953 66 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
10954 63 : break;
10955 :
10956 0 : default:
10957 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10958 : }
10959 0 : }
10960 63 : return NDR_ERR_SUCCESS;
10961 : }
10962 :
10963 2 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
10964 : {
10965 : uint32_t level;
10966 2 : level = ndr_print_steal_switch_value(ndr, r);
10967 2 : ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
10968 2 : switch (level) {
10969 0 : case 2:
10970 0 : ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
10971 0 : break;
10972 :
10973 2 : case 3:
10974 2 : ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
10975 2 : break;
10976 :
10977 0 : default:
10978 0 : ndr_print_bad_level(ndr, name, level);
10979 : }
10980 2 : }
10981 :
10982 2 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
10983 : {
10984 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
10985 2 : return NDR_ERR_SUCCESS;
10986 : }
10987 :
10988 2 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
10989 : {
10990 : uint32_t v;
10991 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
10992 2 : *r = v;
10993 2 : return NDR_ERR_SUCCESS;
10994 : }
10995 :
10996 0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
10997 : {
10998 0 : ndr_print_uint32(ndr, name, r);
10999 0 : ndr->depth++;
11000 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
11001 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
11002 0 : ndr->depth--;
11003 0 : }
11004 :
11005 2 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
11006 : {
11007 2 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11008 2 : if (ndr_flags & NDR_SCALARS) {
11009 2 : NDR_CHECK(ndr_push_align(ndr, 4));
11010 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
11011 2 : NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
11012 2 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
11013 : }
11014 2 : if (ndr_flags & NDR_BUFFERS) {
11015 : }
11016 2 : return NDR_ERR_SUCCESS;
11017 : }
11018 :
11019 2 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
11020 : {
11021 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11022 2 : if (ndr_flags & NDR_SCALARS) {
11023 2 : NDR_CHECK(ndr_pull_align(ndr, 4));
11024 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
11025 2 : NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
11026 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
11027 : }
11028 2 : if (ndr_flags & NDR_BUFFERS) {
11029 : }
11030 2 : return NDR_ERR_SUCCESS;
11031 : }
11032 :
11033 0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
11034 : {
11035 0 : ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
11036 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11037 0 : ndr->depth++;
11038 0 : ndr_print_uint32(ndr, "taskID", r->taskID);
11039 0 : ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
11040 0 : ndr->depth--;
11041 : }
11042 :
11043 2 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
11044 : {
11045 : uint32_t level;
11046 2 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11047 2 : if (ndr_flags & NDR_SCALARS) {
11048 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
11049 2 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
11050 2 : NDR_CHECK(ndr_push_union_align(ndr, 4));
11051 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
11052 2 : NDR_CHECK(ndr_push_union_align(ndr, 4));
11053 2 : switch (level) {
11054 2 : case 1: {
11055 2 : NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
11056 2 : break; }
11057 :
11058 0 : default:
11059 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11060 : }
11061 0 : }
11062 2 : if (ndr_flags & NDR_BUFFERS) {
11063 0 : if (!(ndr_flags & NDR_SCALARS)) {
11064 : /* We didn't get it above, and the token is not needed after this. */
11065 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
11066 : }
11067 0 : switch (level) {
11068 0 : case 1:
11069 0 : break;
11070 :
11071 0 : default:
11072 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11073 : }
11074 2 : }
11075 2 : return NDR_ERR_SUCCESS;
11076 : }
11077 :
11078 2 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
11079 : {
11080 : uint32_t level;
11081 : uint32_t _level;
11082 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11083 2 : if (ndr_flags & NDR_SCALARS) {
11084 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
11085 2 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
11086 2 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
11087 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
11088 2 : if (_level != level) {
11089 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
11090 : }
11091 2 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
11092 2 : switch (level) {
11093 2 : case 1: {
11094 2 : NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
11095 2 : break; }
11096 :
11097 0 : default:
11098 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11099 : }
11100 0 : }
11101 2 : if (ndr_flags & NDR_BUFFERS) {
11102 0 : if (!(ndr_flags & NDR_SCALARS)) {
11103 : /* We didn't get it above, and the token is not needed after this. */
11104 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
11105 : }
11106 0 : switch (level) {
11107 0 : case 1:
11108 0 : break;
11109 :
11110 0 : default:
11111 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11112 : }
11113 2 : }
11114 2 : return NDR_ERR_SUCCESS;
11115 : }
11116 :
11117 0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
11118 : {
11119 : uint32_t level;
11120 0 : level = ndr_print_steal_switch_value(ndr, r);
11121 0 : ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
11122 0 : switch (level) {
11123 0 : case 1:
11124 0 : ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
11125 0 : break;
11126 :
11127 0 : default:
11128 0 : ndr_print_bad_level(ndr, name, level);
11129 : }
11130 0 : }
11131 :
11132 64 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
11133 : {
11134 64 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
11135 64 : return NDR_ERR_SUCCESS;
11136 : }
11137 :
11138 32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
11139 : {
11140 : uint32_t v;
11141 32 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
11142 32 : *r = v;
11143 32 : return NDR_ERR_SUCCESS;
11144 : }
11145 :
11146 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
11147 : {
11148 0 : const char *val = NULL;
11149 :
11150 0 : switch (r) {
11151 0 : case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
11152 0 : case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
11153 : }
11154 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
11155 0 : }
11156 :
11157 96 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
11158 : {
11159 96 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
11160 96 : return NDR_ERR_SUCCESS;
11161 : }
11162 :
11163 64 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
11164 : {
11165 : uint32_t v;
11166 64 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
11167 64 : *r = v;
11168 64 : return NDR_ERR_SUCCESS;
11169 : }
11170 :
11171 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
11172 : {
11173 0 : const char *val = NULL;
11174 :
11175 0 : switch (r) {
11176 0 : case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
11177 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
11178 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
11179 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
11180 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
11181 0 : case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
11182 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
11183 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
11184 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
11185 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
11186 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
11187 0 : case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
11188 0 : case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
11189 0 : case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
11190 0 : case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
11191 : }
11192 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
11193 0 : }
11194 :
11195 64 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
11196 : {
11197 64 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11198 64 : if (ndr_flags & NDR_SCALARS) {
11199 32 : NDR_CHECK(ndr_push_align(ndr, 5));
11200 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
11201 32 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11202 32 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
11203 32 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11204 : }
11205 64 : if (ndr_flags & NDR_BUFFERS) {
11206 32 : if (r->object_dn) {
11207 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11208 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11209 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11210 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11211 : }
11212 : }
11213 64 : return NDR_ERR_SUCCESS;
11214 : }
11215 :
11216 64 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
11217 : {
11218 : uint32_t _ptr_object_dn;
11219 64 : uint32_t size_object_dn_1 = 0;
11220 64 : uint32_t length_object_dn_1 = 0;
11221 64 : TALLOC_CTX *_mem_save_object_dn_0 = NULL;
11222 64 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11223 64 : if (ndr_flags & NDR_SCALARS) {
11224 32 : NDR_CHECK(ndr_pull_align(ndr, 5));
11225 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
11226 32 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11227 32 : if (_ptr_object_dn) {
11228 0 : NDR_PULL_ALLOC(ndr, r->object_dn);
11229 : } else {
11230 32 : r->object_dn = NULL;
11231 : }
11232 32 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
11233 32 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11234 : }
11235 64 : if (ndr_flags & NDR_BUFFERS) {
11236 32 : if (r->object_dn) {
11237 0 : _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11238 0 : NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11239 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11240 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11241 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
11242 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
11243 0 : if (length_object_dn_1 > size_object_dn_1) {
11244 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
11245 : }
11246 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
11247 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
11248 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11249 : }
11250 : }
11251 64 : return NDR_ERR_SUCCESS;
11252 : }
11253 :
11254 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
11255 : {
11256 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
11257 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11258 0 : ndr->depth++;
11259 0 : ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
11260 0 : ndr_print_ptr(ndr, "object_dn", r->object_dn);
11261 0 : ndr->depth++;
11262 0 : if (r->object_dn) {
11263 0 : ndr_print_string(ndr, "object_dn", r->object_dn);
11264 : }
11265 0 : ndr->depth--;
11266 0 : ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
11267 0 : ndr->depth--;
11268 : }
11269 :
11270 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
11271 : {
11272 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11273 0 : if (ndr_flags & NDR_SCALARS) {
11274 0 : NDR_CHECK(ndr_push_align(ndr, 5));
11275 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
11276 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11277 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
11278 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
11279 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11280 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
11281 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11282 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11283 : }
11284 0 : if (ndr_flags & NDR_BUFFERS) {
11285 0 : if (r->object_dn) {
11286 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11287 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11288 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11289 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11290 : }
11291 0 : if (r->attribute_name) {
11292 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11293 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11294 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11295 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11296 : }
11297 0 : if (r->value_dn_str) {
11298 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
11299 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11300 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
11301 0 : 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));
11302 : }
11303 : }
11304 0 : return NDR_ERR_SUCCESS;
11305 : }
11306 :
11307 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
11308 : {
11309 : uint32_t _ptr_object_dn;
11310 0 : uint32_t size_object_dn_1 = 0;
11311 0 : uint32_t length_object_dn_1 = 0;
11312 0 : TALLOC_CTX *_mem_save_object_dn_0 = NULL;
11313 : uint32_t _ptr_attribute_name;
11314 0 : uint32_t size_attribute_name_1 = 0;
11315 0 : uint32_t length_attribute_name_1 = 0;
11316 0 : TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
11317 : uint32_t _ptr_value_dn_str;
11318 0 : uint32_t size_value_dn_str_1 = 0;
11319 0 : uint32_t length_value_dn_str_1 = 0;
11320 0 : TALLOC_CTX *_mem_save_value_dn_str_0 = NULL;
11321 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11322 0 : if (ndr_flags & NDR_SCALARS) {
11323 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
11324 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
11325 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11326 0 : if (_ptr_object_dn) {
11327 0 : NDR_PULL_ALLOC(ndr, r->object_dn);
11328 : } else {
11329 0 : r->object_dn = NULL;
11330 : }
11331 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
11332 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
11333 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11334 0 : if (_ptr_attribute_name) {
11335 0 : NDR_PULL_ALLOC(ndr, r->attribute_name);
11336 : } else {
11337 0 : r->attribute_name = NULL;
11338 : }
11339 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
11340 0 : if (_ptr_value_dn_str) {
11341 0 : NDR_PULL_ALLOC(ndr, r->value_dn_str);
11342 : } else {
11343 0 : r->value_dn_str = NULL;
11344 : }
11345 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11346 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11347 : }
11348 0 : if (ndr_flags & NDR_BUFFERS) {
11349 0 : if (r->object_dn) {
11350 0 : _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11351 0 : NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11352 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11353 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11354 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
11355 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
11356 0 : if (length_object_dn_1 > size_object_dn_1) {
11357 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
11358 : }
11359 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
11360 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
11361 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11362 : }
11363 0 : if (r->attribute_name) {
11364 0 : _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11365 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11366 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11367 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11368 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
11369 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
11370 0 : if (length_attribute_name_1 > size_attribute_name_1) {
11371 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
11372 : }
11373 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
11374 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
11375 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11376 : }
11377 0 : if (r->value_dn_str) {
11378 0 : _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
11379 0 : NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
11380 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
11381 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
11382 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->value_dn_str, &size_value_dn_str_1));
11383 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->value_dn_str, &length_value_dn_str_1));
11384 0 : if (length_value_dn_str_1 > size_value_dn_str_1) {
11385 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_value_dn_str_1, length_value_dn_str_1);
11386 : }
11387 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_value_dn_str_1, sizeof(uint16_t)));
11388 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->value_dn_str, length_value_dn_str_1, sizeof(uint16_t), CH_UTF16));
11389 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
11390 : }
11391 : }
11392 0 : return NDR_ERR_SUCCESS;
11393 : }
11394 :
11395 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
11396 : {
11397 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
11398 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11399 0 : ndr->depth++;
11400 0 : ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
11401 0 : ndr_print_ptr(ndr, "object_dn", r->object_dn);
11402 0 : ndr->depth++;
11403 0 : if (r->object_dn) {
11404 0 : ndr_print_string(ndr, "object_dn", r->object_dn);
11405 : }
11406 0 : ndr->depth--;
11407 0 : ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
11408 0 : ndr_print_uint32(ndr, "flags", r->flags);
11409 0 : ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11410 0 : ndr->depth++;
11411 0 : if (r->attribute_name) {
11412 0 : ndr_print_string(ndr, "attribute_name", r->attribute_name);
11413 : }
11414 0 : ndr->depth--;
11415 0 : ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
11416 0 : ndr->depth++;
11417 0 : if (r->value_dn_str) {
11418 0 : ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
11419 : }
11420 0 : ndr->depth--;
11421 0 : ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11422 0 : ndr->depth--;
11423 : }
11424 :
11425 32 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
11426 : {
11427 : uint32_t level;
11428 32 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11429 32 : if (ndr_flags & NDR_SCALARS) {
11430 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
11431 32 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
11432 32 : NDR_CHECK(ndr_push_union_align(ndr, 5));
11433 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
11434 32 : NDR_CHECK(ndr_push_union_align(ndr, 5));
11435 32 : switch (level) {
11436 32 : case DRSUAPI_DS_REPLICA_GET_INFO: {
11437 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
11438 32 : break; }
11439 :
11440 0 : case DRSUAPI_DS_REPLICA_GET_INFO2: {
11441 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
11442 0 : break; }
11443 :
11444 0 : default:
11445 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11446 : }
11447 0 : }
11448 32 : if (ndr_flags & NDR_BUFFERS) {
11449 32 : if (!(ndr_flags & NDR_SCALARS)) {
11450 : /* We didn't get it above, and the token is not needed after this. */
11451 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
11452 : }
11453 32 : switch (level) {
11454 32 : case DRSUAPI_DS_REPLICA_GET_INFO:
11455 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
11456 32 : break;
11457 :
11458 0 : case DRSUAPI_DS_REPLICA_GET_INFO2:
11459 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
11460 0 : break;
11461 :
11462 0 : default:
11463 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11464 : }
11465 0 : }
11466 32 : return NDR_ERR_SUCCESS;
11467 : }
11468 :
11469 32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
11470 : {
11471 : uint32_t level;
11472 : uint32_t _level;
11473 32 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11474 32 : if (ndr_flags & NDR_SCALARS) {
11475 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
11476 32 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
11477 32 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
11478 32 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
11479 32 : if (_level != level) {
11480 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
11481 : }
11482 32 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
11483 32 : switch (level) {
11484 32 : case DRSUAPI_DS_REPLICA_GET_INFO: {
11485 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
11486 32 : break; }
11487 :
11488 0 : case DRSUAPI_DS_REPLICA_GET_INFO2: {
11489 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
11490 0 : break; }
11491 :
11492 0 : default:
11493 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11494 : }
11495 0 : }
11496 32 : if (ndr_flags & NDR_BUFFERS) {
11497 32 : if (!(ndr_flags & NDR_SCALARS)) {
11498 : /* We didn't get it above, and the token is not needed after this. */
11499 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
11500 : }
11501 32 : switch (level) {
11502 32 : case DRSUAPI_DS_REPLICA_GET_INFO:
11503 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
11504 32 : break;
11505 :
11506 0 : case DRSUAPI_DS_REPLICA_GET_INFO2:
11507 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
11508 0 : break;
11509 :
11510 0 : default:
11511 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11512 : }
11513 0 : }
11514 32 : return NDR_ERR_SUCCESS;
11515 : }
11516 :
11517 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
11518 : {
11519 : uint32_t level;
11520 0 : level = ndr_print_steal_switch_value(ndr, r);
11521 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
11522 0 : switch (level) {
11523 0 : case DRSUAPI_DS_REPLICA_GET_INFO:
11524 0 : ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
11525 0 : break;
11526 :
11527 0 : case DRSUAPI_DS_REPLICA_GET_INFO2:
11528 0 : ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
11529 0 : break;
11530 :
11531 0 : default:
11532 0 : ndr_print_bad_level(ndr, name, level);
11533 : }
11534 0 : }
11535 :
11536 320 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
11537 : {
11538 320 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11539 320 : if (ndr_flags & NDR_SCALARS) {
11540 160 : NDR_CHECK(ndr_push_align(ndr, 8));
11541 160 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
11542 160 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11543 160 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
11544 160 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
11545 160 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
11546 160 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11547 160 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
11548 160 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
11549 160 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11550 160 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
11551 160 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
11552 160 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11553 160 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
11554 160 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
11555 160 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
11556 160 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
11557 160 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11558 : }
11559 320 : if (ndr_flags & NDR_BUFFERS) {
11560 160 : if (r->naming_context_dn) {
11561 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
11562 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11563 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
11564 160 : 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));
11565 : }
11566 160 : if (r->source_dsa_obj_dn) {
11567 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11568 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11569 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11570 160 : 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));
11571 : }
11572 160 : if (r->source_dsa_address) {
11573 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
11574 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11575 160 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
11576 160 : 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));
11577 : }
11578 160 : if (r->transport_obj_dn) {
11579 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
11580 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11581 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
11582 0 : 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));
11583 : }
11584 : }
11585 320 : return NDR_ERR_SUCCESS;
11586 : }
11587 :
11588 320 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
11589 : {
11590 : uint32_t _ptr_naming_context_dn;
11591 320 : uint32_t size_naming_context_dn_1 = 0;
11592 320 : uint32_t length_naming_context_dn_1 = 0;
11593 320 : TALLOC_CTX *_mem_save_naming_context_dn_0 = NULL;
11594 : uint32_t _ptr_source_dsa_obj_dn;
11595 320 : uint32_t size_source_dsa_obj_dn_1 = 0;
11596 320 : uint32_t length_source_dsa_obj_dn_1 = 0;
11597 320 : TALLOC_CTX *_mem_save_source_dsa_obj_dn_0 = NULL;
11598 : uint32_t _ptr_source_dsa_address;
11599 320 : uint32_t size_source_dsa_address_1 = 0;
11600 320 : uint32_t length_source_dsa_address_1 = 0;
11601 320 : TALLOC_CTX *_mem_save_source_dsa_address_0 = NULL;
11602 : uint32_t _ptr_transport_obj_dn;
11603 320 : uint32_t size_transport_obj_dn_1 = 0;
11604 320 : uint32_t length_transport_obj_dn_1 = 0;
11605 320 : TALLOC_CTX *_mem_save_transport_obj_dn_0 = NULL;
11606 320 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11607 320 : if (ndr_flags & NDR_SCALARS) {
11608 160 : NDR_CHECK(ndr_pull_align(ndr, 8));
11609 160 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
11610 160 : if (_ptr_naming_context_dn) {
11611 160 : NDR_PULL_ALLOC(ndr, r->naming_context_dn);
11612 : } else {
11613 0 : r->naming_context_dn = NULL;
11614 : }
11615 160 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11616 160 : if (_ptr_source_dsa_obj_dn) {
11617 160 : NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11618 : } else {
11619 0 : r->source_dsa_obj_dn = NULL;
11620 : }
11621 160 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
11622 160 : if (_ptr_source_dsa_address) {
11623 160 : NDR_PULL_ALLOC(ndr, r->source_dsa_address);
11624 : } else {
11625 0 : r->source_dsa_address = NULL;
11626 : }
11627 160 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
11628 160 : if (_ptr_transport_obj_dn) {
11629 0 : NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
11630 : } else {
11631 160 : r->transport_obj_dn = NULL;
11632 : }
11633 160 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
11634 160 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11635 160 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
11636 160 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
11637 160 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11638 160 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
11639 160 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
11640 160 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11641 160 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
11642 160 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
11643 160 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
11644 160 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
11645 160 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11646 : }
11647 320 : if (ndr_flags & NDR_BUFFERS) {
11648 160 : if (r->naming_context_dn) {
11649 160 : _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11650 160 : NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
11651 160 : NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
11652 160 : NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
11653 160 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->naming_context_dn, &size_naming_context_dn_1));
11654 160 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->naming_context_dn, &length_naming_context_dn_1));
11655 160 : if (length_naming_context_dn_1 > size_naming_context_dn_1) {
11656 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_naming_context_dn_1, length_naming_context_dn_1);
11657 : }
11658 160 : NDR_CHECK(ndr_check_string_terminator(ndr, length_naming_context_dn_1, sizeof(uint16_t)));
11659 160 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, length_naming_context_dn_1, sizeof(uint16_t), CH_UTF16));
11660 160 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
11661 : }
11662 160 : if (r->source_dsa_obj_dn) {
11663 160 : _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11664 160 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11665 160 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11666 160 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11667 160 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_obj_dn, &size_source_dsa_obj_dn_1));
11668 160 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_obj_dn, &length_source_dsa_obj_dn_1));
11669 160 : if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
11670 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
11671 : }
11672 160 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
11673 160 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
11674 160 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11675 : }
11676 160 : if (r->source_dsa_address) {
11677 160 : _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
11678 160 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
11679 160 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
11680 160 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
11681 160 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_address, &size_source_dsa_address_1));
11682 160 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_address, &length_source_dsa_address_1));
11683 160 : if (length_source_dsa_address_1 > size_source_dsa_address_1) {
11684 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
11685 : }
11686 160 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
11687 160 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
11688 160 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
11689 : }
11690 160 : if (r->transport_obj_dn) {
11691 0 : _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11692 0 : NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
11693 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
11694 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
11695 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->transport_obj_dn, &size_transport_obj_dn_1));
11696 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->transport_obj_dn, &length_transport_obj_dn_1));
11697 0 : if (length_transport_obj_dn_1 > size_transport_obj_dn_1) {
11698 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_obj_dn_1, length_transport_obj_dn_1);
11699 : }
11700 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_obj_dn_1, sizeof(uint16_t)));
11701 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, length_transport_obj_dn_1, sizeof(uint16_t), CH_UTF16));
11702 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
11703 : }
11704 : }
11705 320 : return NDR_ERR_SUCCESS;
11706 : }
11707 :
11708 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
11709 : {
11710 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
11711 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11712 0 : ndr->depth++;
11713 0 : ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
11714 0 : ndr->depth++;
11715 0 : if (r->naming_context_dn) {
11716 0 : ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
11717 : }
11718 0 : ndr->depth--;
11719 0 : ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11720 0 : ndr->depth++;
11721 0 : if (r->source_dsa_obj_dn) {
11722 0 : ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11723 : }
11724 0 : ndr->depth--;
11725 0 : ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
11726 0 : ndr->depth++;
11727 0 : if (r->source_dsa_address) {
11728 0 : ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
11729 : }
11730 0 : ndr->depth--;
11731 0 : ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
11732 0 : ndr->depth++;
11733 0 : if (r->transport_obj_dn) {
11734 0 : ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
11735 : }
11736 0 : ndr->depth--;
11737 0 : ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
11738 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
11739 0 : ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
11740 0 : ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
11741 0 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11742 0 : ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
11743 0 : ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
11744 0 : ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11745 0 : ndr_print_NTTIME(ndr, "last_success", r->last_success);
11746 0 : ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
11747 0 : ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
11748 0 : ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
11749 0 : ndr->depth--;
11750 : }
11751 :
11752 32 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
11753 : {
11754 : uint32_t cntr_array_0;
11755 32 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11756 32 : if (ndr_flags & NDR_SCALARS) {
11757 32 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11758 32 : NDR_CHECK(ndr_push_align(ndr, 8));
11759 32 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11760 32 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11761 192 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11762 160 : NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11763 : }
11764 32 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11765 : }
11766 32 : if (ndr_flags & NDR_BUFFERS) {
11767 192 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11768 160 : NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11769 : }
11770 : }
11771 32 : return NDR_ERR_SUCCESS;
11772 : }
11773 :
11774 32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
11775 : {
11776 32 : uint32_t size_array_0 = 0;
11777 : uint32_t cntr_array_0;
11778 32 : TALLOC_CTX *_mem_save_array_0 = NULL;
11779 32 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11780 32 : if (ndr_flags & NDR_SCALARS) {
11781 32 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11782 32 : NDR_CHECK(ndr_pull_align(ndr, 8));
11783 32 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11784 32 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11785 32 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
11786 32 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11787 32 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11788 32 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11789 192 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
11790 160 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11791 : }
11792 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11793 32 : if (r->array) {
11794 32 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11795 : }
11796 32 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11797 : }
11798 32 : if (ndr_flags & NDR_BUFFERS) {
11799 32 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
11800 32 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11801 32 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11802 192 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
11803 160 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11804 : }
11805 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11806 32 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
11807 : }
11808 : }
11809 32 : return NDR_ERR_SUCCESS;
11810 : }
11811 :
11812 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
11813 : {
11814 : uint32_t cntr_array_0;
11815 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
11816 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11817 0 : ndr->depth++;
11818 0 : ndr_print_uint32(ndr, "count", r->count);
11819 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
11820 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11821 0 : ndr->depth++;
11822 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11823 0 : ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
11824 : }
11825 0 : ndr->depth--;
11826 0 : ndr->depth--;
11827 : }
11828 :
11829 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
11830 : {
11831 : uint32_t cntr_array_0;
11832 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11833 0 : if (ndr_flags & NDR_SCALARS) {
11834 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11835 0 : NDR_CHECK(ndr_push_align(ndr, 8));
11836 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11837 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11838 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11839 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11840 : }
11841 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11842 : }
11843 0 : if (ndr_flags & NDR_BUFFERS) {
11844 : }
11845 0 : return NDR_ERR_SUCCESS;
11846 : }
11847 :
11848 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
11849 : {
11850 0 : uint32_t size_array_0 = 0;
11851 : uint32_t cntr_array_0;
11852 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
11853 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11854 0 : if (ndr_flags & NDR_SCALARS) {
11855 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11856 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
11857 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11858 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11859 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
11860 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11861 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11862 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11863 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
11864 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11865 : }
11866 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11867 0 : if (r->array) {
11868 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->array, r->count));
11869 : }
11870 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11871 : }
11872 0 : if (ndr_flags & NDR_BUFFERS) {
11873 : }
11874 0 : return NDR_ERR_SUCCESS;
11875 : }
11876 :
11877 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
11878 : {
11879 : uint32_t cntr_array_0;
11880 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
11881 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11882 0 : ndr->depth++;
11883 0 : ndr_print_uint32(ndr, "count", r->count);
11884 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
11885 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11886 0 : ndr->depth++;
11887 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11888 0 : ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
11889 : }
11890 0 : ndr->depth--;
11891 0 : ndr->depth--;
11892 : }
11893 :
11894 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
11895 : {
11896 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11897 0 : if (ndr_flags & NDR_SCALARS) {
11898 0 : NDR_CHECK(ndr_push_align(ndr, 8));
11899 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11900 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11901 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11902 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11903 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11904 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11905 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11906 : }
11907 0 : if (ndr_flags & NDR_BUFFERS) {
11908 0 : if (r->attribute_name) {
11909 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11910 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11911 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11912 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11913 : }
11914 : }
11915 0 : return NDR_ERR_SUCCESS;
11916 : }
11917 :
11918 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
11919 : {
11920 : uint32_t _ptr_attribute_name;
11921 0 : uint32_t size_attribute_name_1 = 0;
11922 0 : uint32_t length_attribute_name_1 = 0;
11923 0 : TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
11924 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11925 0 : if (ndr_flags & NDR_SCALARS) {
11926 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
11927 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11928 0 : if (_ptr_attribute_name) {
11929 0 : NDR_PULL_ALLOC(ndr, r->attribute_name);
11930 : } else {
11931 0 : r->attribute_name = NULL;
11932 : }
11933 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11934 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11935 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11936 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11937 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11938 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11939 : }
11940 0 : if (ndr_flags & NDR_BUFFERS) {
11941 0 : if (r->attribute_name) {
11942 0 : _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11943 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11944 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11945 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11946 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
11947 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
11948 0 : if (length_attribute_name_1 > size_attribute_name_1) {
11949 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
11950 : }
11951 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
11952 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
11953 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11954 : }
11955 : }
11956 0 : return NDR_ERR_SUCCESS;
11957 : }
11958 :
11959 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
11960 : {
11961 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
11962 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11963 0 : ndr->depth++;
11964 0 : ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11965 0 : ndr->depth++;
11966 0 : if (r->attribute_name) {
11967 0 : ndr_print_string(ndr, "attribute_name", r->attribute_name);
11968 : }
11969 0 : ndr->depth--;
11970 0 : ndr_print_uint32(ndr, "version", r->version);
11971 0 : ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11972 0 : ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11973 0 : ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11974 0 : ndr_print_hyper(ndr, "local_usn", r->local_usn);
11975 0 : ndr->depth--;
11976 : }
11977 :
11978 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
11979 : {
11980 : uint32_t cntr_array_0;
11981 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11982 0 : if (ndr_flags & NDR_SCALARS) {
11983 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11984 0 : NDR_CHECK(ndr_push_align(ndr, 8));
11985 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11986 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11987 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11988 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11989 : }
11990 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11991 : }
11992 0 : if (ndr_flags & NDR_BUFFERS) {
11993 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
11994 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11995 : }
11996 : }
11997 0 : return NDR_ERR_SUCCESS;
11998 : }
11999 :
12000 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
12001 : {
12002 0 : uint32_t size_array_0 = 0;
12003 : uint32_t cntr_array_0;
12004 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
12005 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12006 0 : if (ndr_flags & NDR_SCALARS) {
12007 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12008 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12009 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12010 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12011 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12012 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12013 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12014 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12015 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12016 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12017 : }
12018 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12019 0 : if (r->array) {
12020 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12021 : }
12022 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12023 : }
12024 0 : if (ndr_flags & NDR_BUFFERS) {
12025 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12026 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12027 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12028 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12029 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12030 : }
12031 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12032 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12033 : }
12034 : }
12035 0 : return NDR_ERR_SUCCESS;
12036 : }
12037 :
12038 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
12039 : {
12040 : uint32_t cntr_array_0;
12041 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
12042 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12043 0 : ndr->depth++;
12044 0 : ndr_print_uint32(ndr, "count", r->count);
12045 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
12046 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12047 0 : ndr->depth++;
12048 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12049 0 : ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
12050 : }
12051 0 : ndr->depth--;
12052 0 : ndr->depth--;
12053 : }
12054 :
12055 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
12056 : {
12057 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12058 0 : if (ndr_flags & NDR_SCALARS) {
12059 0 : NDR_CHECK(ndr_push_align(ndr, 5));
12060 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
12061 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
12062 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
12063 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
12064 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
12065 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12066 : }
12067 0 : if (ndr_flags & NDR_BUFFERS) {
12068 0 : if (r->dsa_obj_dn) {
12069 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
12070 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12071 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
12072 0 : 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));
12073 : }
12074 : }
12075 0 : return NDR_ERR_SUCCESS;
12076 : }
12077 :
12078 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
12079 : {
12080 : uint32_t _ptr_dsa_obj_dn;
12081 0 : uint32_t size_dsa_obj_dn_1 = 0;
12082 0 : uint32_t length_dsa_obj_dn_1 = 0;
12083 0 : TALLOC_CTX *_mem_save_dsa_obj_dn_0 = NULL;
12084 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12085 0 : if (ndr_flags & NDR_SCALARS) {
12086 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
12087 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
12088 0 : if (_ptr_dsa_obj_dn) {
12089 0 : NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
12090 : } else {
12091 0 : r->dsa_obj_dn = NULL;
12092 : }
12093 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
12094 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
12095 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
12096 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
12097 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12098 : }
12099 0 : if (ndr_flags & NDR_BUFFERS) {
12100 0 : if (r->dsa_obj_dn) {
12101 0 : _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12102 0 : NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
12103 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
12104 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
12105 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dsa_obj_dn, &size_dsa_obj_dn_1));
12106 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dsa_obj_dn, &length_dsa_obj_dn_1));
12107 0 : if (length_dsa_obj_dn_1 > size_dsa_obj_dn_1) {
12108 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dsa_obj_dn_1, length_dsa_obj_dn_1);
12109 : }
12110 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dsa_obj_dn_1, sizeof(uint16_t)));
12111 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, length_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
12112 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
12113 : }
12114 : }
12115 0 : return NDR_ERR_SUCCESS;
12116 : }
12117 :
12118 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
12119 : {
12120 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
12121 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12122 0 : ndr->depth++;
12123 0 : ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
12124 0 : ndr->depth++;
12125 0 : if (r->dsa_obj_dn) {
12126 0 : ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
12127 : }
12128 0 : ndr->depth--;
12129 0 : ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
12130 0 : ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
12131 0 : ndr_print_uint32(ndr, "num_failures", r->num_failures);
12132 0 : ndr_print_WERROR(ndr, "last_result", r->last_result);
12133 0 : ndr->depth--;
12134 : }
12135 :
12136 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
12137 : {
12138 : uint32_t cntr_array_0;
12139 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12140 0 : if (ndr_flags & NDR_SCALARS) {
12141 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12142 0 : NDR_CHECK(ndr_push_align(ndr, 5));
12143 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12144 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12145 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12146 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12147 : }
12148 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12149 : }
12150 0 : if (ndr_flags & NDR_BUFFERS) {
12151 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12152 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12153 : }
12154 : }
12155 0 : return NDR_ERR_SUCCESS;
12156 : }
12157 :
12158 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
12159 : {
12160 0 : uint32_t size_array_0 = 0;
12161 : uint32_t cntr_array_0;
12162 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
12163 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12164 0 : if (ndr_flags & NDR_SCALARS) {
12165 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12166 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
12167 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12168 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12169 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12170 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12171 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12172 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12173 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12174 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12175 : }
12176 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12177 0 : if (r->array) {
12178 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12179 : }
12180 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12181 : }
12182 0 : if (ndr_flags & NDR_BUFFERS) {
12183 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12184 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12185 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12186 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12187 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12188 : }
12189 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12190 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12191 : }
12192 : }
12193 0 : return NDR_ERR_SUCCESS;
12194 : }
12195 :
12196 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
12197 : {
12198 : uint32_t cntr_array_0;
12199 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
12200 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12201 0 : ndr->depth++;
12202 0 : ndr_print_uint32(ndr, "count", r->count);
12203 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
12204 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12205 0 : ndr->depth++;
12206 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12207 0 : ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
12208 : }
12209 0 : ndr->depth--;
12210 0 : ndr->depth--;
12211 : }
12212 :
12213 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
12214 : {
12215 0 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
12216 0 : return NDR_ERR_SUCCESS;
12217 : }
12218 :
12219 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
12220 : {
12221 : uint16_t v;
12222 0 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
12223 0 : *r = v;
12224 0 : return NDR_ERR_SUCCESS;
12225 : }
12226 :
12227 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
12228 : {
12229 0 : const char *val = NULL;
12230 :
12231 0 : switch (r) {
12232 0 : case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
12233 0 : case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
12234 0 : case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
12235 0 : case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
12236 0 : case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
12237 : }
12238 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
12239 0 : }
12240 :
12241 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
12242 : {
12243 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12244 0 : if (ndr_flags & NDR_SCALARS) {
12245 0 : NDR_CHECK(ndr_push_align(ndr, 5));
12246 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
12247 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
12248 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
12249 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
12250 0 : NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
12251 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
12252 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
12253 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
12254 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
12255 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
12256 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12257 : }
12258 0 : if (ndr_flags & NDR_BUFFERS) {
12259 0 : if (r->nc_dn) {
12260 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
12261 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12262 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
12263 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12264 : }
12265 0 : if (r->remote_dsa_obj_dn) {
12266 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
12267 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12268 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
12269 0 : 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));
12270 : }
12271 0 : if (r->remote_dsa_address) {
12272 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
12273 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12274 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
12275 0 : 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));
12276 : }
12277 : }
12278 0 : return NDR_ERR_SUCCESS;
12279 : }
12280 :
12281 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
12282 : {
12283 : uint32_t _ptr_nc_dn;
12284 0 : uint32_t size_nc_dn_1 = 0;
12285 0 : uint32_t length_nc_dn_1 = 0;
12286 0 : TALLOC_CTX *_mem_save_nc_dn_0 = NULL;
12287 : uint32_t _ptr_remote_dsa_obj_dn;
12288 0 : uint32_t size_remote_dsa_obj_dn_1 = 0;
12289 0 : uint32_t length_remote_dsa_obj_dn_1 = 0;
12290 0 : TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0 = NULL;
12291 : uint32_t _ptr_remote_dsa_address;
12292 0 : uint32_t size_remote_dsa_address_1 = 0;
12293 0 : uint32_t length_remote_dsa_address_1 = 0;
12294 0 : TALLOC_CTX *_mem_save_remote_dsa_address_0 = NULL;
12295 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12296 0 : if (ndr_flags & NDR_SCALARS) {
12297 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
12298 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
12299 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
12300 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
12301 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
12302 0 : NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
12303 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
12304 0 : if (_ptr_nc_dn) {
12305 0 : NDR_PULL_ALLOC(ndr, r->nc_dn);
12306 : } else {
12307 0 : r->nc_dn = NULL;
12308 : }
12309 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
12310 0 : if (_ptr_remote_dsa_obj_dn) {
12311 0 : NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
12312 : } else {
12313 0 : r->remote_dsa_obj_dn = NULL;
12314 : }
12315 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
12316 0 : if (_ptr_remote_dsa_address) {
12317 0 : NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
12318 : } else {
12319 0 : r->remote_dsa_address = NULL;
12320 : }
12321 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
12322 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
12323 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12324 : }
12325 0 : if (ndr_flags & NDR_BUFFERS) {
12326 0 : if (r->nc_dn) {
12327 0 : _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12328 0 : NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
12329 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
12330 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
12331 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->nc_dn, &size_nc_dn_1));
12332 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->nc_dn, &length_nc_dn_1));
12333 0 : if (length_nc_dn_1 > size_nc_dn_1) {
12334 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_nc_dn_1, length_nc_dn_1);
12335 : }
12336 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_nc_dn_1, sizeof(uint16_t)));
12337 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, length_nc_dn_1, sizeof(uint16_t), CH_UTF16));
12338 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
12339 : }
12340 0 : if (r->remote_dsa_obj_dn) {
12341 0 : _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12342 0 : NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
12343 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
12344 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
12345 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_dsa_obj_dn, &size_remote_dsa_obj_dn_1));
12346 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_dsa_obj_dn, &length_remote_dsa_obj_dn_1));
12347 0 : if (length_remote_dsa_obj_dn_1 > size_remote_dsa_obj_dn_1) {
12348 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_obj_dn_1, length_remote_dsa_obj_dn_1);
12349 : }
12350 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_obj_dn_1, sizeof(uint16_t)));
12351 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, length_remote_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
12352 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
12353 : }
12354 0 : if (r->remote_dsa_address) {
12355 0 : _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
12356 0 : NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
12357 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
12358 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
12359 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_dsa_address, &size_remote_dsa_address_1));
12360 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_dsa_address, &length_remote_dsa_address_1));
12361 0 : if (length_remote_dsa_address_1 > size_remote_dsa_address_1) {
12362 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_address_1, length_remote_dsa_address_1);
12363 : }
12364 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_address_1, sizeof(uint16_t)));
12365 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, length_remote_dsa_address_1, sizeof(uint16_t), CH_UTF16));
12366 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
12367 : }
12368 : }
12369 0 : return NDR_ERR_SUCCESS;
12370 : }
12371 :
12372 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
12373 : {
12374 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
12375 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12376 0 : ndr->depth++;
12377 0 : ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
12378 0 : ndr_print_uint32(ndr, "serial_num", r->serial_num);
12379 0 : ndr_print_uint32(ndr, "priority", r->priority);
12380 0 : ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
12381 0 : ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
12382 0 : ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
12383 0 : ndr->depth++;
12384 0 : if (r->nc_dn) {
12385 0 : ndr_print_string(ndr, "nc_dn", r->nc_dn);
12386 : }
12387 0 : ndr->depth--;
12388 0 : ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
12389 0 : ndr->depth++;
12390 0 : if (r->remote_dsa_obj_dn) {
12391 0 : ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
12392 : }
12393 0 : ndr->depth--;
12394 0 : ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
12395 0 : ndr->depth++;
12396 0 : if (r->remote_dsa_address) {
12397 0 : ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
12398 : }
12399 0 : ndr->depth--;
12400 0 : ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
12401 0 : ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
12402 0 : ndr->depth--;
12403 : }
12404 :
12405 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
12406 : {
12407 : uint32_t cntr_array_0;
12408 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12409 0 : if (ndr_flags & NDR_SCALARS) {
12410 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12411 0 : NDR_CHECK(ndr_push_align(ndr, 5));
12412 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
12413 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12414 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12415 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12416 : }
12417 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12418 : }
12419 0 : if (ndr_flags & NDR_BUFFERS) {
12420 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12421 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12422 : }
12423 : }
12424 0 : return NDR_ERR_SUCCESS;
12425 : }
12426 :
12427 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
12428 : {
12429 0 : uint32_t size_array_0 = 0;
12430 : uint32_t cntr_array_0;
12431 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
12432 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12433 0 : if (ndr_flags & NDR_SCALARS) {
12434 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12435 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
12436 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
12437 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12438 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12439 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12440 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12441 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12442 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12443 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12444 : }
12445 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12446 0 : if (r->array) {
12447 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12448 : }
12449 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12450 : }
12451 0 : if (ndr_flags & NDR_BUFFERS) {
12452 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12453 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12454 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12455 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12456 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12457 : }
12458 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12459 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12460 : }
12461 : }
12462 0 : return NDR_ERR_SUCCESS;
12463 : }
12464 :
12465 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
12466 : {
12467 : uint32_t cntr_array_0;
12468 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
12469 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12470 0 : ndr->depth++;
12471 0 : ndr_print_NTTIME(ndr, "time", r->time);
12472 0 : ndr_print_uint32(ndr, "count", r->count);
12473 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12474 0 : ndr->depth++;
12475 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12476 0 : ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
12477 : }
12478 0 : ndr->depth--;
12479 0 : ndr->depth--;
12480 : }
12481 :
12482 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
12483 : {
12484 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12485 0 : if (ndr_flags & NDR_SCALARS) {
12486 0 : NDR_CHECK(ndr_push_align(ndr, 8));
12487 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
12488 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
12489 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
12490 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
12491 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
12492 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
12493 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
12494 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
12495 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12496 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
12497 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
12498 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12499 : }
12500 0 : if (ndr_flags & NDR_BUFFERS) {
12501 0 : if (r->attribute_name) {
12502 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12503 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12504 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12505 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12506 : }
12507 0 : if (r->object_dn) {
12508 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12509 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12510 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12511 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12512 : }
12513 0 : if (r->binary) {
12514 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
12515 : }
12516 : }
12517 0 : return NDR_ERR_SUCCESS;
12518 : }
12519 :
12520 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
12521 : {
12522 : uint32_t _ptr_attribute_name;
12523 0 : uint32_t size_attribute_name_1 = 0;
12524 0 : uint32_t length_attribute_name_1 = 0;
12525 0 : TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
12526 : uint32_t _ptr_object_dn;
12527 0 : uint32_t size_object_dn_1 = 0;
12528 0 : uint32_t length_object_dn_1 = 0;
12529 0 : TALLOC_CTX *_mem_save_object_dn_0 = NULL;
12530 : uint32_t _ptr_binary;
12531 0 : TALLOC_CTX *_mem_save_binary_0 = NULL;
12532 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12533 0 : if (ndr_flags & NDR_SCALARS) {
12534 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12535 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
12536 0 : if (_ptr_attribute_name) {
12537 0 : NDR_PULL_ALLOC(ndr, r->attribute_name);
12538 : } else {
12539 0 : r->attribute_name = NULL;
12540 : }
12541 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
12542 0 : if (_ptr_object_dn) {
12543 0 : NDR_PULL_ALLOC(ndr, r->object_dn);
12544 : } else {
12545 0 : r->object_dn = NULL;
12546 : }
12547 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
12548 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
12549 0 : if (_ptr_binary) {
12550 0 : NDR_PULL_ALLOC(ndr, r->binary);
12551 : } else {
12552 0 : r->binary = NULL;
12553 : }
12554 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
12555 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
12556 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
12557 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
12558 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12559 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
12560 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
12561 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12562 : }
12563 0 : if (ndr_flags & NDR_BUFFERS) {
12564 0 : if (r->attribute_name) {
12565 0 : _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12566 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
12567 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
12568 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
12569 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
12570 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
12571 0 : if (length_attribute_name_1 > size_attribute_name_1) {
12572 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
12573 : }
12574 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
12575 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
12576 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
12577 : }
12578 0 : if (r->object_dn) {
12579 0 : _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12580 0 : NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
12581 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
12582 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
12583 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
12584 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
12585 0 : if (length_object_dn_1 > size_object_dn_1) {
12586 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
12587 : }
12588 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
12589 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
12590 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
12591 : }
12592 0 : if (r->binary) {
12593 0 : _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
12594 0 : NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
12595 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
12596 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
12597 : }
12598 : }
12599 0 : return NDR_ERR_SUCCESS;
12600 : }
12601 :
12602 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
12603 : {
12604 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
12605 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12606 0 : ndr->depth++;
12607 0 : ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
12608 0 : ndr->depth++;
12609 0 : if (r->attribute_name) {
12610 0 : ndr_print_string(ndr, "attribute_name", r->attribute_name);
12611 : }
12612 0 : ndr->depth--;
12613 0 : ndr_print_ptr(ndr, "object_dn", r->object_dn);
12614 0 : ndr->depth++;
12615 0 : if (r->object_dn) {
12616 0 : ndr_print_string(ndr, "object_dn", r->object_dn);
12617 : }
12618 0 : ndr->depth--;
12619 0 : 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);
12620 0 : ndr_print_ptr(ndr, "binary", r->binary);
12621 0 : ndr->depth++;
12622 0 : if (r->binary) {
12623 0 : ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
12624 : }
12625 0 : ndr->depth--;
12626 0 : ndr_print_NTTIME(ndr, "deleted", r->deleted);
12627 0 : ndr_print_NTTIME(ndr, "created", r->created);
12628 0 : ndr_print_uint32(ndr, "version", r->version);
12629 0 : ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
12630 0 : ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
12631 0 : ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
12632 0 : ndr_print_hyper(ndr, "local_usn", r->local_usn);
12633 0 : ndr->depth--;
12634 : }
12635 :
12636 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
12637 : {
12638 : uint32_t cntr_array_0;
12639 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12640 0 : if (ndr_flags & NDR_SCALARS) {
12641 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12642 0 : NDR_CHECK(ndr_push_align(ndr, 8));
12643 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12644 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12645 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12646 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12647 : }
12648 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12649 : }
12650 0 : if (ndr_flags & NDR_BUFFERS) {
12651 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12652 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12653 : }
12654 : }
12655 0 : return NDR_ERR_SUCCESS;
12656 : }
12657 :
12658 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
12659 : {
12660 0 : uint32_t size_array_0 = 0;
12661 : uint32_t cntr_array_0;
12662 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
12663 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12664 0 : if (ndr_flags & NDR_SCALARS) {
12665 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12666 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12667 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12668 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12669 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12670 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12671 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12672 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12673 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12674 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12675 : }
12676 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12677 0 : if (r->array) {
12678 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12679 : }
12680 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12681 : }
12682 0 : if (ndr_flags & NDR_BUFFERS) {
12683 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12684 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12685 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12686 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12687 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12688 : }
12689 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12690 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12691 : }
12692 : }
12693 0 : return NDR_ERR_SUCCESS;
12694 : }
12695 :
12696 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
12697 : {
12698 : uint32_t cntr_array_0;
12699 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
12700 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12701 0 : ndr->depth++;
12702 0 : ndr_print_uint32(ndr, "count", r->count);
12703 0 : ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12704 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12705 0 : ndr->depth++;
12706 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12707 0 : ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
12708 : }
12709 0 : ndr->depth--;
12710 0 : ndr->depth--;
12711 : }
12712 :
12713 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
12714 : {
12715 : uint32_t cntr_array_0;
12716 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12717 0 : if (ndr_flags & NDR_SCALARS) {
12718 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12719 0 : NDR_CHECK(ndr_push_align(ndr, 8));
12720 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12721 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12722 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12723 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12724 : }
12725 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12726 : }
12727 0 : if (ndr_flags & NDR_BUFFERS) {
12728 : }
12729 0 : return NDR_ERR_SUCCESS;
12730 : }
12731 :
12732 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
12733 : {
12734 0 : uint32_t size_array_0 = 0;
12735 : uint32_t cntr_array_0;
12736 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
12737 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12738 0 : if (ndr_flags & NDR_SCALARS) {
12739 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12740 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12741 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12742 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12743 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12744 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12745 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12746 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12747 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12748 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12749 : }
12750 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12751 0 : if (r->array) {
12752 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->array, r->count));
12753 : }
12754 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12755 : }
12756 0 : if (ndr_flags & NDR_BUFFERS) {
12757 : }
12758 0 : return NDR_ERR_SUCCESS;
12759 : }
12760 :
12761 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
12762 : {
12763 : uint32_t cntr_array_0;
12764 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
12765 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12766 0 : ndr->depth++;
12767 0 : ndr_print_uint32(ndr, "count", r->count);
12768 0 : ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12769 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12770 0 : ndr->depth++;
12771 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12772 0 : ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
12773 : }
12774 0 : ndr->depth--;
12775 0 : ndr->depth--;
12776 : }
12777 :
12778 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
12779 : {
12780 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12781 0 : if (ndr_flags & NDR_SCALARS) {
12782 0 : NDR_CHECK(ndr_push_align(ndr, 8));
12783 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
12784 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
12785 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
12786 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
12787 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12788 : }
12789 0 : if (ndr_flags & NDR_BUFFERS) {
12790 0 : if (r->source_dsa_obj_dn) {
12791 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
12792 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12793 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
12794 0 : 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));
12795 : }
12796 : }
12797 0 : return NDR_ERR_SUCCESS;
12798 : }
12799 :
12800 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
12801 : {
12802 : uint32_t _ptr_source_dsa_obj_dn;
12803 0 : uint32_t size_source_dsa_obj_dn_1 = 0;
12804 0 : uint32_t length_source_dsa_obj_dn_1 = 0;
12805 0 : TALLOC_CTX *_mem_save_source_dsa_obj_dn_0 = NULL;
12806 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12807 0 : if (ndr_flags & NDR_SCALARS) {
12808 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12809 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
12810 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
12811 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
12812 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
12813 0 : if (_ptr_source_dsa_obj_dn) {
12814 0 : NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
12815 : } else {
12816 0 : r->source_dsa_obj_dn = NULL;
12817 : }
12818 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12819 : }
12820 0 : if (ndr_flags & NDR_BUFFERS) {
12821 0 : if (r->source_dsa_obj_dn) {
12822 0 : _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12823 0 : NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
12824 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
12825 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
12826 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->source_dsa_obj_dn, &size_source_dsa_obj_dn_1));
12827 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->source_dsa_obj_dn, &length_source_dsa_obj_dn_1));
12828 0 : if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
12829 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
12830 : }
12831 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
12832 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
12833 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
12834 : }
12835 : }
12836 0 : return NDR_ERR_SUCCESS;
12837 : }
12838 :
12839 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
12840 : {
12841 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
12842 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12843 0 : ndr->depth++;
12844 0 : ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
12845 0 : ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
12846 0 : ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
12847 0 : ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
12848 0 : ndr->depth++;
12849 0 : if (r->source_dsa_obj_dn) {
12850 0 : ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
12851 : }
12852 0 : ndr->depth--;
12853 0 : ndr->depth--;
12854 : }
12855 :
12856 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
12857 : {
12858 : uint32_t cntr_array_0;
12859 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12860 0 : if (ndr_flags & NDR_SCALARS) {
12861 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12862 0 : NDR_CHECK(ndr_push_align(ndr, 8));
12863 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12864 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12865 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12866 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12867 : }
12868 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12869 : }
12870 0 : if (ndr_flags & NDR_BUFFERS) {
12871 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12872 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12873 : }
12874 : }
12875 0 : return NDR_ERR_SUCCESS;
12876 : }
12877 :
12878 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
12879 : {
12880 0 : uint32_t size_array_0 = 0;
12881 : uint32_t cntr_array_0;
12882 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
12883 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12884 0 : if (ndr_flags & NDR_SCALARS) {
12885 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12886 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12887 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12888 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12889 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12890 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12891 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12892 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12893 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12894 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12895 : }
12896 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12897 0 : if (r->array) {
12898 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12899 : }
12900 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12901 : }
12902 0 : if (ndr_flags & NDR_BUFFERS) {
12903 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
12904 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12905 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12906 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12907 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12908 : }
12909 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12910 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
12911 : }
12912 : }
12913 0 : return NDR_ERR_SUCCESS;
12914 : }
12915 :
12916 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
12917 : {
12918 : uint32_t cntr_array_0;
12919 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
12920 0 : if (r == NULL) { ndr_print_null(ndr); return; }
12921 0 : ndr->depth++;
12922 0 : ndr_print_uint32(ndr, "count", r->count);
12923 0 : ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12924 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12925 0 : ndr->depth++;
12926 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
12927 0 : ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
12928 : }
12929 0 : ndr->depth--;
12930 0 : ndr->depth--;
12931 : }
12932 :
12933 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
12934 : {
12935 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12936 0 : if (ndr_flags & NDR_SCALARS) {
12937 0 : NDR_CHECK(ndr_push_align(ndr, 8));
12938 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
12939 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
12940 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
12941 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12942 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
12943 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
12944 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
12945 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12946 : }
12947 0 : if (ndr_flags & NDR_BUFFERS) {
12948 0 : if (r->attribute_name) {
12949 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12950 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12951 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12952 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12953 : }
12954 0 : if (r->originating_dsa_dn) {
12955 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12956 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12957 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12958 0 : 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));
12959 : }
12960 : }
12961 0 : return NDR_ERR_SUCCESS;
12962 : }
12963 :
12964 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
12965 : {
12966 : uint32_t _ptr_attribute_name;
12967 0 : uint32_t size_attribute_name_1 = 0;
12968 0 : uint32_t length_attribute_name_1 = 0;
12969 0 : TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
12970 : uint32_t _ptr_originating_dsa_dn;
12971 0 : uint32_t size_originating_dsa_dn_1 = 0;
12972 0 : uint32_t length_originating_dsa_dn_1 = 0;
12973 0 : TALLOC_CTX *_mem_save_originating_dsa_dn_0 = NULL;
12974 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12975 0 : if (ndr_flags & NDR_SCALARS) {
12976 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
12977 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
12978 0 : if (_ptr_attribute_name) {
12979 0 : NDR_PULL_ALLOC(ndr, r->attribute_name);
12980 : } else {
12981 0 : r->attribute_name = NULL;
12982 : }
12983 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
12984 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
12985 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12986 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
12987 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
12988 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
12989 0 : if (_ptr_originating_dsa_dn) {
12990 0 : NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
12991 : } else {
12992 0 : r->originating_dsa_dn = NULL;
12993 : }
12994 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12995 : }
12996 0 : if (ndr_flags & NDR_BUFFERS) {
12997 0 : if (r->attribute_name) {
12998 0 : _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12999 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
13000 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
13001 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
13002 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
13003 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
13004 0 : if (length_attribute_name_1 > size_attribute_name_1) {
13005 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
13006 : }
13007 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
13008 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
13009 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
13010 : }
13011 0 : if (r->originating_dsa_dn) {
13012 0 : _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
13013 0 : NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
13014 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
13015 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
13016 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->originating_dsa_dn, &size_originating_dsa_dn_1));
13017 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->originating_dsa_dn, &length_originating_dsa_dn_1));
13018 0 : if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
13019 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
13020 : }
13021 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
13022 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
13023 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
13024 : }
13025 : }
13026 0 : return NDR_ERR_SUCCESS;
13027 : }
13028 :
13029 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
13030 : {
13031 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
13032 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13033 0 : ndr->depth++;
13034 0 : ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
13035 0 : ndr->depth++;
13036 0 : if (r->attribute_name) {
13037 0 : ndr_print_string(ndr, "attribute_name", r->attribute_name);
13038 : }
13039 0 : ndr->depth--;
13040 0 : ndr_print_uint32(ndr, "version", r->version);
13041 0 : ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
13042 0 : ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
13043 0 : ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
13044 0 : ndr_print_hyper(ndr, "local_usn", r->local_usn);
13045 0 : ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
13046 0 : ndr->depth++;
13047 0 : if (r->originating_dsa_dn) {
13048 0 : ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
13049 : }
13050 0 : ndr->depth--;
13051 0 : ndr->depth--;
13052 : }
13053 :
13054 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
13055 : {
13056 : uint32_t cntr_array_0;
13057 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13058 0 : if (ndr_flags & NDR_SCALARS) {
13059 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
13060 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13061 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
13062 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
13063 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13064 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13065 : }
13066 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13067 : }
13068 0 : if (ndr_flags & NDR_BUFFERS) {
13069 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13070 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13071 : }
13072 : }
13073 0 : return NDR_ERR_SUCCESS;
13074 : }
13075 :
13076 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
13077 : {
13078 0 : uint32_t size_array_0 = 0;
13079 : uint32_t cntr_array_0;
13080 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
13081 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13082 0 : if (ndr_flags & NDR_SCALARS) {
13083 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
13084 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13085 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
13086 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
13087 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13088 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
13089 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13090 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13091 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13092 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13093 : }
13094 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13095 0 : if (r->array) {
13096 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
13097 : }
13098 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13099 : }
13100 0 : if (ndr_flags & NDR_BUFFERS) {
13101 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13102 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13103 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13104 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13105 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13106 : }
13107 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13108 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13109 : }
13110 : }
13111 0 : return NDR_ERR_SUCCESS;
13112 : }
13113 :
13114 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
13115 : {
13116 : uint32_t cntr_array_0;
13117 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
13118 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13119 0 : ndr->depth++;
13120 0 : ndr_print_uint32(ndr, "count", r->count);
13121 0 : ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
13122 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
13123 0 : ndr->depth++;
13124 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13125 0 : ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
13126 : }
13127 0 : ndr->depth--;
13128 0 : ndr->depth--;
13129 : }
13130 :
13131 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
13132 : {
13133 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13134 0 : if (ndr_flags & NDR_SCALARS) {
13135 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13136 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
13137 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
13138 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
13139 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
13140 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
13141 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
13142 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
13143 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
13144 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
13145 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
13146 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
13147 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
13148 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13149 : }
13150 0 : if (ndr_flags & NDR_BUFFERS) {
13151 0 : if (r->attribute_name) {
13152 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
13153 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13154 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
13155 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13156 : }
13157 0 : if (r->object_dn) {
13158 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
13159 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13160 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
13161 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13162 : }
13163 0 : if (r->binary) {
13164 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
13165 : }
13166 0 : if (r->originating_dsa_dn) {
13167 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
13168 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13169 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
13170 0 : 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));
13171 : }
13172 : }
13173 0 : return NDR_ERR_SUCCESS;
13174 : }
13175 :
13176 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
13177 : {
13178 : uint32_t _ptr_attribute_name;
13179 0 : uint32_t size_attribute_name_1 = 0;
13180 0 : uint32_t length_attribute_name_1 = 0;
13181 0 : TALLOC_CTX *_mem_save_attribute_name_0 = NULL;
13182 : uint32_t _ptr_object_dn;
13183 0 : uint32_t size_object_dn_1 = 0;
13184 0 : uint32_t length_object_dn_1 = 0;
13185 0 : TALLOC_CTX *_mem_save_object_dn_0 = NULL;
13186 : uint32_t _ptr_binary;
13187 0 : TALLOC_CTX *_mem_save_binary_0 = NULL;
13188 : uint32_t _ptr_originating_dsa_dn;
13189 0 : uint32_t size_originating_dsa_dn_1 = 0;
13190 0 : uint32_t length_originating_dsa_dn_1 = 0;
13191 0 : TALLOC_CTX *_mem_save_originating_dsa_dn_0 = NULL;
13192 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13193 0 : if (ndr_flags & NDR_SCALARS) {
13194 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13195 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
13196 0 : if (_ptr_attribute_name) {
13197 0 : NDR_PULL_ALLOC(ndr, r->attribute_name);
13198 : } else {
13199 0 : r->attribute_name = NULL;
13200 : }
13201 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
13202 0 : if (_ptr_object_dn) {
13203 0 : NDR_PULL_ALLOC(ndr, r->object_dn);
13204 : } else {
13205 0 : r->object_dn = NULL;
13206 : }
13207 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
13208 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
13209 0 : if (_ptr_binary) {
13210 0 : NDR_PULL_ALLOC(ndr, r->binary);
13211 : } else {
13212 0 : r->binary = NULL;
13213 : }
13214 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
13215 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
13216 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
13217 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
13218 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
13219 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
13220 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
13221 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
13222 0 : if (_ptr_originating_dsa_dn) {
13223 0 : NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
13224 : } else {
13225 0 : r->originating_dsa_dn = NULL;
13226 : }
13227 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13228 : }
13229 0 : if (ndr_flags & NDR_BUFFERS) {
13230 0 : if (r->attribute_name) {
13231 0 : _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13232 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
13233 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
13234 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
13235 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->attribute_name, &size_attribute_name_1));
13236 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->attribute_name, &length_attribute_name_1));
13237 0 : if (length_attribute_name_1 > size_attribute_name_1) {
13238 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
13239 : }
13240 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
13241 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
13242 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
13243 : }
13244 0 : if (r->object_dn) {
13245 0 : _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
13246 0 : NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
13247 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
13248 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
13249 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->object_dn, &size_object_dn_1));
13250 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->object_dn, &length_object_dn_1));
13251 0 : if (length_object_dn_1 > size_object_dn_1) {
13252 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
13253 : }
13254 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
13255 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
13256 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
13257 : }
13258 0 : if (r->binary) {
13259 0 : _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
13260 0 : NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
13261 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
13262 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
13263 : }
13264 0 : if (r->originating_dsa_dn) {
13265 0 : _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
13266 0 : NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
13267 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
13268 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
13269 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->originating_dsa_dn, &size_originating_dsa_dn_1));
13270 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->originating_dsa_dn, &length_originating_dsa_dn_1));
13271 0 : if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
13272 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
13273 : }
13274 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
13275 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
13276 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
13277 : }
13278 : }
13279 0 : return NDR_ERR_SUCCESS;
13280 : }
13281 :
13282 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
13283 : {
13284 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
13285 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13286 0 : ndr->depth++;
13287 0 : ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
13288 0 : ndr->depth++;
13289 0 : if (r->attribute_name) {
13290 0 : ndr_print_string(ndr, "attribute_name", r->attribute_name);
13291 : }
13292 0 : ndr->depth--;
13293 0 : ndr_print_ptr(ndr, "object_dn", r->object_dn);
13294 0 : ndr->depth++;
13295 0 : if (r->object_dn) {
13296 0 : ndr_print_string(ndr, "object_dn", r->object_dn);
13297 : }
13298 0 : ndr->depth--;
13299 0 : 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);
13300 0 : ndr_print_ptr(ndr, "binary", r->binary);
13301 0 : ndr->depth++;
13302 0 : if (r->binary) {
13303 0 : ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
13304 : }
13305 0 : ndr->depth--;
13306 0 : ndr_print_NTTIME(ndr, "deleted", r->deleted);
13307 0 : ndr_print_NTTIME(ndr, "created", r->created);
13308 0 : ndr_print_uint32(ndr, "version", r->version);
13309 0 : ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
13310 0 : ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
13311 0 : ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
13312 0 : ndr_print_hyper(ndr, "local_usn", r->local_usn);
13313 0 : ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
13314 0 : ndr->depth++;
13315 0 : if (r->originating_dsa_dn) {
13316 0 : ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
13317 : }
13318 0 : ndr->depth--;
13319 0 : ndr->depth--;
13320 : }
13321 :
13322 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
13323 : {
13324 : uint32_t cntr_array_0;
13325 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13326 0 : if (ndr_flags & NDR_SCALARS) {
13327 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
13328 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13329 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
13330 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
13331 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13332 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13333 : }
13334 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13335 : }
13336 0 : if (ndr_flags & NDR_BUFFERS) {
13337 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13338 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13339 : }
13340 : }
13341 0 : return NDR_ERR_SUCCESS;
13342 : }
13343 :
13344 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
13345 : {
13346 0 : uint32_t size_array_0 = 0;
13347 : uint32_t cntr_array_0;
13348 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
13349 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13350 0 : if (ndr_flags & NDR_SCALARS) {
13351 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
13352 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13353 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
13354 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
13355 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13356 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
13357 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13358 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13359 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13360 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13361 : }
13362 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13363 0 : if (r->array) {
13364 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
13365 : }
13366 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13367 : }
13368 0 : if (ndr_flags & NDR_BUFFERS) {
13369 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13370 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13371 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13372 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13373 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13374 : }
13375 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13376 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13377 : }
13378 : }
13379 0 : return NDR_ERR_SUCCESS;
13380 : }
13381 :
13382 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
13383 : {
13384 : uint32_t cntr_array_0;
13385 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
13386 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13387 0 : ndr->depth++;
13388 0 : ndr_print_uint32(ndr, "count", r->count);
13389 0 : ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
13390 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
13391 0 : ndr->depth++;
13392 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13393 0 : ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
13394 : }
13395 0 : ndr->depth--;
13396 0 : ndr->depth--;
13397 : }
13398 :
13399 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
13400 : {
13401 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13402 0 : if (ndr_flags & NDR_SCALARS) {
13403 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13404 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
13405 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
13406 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
13407 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
13408 0 : NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
13409 : {
13410 0 : uint32_t _flags_save_ipv4address = ndr->flags;
13411 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
13412 0 : NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
13413 0 : ndr->flags = _flags_save_ipv4address;
13414 : }
13415 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
13416 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13417 : }
13418 0 : if (ndr_flags & NDR_BUFFERS) {
13419 : }
13420 0 : return NDR_ERR_SUCCESS;
13421 : }
13422 :
13423 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
13424 : {
13425 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13426 0 : if (ndr_flags & NDR_SCALARS) {
13427 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13428 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
13429 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
13430 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
13431 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
13432 0 : NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
13433 : {
13434 0 : uint32_t _flags_save_ipv4address = ndr->flags;
13435 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
13436 0 : NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
13437 0 : ndr->flags = _flags_save_ipv4address;
13438 : }
13439 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
13440 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13441 : }
13442 0 : if (ndr_flags & NDR_BUFFERS) {
13443 : }
13444 0 : return NDR_ERR_SUCCESS;
13445 : }
13446 :
13447 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
13448 : {
13449 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
13450 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13451 0 : ndr->depth++;
13452 0 : ndr_print_hyper(ndr, "u1", r->u1);
13453 0 : ndr_print_uint32(ndr, "u2", r->u2);
13454 0 : ndr_print_uint32(ndr, "u3", r->u3);
13455 0 : ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
13456 0 : ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
13457 : {
13458 0 : uint32_t _flags_save_ipv4address = ndr->flags;
13459 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
13460 0 : ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
13461 0 : ndr->flags = _flags_save_ipv4address;
13462 : }
13463 0 : ndr_print_uint32(ndr, "u5", r->u5);
13464 0 : ndr->depth--;
13465 : }
13466 :
13467 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
13468 : {
13469 : uint32_t cntr_array_0;
13470 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13471 0 : if (ndr_flags & NDR_SCALARS) {
13472 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
13473 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13474 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
13475 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
13476 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13477 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13478 : }
13479 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13480 : }
13481 0 : if (ndr_flags & NDR_BUFFERS) {
13482 : }
13483 0 : return NDR_ERR_SUCCESS;
13484 : }
13485 :
13486 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
13487 : {
13488 0 : uint32_t size_array_0 = 0;
13489 : uint32_t cntr_array_0;
13490 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
13491 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13492 0 : if (ndr_flags & NDR_SCALARS) {
13493 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
13494 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13495 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
13496 0 : if (r->count > 10000) {
13497 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13498 : }
13499 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
13500 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13501 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
13502 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13503 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13504 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13505 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13506 : }
13507 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13508 0 : if (r->array) {
13509 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->array, r->count));
13510 : }
13511 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13512 : }
13513 0 : if (ndr_flags & NDR_BUFFERS) {
13514 : }
13515 0 : return NDR_ERR_SUCCESS;
13516 : }
13517 :
13518 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
13519 : {
13520 : uint32_t cntr_array_0;
13521 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
13522 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13523 0 : ndr->depth++;
13524 0 : ndr_print_uint32(ndr, "count", r->count);
13525 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
13526 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
13527 0 : ndr->depth++;
13528 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13529 0 : ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
13530 : }
13531 0 : ndr->depth--;
13532 0 : ndr->depth--;
13533 : }
13534 :
13535 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
13536 : {
13537 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13538 0 : if (ndr_flags & NDR_SCALARS) {
13539 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13540 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
13541 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
13542 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
13543 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
13544 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
13545 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
13546 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
13547 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
13548 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13549 : }
13550 0 : if (ndr_flags & NDR_BUFFERS) {
13551 0 : if (r->str1) {
13552 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
13553 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13554 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
13555 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13556 : }
13557 : }
13558 0 : return NDR_ERR_SUCCESS;
13559 : }
13560 :
13561 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
13562 : {
13563 : uint32_t _ptr_str1;
13564 0 : uint32_t size_str1_1 = 0;
13565 0 : uint32_t length_str1_1 = 0;
13566 0 : TALLOC_CTX *_mem_save_str1_0 = NULL;
13567 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13568 0 : if (ndr_flags & NDR_SCALARS) {
13569 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13570 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
13571 0 : if (_ptr_str1) {
13572 0 : NDR_PULL_ALLOC(ndr, r->str1);
13573 : } else {
13574 0 : r->str1 = NULL;
13575 : }
13576 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
13577 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
13578 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
13579 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
13580 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
13581 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
13582 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
13583 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13584 : }
13585 0 : if (ndr_flags & NDR_BUFFERS) {
13586 0 : if (r->str1) {
13587 0 : _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
13588 0 : NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
13589 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
13590 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
13591 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->str1, &size_str1_1));
13592 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->str1, &length_str1_1));
13593 0 : if (length_str1_1 > size_str1_1) {
13594 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str1_1, length_str1_1);
13595 : }
13596 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_str1_1, sizeof(uint16_t)));
13597 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, length_str1_1, sizeof(uint16_t), CH_UTF16));
13598 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
13599 : }
13600 : }
13601 0 : return NDR_ERR_SUCCESS;
13602 : }
13603 :
13604 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
13605 : {
13606 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
13607 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13608 0 : ndr->depth++;
13609 0 : ndr_print_ptr(ndr, "str1", r->str1);
13610 0 : ndr->depth++;
13611 0 : if (r->str1) {
13612 0 : ndr_print_string(ndr, "str1", r->str1);
13613 : }
13614 0 : ndr->depth--;
13615 0 : ndr_print_uint32(ndr, "u1", r->u1);
13616 0 : ndr_print_uint32(ndr, "u2", r->u2);
13617 0 : ndr_print_uint32(ndr, "u3", r->u3);
13618 0 : ndr_print_uint32(ndr, "u4", r->u4);
13619 0 : ndr_print_uint32(ndr, "u5", r->u5);
13620 0 : ndr_print_hyper(ndr, "u6", r->u6);
13621 0 : ndr_print_uint32(ndr, "u7", r->u7);
13622 0 : ndr->depth--;
13623 : }
13624 :
13625 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
13626 : {
13627 : uint32_t cntr_array_0;
13628 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13629 0 : if (ndr_flags & NDR_SCALARS) {
13630 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
13631 0 : NDR_CHECK(ndr_push_align(ndr, 8));
13632 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
13633 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
13634 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13635 0 : NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13636 : }
13637 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13638 : }
13639 0 : if (ndr_flags & NDR_BUFFERS) {
13640 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13641 0 : NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13642 : }
13643 : }
13644 0 : return NDR_ERR_SUCCESS;
13645 : }
13646 :
13647 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
13648 : {
13649 0 : uint32_t size_array_0 = 0;
13650 : uint32_t cntr_array_0;
13651 0 : TALLOC_CTX *_mem_save_array_0 = NULL;
13652 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13653 0 : if (ndr_flags & NDR_SCALARS) {
13654 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
13655 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
13656 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
13657 0 : if (r->count > 256) {
13658 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13659 : }
13660 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
13661 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13662 0 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
13663 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13664 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13665 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13666 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13667 : }
13668 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13669 0 : if (r->array) {
13670 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
13671 : }
13672 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13673 : }
13674 0 : if (ndr_flags & NDR_BUFFERS) {
13675 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_0));
13676 0 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13677 0 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13678 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13679 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13680 : }
13681 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13682 0 : for (cntr_array_0 = 0; cntr_array_0 < (size_array_0); cntr_array_0++) {
13683 : }
13684 : }
13685 0 : return NDR_ERR_SUCCESS;
13686 : }
13687 :
13688 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
13689 : {
13690 : uint32_t cntr_array_0;
13691 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
13692 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13693 0 : ndr->depth++;
13694 0 : ndr_print_uint32(ndr, "count", r->count);
13695 0 : ndr_print_uint32(ndr, "reserved", r->reserved);
13696 0 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
13697 0 : ndr->depth++;
13698 0 : for (cntr_array_0 = 0; cntr_array_0 < (r->count); cntr_array_0++) {
13699 0 : ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
13700 : }
13701 0 : ndr->depth--;
13702 0 : ndr->depth--;
13703 : }
13704 :
13705 32 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
13706 : {
13707 : uint32_t level;
13708 32 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13709 32 : if (ndr_flags & NDR_SCALARS) {
13710 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
13711 32 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
13712 32 : NDR_CHECK(ndr_push_union_align(ndr, 5));
13713 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
13714 32 : NDR_CHECK(ndr_push_union_align(ndr, 5));
13715 32 : switch (level) {
13716 16 : case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
13717 16 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
13718 16 : break; }
13719 :
13720 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
13721 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
13722 0 : break; }
13723 :
13724 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
13725 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
13726 0 : break; }
13727 :
13728 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
13729 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
13730 0 : break; }
13731 :
13732 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
13733 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
13734 0 : break; }
13735 :
13736 0 : case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
13737 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
13738 0 : break; }
13739 :
13740 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
13741 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
13742 0 : break; }
13743 :
13744 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
13745 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
13746 0 : break; }
13747 :
13748 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
13749 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
13750 0 : break; }
13751 :
13752 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
13753 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
13754 0 : break; }
13755 :
13756 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
13757 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
13758 0 : break; }
13759 :
13760 16 : case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
13761 16 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
13762 16 : break; }
13763 :
13764 0 : case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
13765 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
13766 0 : break; }
13767 :
13768 0 : case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
13769 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
13770 0 : break; }
13771 :
13772 0 : case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
13773 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
13774 0 : break; }
13775 :
13776 0 : default:
13777 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
13778 : }
13779 0 : }
13780 32 : if (ndr_flags & NDR_BUFFERS) {
13781 32 : if (!(ndr_flags & NDR_SCALARS)) {
13782 : /* We didn't get it above, and the token is not needed after this. */
13783 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
13784 : }
13785 32 : switch (level) {
13786 16 : case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
13787 16 : if (r->neighbours) {
13788 16 : NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
13789 : }
13790 16 : break;
13791 :
13792 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS:
13793 0 : if (r->cursors) {
13794 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
13795 : }
13796 0 : break;
13797 :
13798 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
13799 0 : if (r->objmetadata) {
13800 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
13801 : }
13802 0 : break;
13803 :
13804 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
13805 0 : if (r->connectfailures) {
13806 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
13807 : }
13808 0 : break;
13809 :
13810 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
13811 0 : if (r->linkfailures) {
13812 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
13813 : }
13814 0 : break;
13815 :
13816 0 : case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
13817 0 : if (r->pendingops) {
13818 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
13819 : }
13820 0 : break;
13821 :
13822 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
13823 0 : if (r->attrvalmetadata) {
13824 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
13825 : }
13826 0 : break;
13827 :
13828 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
13829 0 : if (r->cursors2) {
13830 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
13831 : }
13832 0 : break;
13833 :
13834 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
13835 0 : if (r->cursors3) {
13836 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
13837 : }
13838 0 : break;
13839 :
13840 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
13841 0 : if (r->objmetadata2) {
13842 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
13843 : }
13844 0 : break;
13845 :
13846 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
13847 0 : if (r->attrvalmetadata2) {
13848 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
13849 : }
13850 0 : break;
13851 :
13852 16 : case DRSUAPI_DS_REPLICA_INFO_REPSTO:
13853 16 : if (r->repsto) {
13854 16 : NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
13855 : }
13856 16 : break;
13857 :
13858 0 : case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
13859 0 : if (r->clientctx) {
13860 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
13861 : }
13862 0 : break;
13863 :
13864 0 : case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
13865 0 : if (r->udv1) {
13866 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
13867 : }
13868 0 : break;
13869 :
13870 0 : case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
13871 0 : if (r->srvoutgoingcalls) {
13872 0 : NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
13873 : }
13874 0 : break;
13875 :
13876 0 : default:
13877 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
13878 : }
13879 0 : }
13880 32 : return NDR_ERR_SUCCESS;
13881 : }
13882 :
13883 32 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
13884 : {
13885 : uint32_t level;
13886 : uint32_t _level;
13887 32 : TALLOC_CTX *_mem_save_neighbours_0 = NULL;
13888 : uint32_t _ptr_neighbours;
13889 32 : TALLOC_CTX *_mem_save_cursors_0 = NULL;
13890 : uint32_t _ptr_cursors;
13891 32 : TALLOC_CTX *_mem_save_objmetadata_0 = NULL;
13892 : uint32_t _ptr_objmetadata;
13893 32 : TALLOC_CTX *_mem_save_connectfailures_0 = NULL;
13894 : uint32_t _ptr_connectfailures;
13895 32 : TALLOC_CTX *_mem_save_linkfailures_0 = NULL;
13896 : uint32_t _ptr_linkfailures;
13897 32 : TALLOC_CTX *_mem_save_pendingops_0 = NULL;
13898 : uint32_t _ptr_pendingops;
13899 32 : TALLOC_CTX *_mem_save_attrvalmetadata_0 = NULL;
13900 : uint32_t _ptr_attrvalmetadata;
13901 32 : TALLOC_CTX *_mem_save_cursors2_0 = NULL;
13902 : uint32_t _ptr_cursors2;
13903 32 : TALLOC_CTX *_mem_save_cursors3_0 = NULL;
13904 : uint32_t _ptr_cursors3;
13905 32 : TALLOC_CTX *_mem_save_objmetadata2_0 = NULL;
13906 : uint32_t _ptr_objmetadata2;
13907 32 : TALLOC_CTX *_mem_save_attrvalmetadata2_0 = NULL;
13908 : uint32_t _ptr_attrvalmetadata2;
13909 32 : TALLOC_CTX *_mem_save_repsto_0 = NULL;
13910 : uint32_t _ptr_repsto;
13911 32 : TALLOC_CTX *_mem_save_clientctx_0 = NULL;
13912 : uint32_t _ptr_clientctx;
13913 32 : TALLOC_CTX *_mem_save_udv1_0 = NULL;
13914 : uint32_t _ptr_udv1;
13915 32 : TALLOC_CTX *_mem_save_srvoutgoingcalls_0 = NULL;
13916 : uint32_t _ptr_srvoutgoingcalls;
13917 32 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13918 32 : if (ndr_flags & NDR_SCALARS) {
13919 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
13920 32 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
13921 32 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
13922 32 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13923 32 : if (_level != level) {
13924 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13925 : }
13926 32 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
13927 32 : switch (level) {
13928 16 : case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
13929 16 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
13930 16 : if (_ptr_neighbours) {
13931 16 : NDR_PULL_ALLOC(ndr, r->neighbours);
13932 : } else {
13933 0 : r->neighbours = NULL;
13934 : }
13935 16 : break; }
13936 :
13937 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
13938 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
13939 0 : if (_ptr_cursors) {
13940 0 : NDR_PULL_ALLOC(ndr, r->cursors);
13941 : } else {
13942 0 : r->cursors = NULL;
13943 : }
13944 0 : break; }
13945 :
13946 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
13947 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
13948 0 : if (_ptr_objmetadata) {
13949 0 : NDR_PULL_ALLOC(ndr, r->objmetadata);
13950 : } else {
13951 0 : r->objmetadata = NULL;
13952 : }
13953 0 : break; }
13954 :
13955 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
13956 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
13957 0 : if (_ptr_connectfailures) {
13958 0 : NDR_PULL_ALLOC(ndr, r->connectfailures);
13959 : } else {
13960 0 : r->connectfailures = NULL;
13961 : }
13962 0 : break; }
13963 :
13964 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
13965 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
13966 0 : if (_ptr_linkfailures) {
13967 0 : NDR_PULL_ALLOC(ndr, r->linkfailures);
13968 : } else {
13969 0 : r->linkfailures = NULL;
13970 : }
13971 0 : break; }
13972 :
13973 0 : case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
13974 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
13975 0 : if (_ptr_pendingops) {
13976 0 : NDR_PULL_ALLOC(ndr, r->pendingops);
13977 : } else {
13978 0 : r->pendingops = NULL;
13979 : }
13980 0 : break; }
13981 :
13982 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
13983 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
13984 0 : if (_ptr_attrvalmetadata) {
13985 0 : NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
13986 : } else {
13987 0 : r->attrvalmetadata = NULL;
13988 : }
13989 0 : break; }
13990 :
13991 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
13992 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
13993 0 : if (_ptr_cursors2) {
13994 0 : NDR_PULL_ALLOC(ndr, r->cursors2);
13995 : } else {
13996 0 : r->cursors2 = NULL;
13997 : }
13998 0 : break; }
13999 :
14000 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
14001 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
14002 0 : if (_ptr_cursors3) {
14003 0 : NDR_PULL_ALLOC(ndr, r->cursors3);
14004 : } else {
14005 0 : r->cursors3 = NULL;
14006 : }
14007 0 : break; }
14008 :
14009 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
14010 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
14011 0 : if (_ptr_objmetadata2) {
14012 0 : NDR_PULL_ALLOC(ndr, r->objmetadata2);
14013 : } else {
14014 0 : r->objmetadata2 = NULL;
14015 : }
14016 0 : break; }
14017 :
14018 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
14019 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
14020 0 : if (_ptr_attrvalmetadata2) {
14021 0 : NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
14022 : } else {
14023 0 : r->attrvalmetadata2 = NULL;
14024 : }
14025 0 : break; }
14026 :
14027 16 : case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
14028 16 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
14029 16 : if (_ptr_repsto) {
14030 16 : NDR_PULL_ALLOC(ndr, r->repsto);
14031 : } else {
14032 0 : r->repsto = NULL;
14033 : }
14034 16 : break; }
14035 :
14036 0 : case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
14037 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
14038 0 : if (_ptr_clientctx) {
14039 0 : NDR_PULL_ALLOC(ndr, r->clientctx);
14040 : } else {
14041 0 : r->clientctx = NULL;
14042 : }
14043 0 : break; }
14044 :
14045 0 : case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
14046 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
14047 0 : if (_ptr_udv1) {
14048 0 : NDR_PULL_ALLOC(ndr, r->udv1);
14049 : } else {
14050 0 : r->udv1 = NULL;
14051 : }
14052 0 : break; }
14053 :
14054 0 : case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
14055 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
14056 0 : if (_ptr_srvoutgoingcalls) {
14057 0 : NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
14058 : } else {
14059 0 : r->srvoutgoingcalls = NULL;
14060 : }
14061 0 : break; }
14062 :
14063 0 : default:
14064 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14065 : }
14066 0 : }
14067 32 : if (ndr_flags & NDR_BUFFERS) {
14068 32 : if (!(ndr_flags & NDR_SCALARS)) {
14069 : /* We didn't get it above, and the token is not needed after this. */
14070 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14071 : }
14072 32 : switch (level) {
14073 16 : case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
14074 16 : if (r->neighbours) {
14075 16 : _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
14076 16 : NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
14077 16 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
14078 16 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
14079 : }
14080 16 : break;
14081 :
14082 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS:
14083 0 : if (r->cursors) {
14084 0 : _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
14085 0 : NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
14086 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
14087 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
14088 : }
14089 0 : break;
14090 :
14091 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
14092 0 : if (r->objmetadata) {
14093 0 : _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
14094 0 : NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
14095 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
14096 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
14097 : }
14098 0 : break;
14099 :
14100 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
14101 0 : if (r->connectfailures) {
14102 0 : _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
14103 0 : NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
14104 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
14105 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
14106 : }
14107 0 : break;
14108 :
14109 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
14110 0 : if (r->linkfailures) {
14111 0 : _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
14112 0 : NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
14113 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
14114 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
14115 : }
14116 0 : break;
14117 :
14118 0 : case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
14119 0 : if (r->pendingops) {
14120 0 : _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
14121 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
14122 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
14123 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
14124 : }
14125 0 : break;
14126 :
14127 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
14128 0 : if (r->attrvalmetadata) {
14129 0 : _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
14130 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
14131 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
14132 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
14133 : }
14134 0 : break;
14135 :
14136 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
14137 0 : if (r->cursors2) {
14138 0 : _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14139 0 : NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
14140 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
14141 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
14142 : }
14143 0 : break;
14144 :
14145 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
14146 0 : if (r->cursors3) {
14147 0 : _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
14148 0 : NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
14149 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
14150 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
14151 : }
14152 0 : break;
14153 :
14154 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
14155 0 : if (r->objmetadata2) {
14156 0 : _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14157 0 : NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
14158 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
14159 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
14160 : }
14161 0 : break;
14162 :
14163 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
14164 0 : if (r->attrvalmetadata2) {
14165 0 : _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14166 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
14167 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
14168 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
14169 : }
14170 0 : break;
14171 :
14172 16 : case DRSUAPI_DS_REPLICA_INFO_REPSTO:
14173 16 : if (r->repsto) {
14174 16 : _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
14175 16 : NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
14176 16 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
14177 16 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
14178 : }
14179 16 : break;
14180 :
14181 0 : case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
14182 0 : if (r->clientctx) {
14183 0 : _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
14184 0 : NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
14185 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
14186 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
14187 : }
14188 0 : break;
14189 :
14190 0 : case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
14191 0 : if (r->udv1) {
14192 0 : _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
14193 0 : NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
14194 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
14195 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
14196 : }
14197 0 : break;
14198 :
14199 0 : case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
14200 0 : if (r->srvoutgoingcalls) {
14201 0 : _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
14202 0 : NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
14203 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
14204 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
14205 : }
14206 0 : break;
14207 :
14208 0 : default:
14209 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14210 : }
14211 0 : }
14212 32 : return NDR_ERR_SUCCESS;
14213 : }
14214 :
14215 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
14216 : {
14217 : uint32_t level;
14218 0 : level = ndr_print_steal_switch_value(ndr, r);
14219 0 : ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
14220 0 : switch (level) {
14221 0 : case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
14222 0 : ndr_print_ptr(ndr, "neighbours", r->neighbours);
14223 0 : ndr->depth++;
14224 0 : if (r->neighbours) {
14225 0 : ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
14226 : }
14227 0 : ndr->depth--;
14228 0 : break;
14229 :
14230 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS:
14231 0 : ndr_print_ptr(ndr, "cursors", r->cursors);
14232 0 : ndr->depth++;
14233 0 : if (r->cursors) {
14234 0 : ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
14235 : }
14236 0 : ndr->depth--;
14237 0 : break;
14238 :
14239 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
14240 0 : ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
14241 0 : ndr->depth++;
14242 0 : if (r->objmetadata) {
14243 0 : ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
14244 : }
14245 0 : ndr->depth--;
14246 0 : break;
14247 :
14248 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
14249 0 : ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
14250 0 : ndr->depth++;
14251 0 : if (r->connectfailures) {
14252 0 : ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
14253 : }
14254 0 : ndr->depth--;
14255 0 : break;
14256 :
14257 0 : case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
14258 0 : ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
14259 0 : ndr->depth++;
14260 0 : if (r->linkfailures) {
14261 0 : ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
14262 : }
14263 0 : ndr->depth--;
14264 0 : break;
14265 :
14266 0 : case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
14267 0 : ndr_print_ptr(ndr, "pendingops", r->pendingops);
14268 0 : ndr->depth++;
14269 0 : if (r->pendingops) {
14270 0 : ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
14271 : }
14272 0 : ndr->depth--;
14273 0 : break;
14274 :
14275 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
14276 0 : ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
14277 0 : ndr->depth++;
14278 0 : if (r->attrvalmetadata) {
14279 0 : ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
14280 : }
14281 0 : ndr->depth--;
14282 0 : break;
14283 :
14284 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
14285 0 : ndr_print_ptr(ndr, "cursors2", r->cursors2);
14286 0 : ndr->depth++;
14287 0 : if (r->cursors2) {
14288 0 : ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
14289 : }
14290 0 : ndr->depth--;
14291 0 : break;
14292 :
14293 0 : case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
14294 0 : ndr_print_ptr(ndr, "cursors3", r->cursors3);
14295 0 : ndr->depth++;
14296 0 : if (r->cursors3) {
14297 0 : ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
14298 : }
14299 0 : ndr->depth--;
14300 0 : break;
14301 :
14302 0 : case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
14303 0 : ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
14304 0 : ndr->depth++;
14305 0 : if (r->objmetadata2) {
14306 0 : ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
14307 : }
14308 0 : ndr->depth--;
14309 0 : break;
14310 :
14311 0 : case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
14312 0 : ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
14313 0 : ndr->depth++;
14314 0 : if (r->attrvalmetadata2) {
14315 0 : ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
14316 : }
14317 0 : ndr->depth--;
14318 0 : break;
14319 :
14320 0 : case DRSUAPI_DS_REPLICA_INFO_REPSTO:
14321 0 : ndr_print_ptr(ndr, "repsto", r->repsto);
14322 0 : ndr->depth++;
14323 0 : if (r->repsto) {
14324 0 : ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
14325 : }
14326 0 : ndr->depth--;
14327 0 : break;
14328 :
14329 0 : case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
14330 0 : ndr_print_ptr(ndr, "clientctx", r->clientctx);
14331 0 : ndr->depth++;
14332 0 : if (r->clientctx) {
14333 0 : ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
14334 : }
14335 0 : ndr->depth--;
14336 0 : break;
14337 :
14338 0 : case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
14339 0 : ndr_print_ptr(ndr, "udv1", r->udv1);
14340 0 : ndr->depth++;
14341 0 : if (r->udv1) {
14342 0 : ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
14343 : }
14344 0 : ndr->depth--;
14345 0 : break;
14346 :
14347 0 : case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
14348 0 : ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
14349 0 : ndr->depth++;
14350 0 : if (r->srvoutgoingcalls) {
14351 0 : ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
14352 : }
14353 0 : ndr->depth--;
14354 0 : break;
14355 :
14356 0 : default:
14357 0 : ndr_print_bad_level(ndr, name, level);
14358 : }
14359 0 : }
14360 :
14361 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
14362 : {
14363 : uint32_t level;
14364 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14365 0 : if (ndr_flags & NDR_SCALARS) {
14366 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
14367 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
14368 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
14369 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
14370 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
14371 0 : switch (level) {
14372 0 : case 1: {
14373 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
14374 0 : break; }
14375 :
14376 0 : default:
14377 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
14378 : }
14379 0 : }
14380 0 : if (ndr_flags & NDR_BUFFERS) {
14381 0 : if (!(ndr_flags & NDR_SCALARS)) {
14382 : /* We didn't get it above, and the token is not needed after this. */
14383 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
14384 : }
14385 0 : switch (level) {
14386 0 : case 1:
14387 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
14388 0 : break;
14389 :
14390 0 : default:
14391 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
14392 : }
14393 0 : }
14394 0 : return NDR_ERR_SUCCESS;
14395 : }
14396 :
14397 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
14398 : {
14399 : uint32_t level;
14400 : uint32_t _level;
14401 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14402 0 : if (ndr_flags & NDR_SCALARS) {
14403 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
14404 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14405 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
14406 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
14407 0 : if (_level != level) {
14408 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
14409 : }
14410 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
14411 0 : switch (level) {
14412 0 : case 1: {
14413 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
14414 0 : break; }
14415 :
14416 0 : default:
14417 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14418 : }
14419 0 : }
14420 0 : if (ndr_flags & NDR_BUFFERS) {
14421 0 : if (!(ndr_flags & NDR_SCALARS)) {
14422 : /* We didn't get it above, and the token is not needed after this. */
14423 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14424 : }
14425 0 : switch (level) {
14426 0 : case 1:
14427 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
14428 0 : break;
14429 :
14430 0 : default:
14431 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14432 : }
14433 0 : }
14434 0 : return NDR_ERR_SUCCESS;
14435 : }
14436 :
14437 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
14438 : {
14439 : uint32_t level;
14440 0 : level = ndr_print_steal_switch_value(ndr, r);
14441 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
14442 0 : switch (level) {
14443 0 : case 1:
14444 0 : ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
14445 0 : break;
14446 :
14447 0 : default:
14448 0 : ndr_print_bad_level(ndr, name, level);
14449 : }
14450 0 : }
14451 :
14452 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
14453 : {
14454 : uint32_t cntr_req_array_1;
14455 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14456 0 : if (ndr_flags & NDR_SCALARS) {
14457 0 : NDR_CHECK(ndr_push_align(ndr, 5));
14458 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
14459 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
14460 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14461 : }
14462 0 : if (ndr_flags & NDR_BUFFERS) {
14463 0 : if (r->req_array) {
14464 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
14465 0 : for (cntr_req_array_1 = 0; cntr_req_array_1 < (r->num_req); cntr_req_array_1++) {
14466 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
14467 : }
14468 0 : for (cntr_req_array_1 = 0; cntr_req_array_1 < (r->num_req); cntr_req_array_1++) {
14469 0 : if (r->req_array[cntr_req_array_1]) {
14470 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
14471 : }
14472 : }
14473 : }
14474 : }
14475 0 : return NDR_ERR_SUCCESS;
14476 : }
14477 :
14478 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
14479 : {
14480 : uint32_t _ptr_req_array;
14481 0 : uint32_t size_req_array_1 = 0;
14482 : uint32_t cntr_req_array_1;
14483 0 : TALLOC_CTX *_mem_save_req_array_0 = NULL;
14484 0 : TALLOC_CTX *_mem_save_req_array_1 = NULL;
14485 0 : TALLOC_CTX *_mem_save_req_array_2 = NULL;
14486 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14487 0 : if (ndr_flags & NDR_SCALARS) {
14488 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
14489 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
14490 0 : if (r->num_req < 1 || r->num_req > 10000) {
14491 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14492 : }
14493 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
14494 0 : if (_ptr_req_array) {
14495 0 : NDR_PULL_ALLOC(ndr, r->req_array);
14496 : } else {
14497 0 : r->req_array = NULL;
14498 : }
14499 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14500 : }
14501 0 : if (ndr_flags & NDR_BUFFERS) {
14502 0 : if (r->req_array) {
14503 0 : _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
14504 0 : NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
14505 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
14506 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->req_array, &size_req_array_1));
14507 0 : NDR_PULL_ALLOC_N(ndr, r->req_array, size_req_array_1);
14508 0 : _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
14509 0 : NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
14510 0 : for (cntr_req_array_1 = 0; cntr_req_array_1 < (size_req_array_1); cntr_req_array_1++) {
14511 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
14512 0 : if (_ptr_req_array) {
14513 0 : NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
14514 : } else {
14515 0 : r->req_array[cntr_req_array_1] = NULL;
14516 : }
14517 : }
14518 0 : for (cntr_req_array_1 = 0; cntr_req_array_1 < (size_req_array_1); cntr_req_array_1++) {
14519 0 : if (r->req_array[cntr_req_array_1]) {
14520 0 : _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
14521 0 : NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
14522 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
14523 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
14524 : }
14525 : }
14526 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
14527 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
14528 : }
14529 0 : if (r->req_array) {
14530 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
14531 : }
14532 0 : for (cntr_req_array_1 = 0; cntr_req_array_1 < (size_req_array_1); cntr_req_array_1++) {
14533 : }
14534 : }
14535 0 : return NDR_ERR_SUCCESS;
14536 : }
14537 :
14538 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
14539 : {
14540 : uint32_t cntr_req_array_1;
14541 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
14542 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14543 0 : ndr->depth++;
14544 0 : ndr_print_uint32(ndr, "num_req", r->num_req);
14545 0 : ndr_print_ptr(ndr, "req_array", r->req_array);
14546 0 : ndr->depth++;
14547 0 : if (r->req_array) {
14548 0 : ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
14549 0 : ndr->depth++;
14550 0 : for (cntr_req_array_1 = 0; cntr_req_array_1 < (r->num_req); cntr_req_array_1++) {
14551 0 : ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
14552 0 : ndr->depth++;
14553 0 : if (r->req_array[cntr_req_array_1]) {
14554 0 : ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
14555 : }
14556 0 : ndr->depth--;
14557 : }
14558 0 : ndr->depth--;
14559 : }
14560 0 : ndr->depth--;
14561 0 : ndr->depth--;
14562 : }
14563 :
14564 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
14565 : {
14566 : uint32_t level;
14567 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14568 0 : if (ndr_flags & NDR_SCALARS) {
14569 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
14570 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
14571 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
14572 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
14573 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
14574 0 : switch (level) {
14575 0 : case 1: {
14576 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
14577 0 : break; }
14578 :
14579 0 : default:
14580 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
14581 : }
14582 0 : }
14583 0 : if (ndr_flags & NDR_BUFFERS) {
14584 0 : if (!(ndr_flags & NDR_SCALARS)) {
14585 : /* We didn't get it above, and the token is not needed after this. */
14586 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
14587 : }
14588 0 : switch (level) {
14589 0 : case 1:
14590 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
14591 0 : break;
14592 :
14593 0 : default:
14594 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
14595 : }
14596 0 : }
14597 0 : return NDR_ERR_SUCCESS;
14598 : }
14599 :
14600 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
14601 : {
14602 : uint32_t level;
14603 : uint32_t _level;
14604 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14605 0 : if (ndr_flags & NDR_SCALARS) {
14606 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
14607 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14608 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
14609 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
14610 0 : if (_level != level) {
14611 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
14612 : }
14613 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
14614 0 : switch (level) {
14615 0 : case 1: {
14616 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
14617 0 : break; }
14618 :
14619 0 : default:
14620 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14621 : }
14622 0 : }
14623 0 : if (ndr_flags & NDR_BUFFERS) {
14624 0 : if (!(ndr_flags & NDR_SCALARS)) {
14625 : /* We didn't get it above, and the token is not needed after this. */
14626 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14627 : }
14628 0 : switch (level) {
14629 0 : case 1:
14630 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
14631 0 : break;
14632 :
14633 0 : default:
14634 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14635 : }
14636 0 : }
14637 0 : return NDR_ERR_SUCCESS;
14638 : }
14639 :
14640 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
14641 : {
14642 : uint32_t level;
14643 0 : level = ndr_print_steal_switch_value(ndr, r);
14644 0 : ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
14645 0 : switch (level) {
14646 0 : case 1:
14647 0 : ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
14648 0 : break;
14649 :
14650 0 : default:
14651 0 : ndr_print_bad_level(ndr, name, level);
14652 : }
14653 0 : }
14654 :
14655 0 : static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
14656 : {
14657 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14658 0 : if (ndr_flags & NDR_SCALARS) {
14659 0 : NDR_CHECK(ndr_push_align(ndr, 4));
14660 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
14661 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
14662 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
14663 : }
14664 0 : if (ndr_flags & NDR_BUFFERS) {
14665 : }
14666 0 : return NDR_ERR_SUCCESS;
14667 : }
14668 :
14669 0 : static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
14670 : {
14671 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14672 0 : if (ndr_flags & NDR_SCALARS) {
14673 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
14674 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
14675 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
14676 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
14677 : }
14678 0 : if (ndr_flags & NDR_BUFFERS) {
14679 : }
14680 0 : return NDR_ERR_SUCCESS;
14681 : }
14682 :
14683 0 : _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
14684 : {
14685 0 : ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
14686 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14687 0 : ndr->depth++;
14688 0 : ndr_print_WERROR(ndr, "error_code", r->error_code);
14689 0 : ndr_print_uint32(ndr, "site_cost", r->site_cost);
14690 0 : ndr->depth--;
14691 : }
14692 :
14693 0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
14694 : {
14695 : uint32_t cntr_info_1;
14696 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14697 0 : if (ndr_flags & NDR_SCALARS) {
14698 0 : NDR_CHECK(ndr_push_align(ndr, 5));
14699 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
14700 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
14701 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14702 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14703 : }
14704 0 : if (ndr_flags & NDR_BUFFERS) {
14705 0 : if (r->info) {
14706 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
14707 0 : for (cntr_info_1 = 0; cntr_info_1 < (r->num_info); cntr_info_1++) {
14708 0 : NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
14709 : }
14710 : }
14711 : }
14712 0 : return NDR_ERR_SUCCESS;
14713 : }
14714 :
14715 0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
14716 : {
14717 : uint32_t _ptr_info;
14718 0 : uint32_t size_info_1 = 0;
14719 : uint32_t cntr_info_1;
14720 0 : TALLOC_CTX *_mem_save_info_0 = NULL;
14721 0 : TALLOC_CTX *_mem_save_info_1 = NULL;
14722 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14723 0 : if (ndr_flags & NDR_SCALARS) {
14724 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
14725 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
14726 0 : if (r->num_info > 10000) {
14727 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14728 : }
14729 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14730 0 : if (_ptr_info) {
14731 0 : NDR_PULL_ALLOC(ndr, r->info);
14732 : } else {
14733 0 : r->info = NULL;
14734 : }
14735 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
14736 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14737 : }
14738 0 : if (ndr_flags & NDR_BUFFERS) {
14739 0 : if (r->info) {
14740 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14741 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
14742 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
14743 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->info, &size_info_1));
14744 0 : NDR_PULL_ALLOC_N(ndr, r->info, size_info_1);
14745 0 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14746 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
14747 0 : for (cntr_info_1 = 0; cntr_info_1 < (size_info_1); cntr_info_1++) {
14748 0 : NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
14749 : }
14750 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14751 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
14752 : }
14753 0 : if (r->info) {
14754 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->info, r->num_info));
14755 : }
14756 : }
14757 0 : return NDR_ERR_SUCCESS;
14758 : }
14759 :
14760 0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
14761 : {
14762 : uint32_t cntr_info_1;
14763 0 : ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
14764 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14765 0 : ndr->depth++;
14766 0 : ndr_print_uint32(ndr, "num_info", r->num_info);
14767 0 : ndr_print_ptr(ndr, "info", r->info);
14768 0 : ndr->depth++;
14769 0 : if (r->info) {
14770 0 : ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
14771 0 : ndr->depth++;
14772 0 : for (cntr_info_1 = 0; cntr_info_1 < (r->num_info); cntr_info_1++) {
14773 0 : ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
14774 : }
14775 0 : ndr->depth--;
14776 : }
14777 0 : ndr->depth--;
14778 0 : ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
14779 0 : ndr->depth--;
14780 : }
14781 :
14782 0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
14783 : {
14784 : uint32_t level;
14785 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14786 0 : if (ndr_flags & NDR_SCALARS) {
14787 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
14788 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
14789 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
14790 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
14791 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
14792 0 : switch (level) {
14793 0 : case 1: {
14794 0 : NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
14795 0 : break; }
14796 :
14797 0 : default:
14798 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
14799 : }
14800 0 : }
14801 0 : if (ndr_flags & NDR_BUFFERS) {
14802 0 : if (!(ndr_flags & NDR_SCALARS)) {
14803 : /* We didn't get it above, and the token is not needed after this. */
14804 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
14805 : }
14806 0 : switch (level) {
14807 0 : case 1:
14808 0 : NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
14809 0 : break;
14810 :
14811 0 : default:
14812 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
14813 : }
14814 0 : }
14815 0 : return NDR_ERR_SUCCESS;
14816 : }
14817 :
14818 0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
14819 : {
14820 : uint32_t level;
14821 : uint32_t _level;
14822 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14823 0 : if (ndr_flags & NDR_SCALARS) {
14824 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
14825 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14826 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
14827 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
14828 0 : if (_level != level) {
14829 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
14830 : }
14831 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
14832 0 : switch (level) {
14833 0 : case 1: {
14834 0 : NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
14835 0 : break; }
14836 :
14837 0 : default:
14838 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14839 : }
14840 0 : }
14841 0 : if (ndr_flags & NDR_BUFFERS) {
14842 0 : if (!(ndr_flags & NDR_SCALARS)) {
14843 : /* We didn't get it above, and the token is not needed after this. */
14844 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
14845 : }
14846 0 : switch (level) {
14847 0 : case 1:
14848 0 : NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
14849 0 : break;
14850 :
14851 0 : default:
14852 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14853 : }
14854 0 : }
14855 0 : return NDR_ERR_SUCCESS;
14856 : }
14857 :
14858 0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
14859 : {
14860 : uint32_t level;
14861 0 : level = ndr_print_steal_switch_value(ndr, r);
14862 0 : ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
14863 0 : switch (level) {
14864 0 : case 1:
14865 0 : ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
14866 0 : break;
14867 :
14868 0 : default:
14869 0 : ndr_print_bad_level(ndr, name, level);
14870 : }
14871 0 : }
14872 :
14873 0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
14874 : {
14875 : uint32_t cntr_site_to_1;
14876 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14877 0 : if (ndr_flags & NDR_SCALARS) {
14878 0 : NDR_CHECK(ndr_push_align(ndr, 5));
14879 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
14880 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
14881 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
14882 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
14883 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14884 : }
14885 0 : if (ndr_flags & NDR_BUFFERS) {
14886 0 : if (r->site_from) {
14887 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
14888 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14889 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
14890 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14891 : }
14892 0 : if (r->site_to) {
14893 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
14894 0 : for (cntr_site_to_1 = 0; cntr_site_to_1 < (r->num_req); cntr_site_to_1++) {
14895 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
14896 : }
14897 0 : for (cntr_site_to_1 = 0; cntr_site_to_1 < (r->num_req); cntr_site_to_1++) {
14898 0 : if (r->site_to[cntr_site_to_1]) {
14899 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
14900 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14901 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
14902 0 : 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));
14903 : }
14904 : }
14905 : }
14906 : }
14907 0 : return NDR_ERR_SUCCESS;
14908 : }
14909 :
14910 0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
14911 : {
14912 : uint32_t _ptr_site_from;
14913 0 : uint32_t size_site_from_1 = 0;
14914 0 : uint32_t length_site_from_1 = 0;
14915 0 : TALLOC_CTX *_mem_save_site_from_0 = NULL;
14916 : uint32_t _ptr_site_to;
14917 0 : uint32_t size_site_to_1 = 0;
14918 : uint32_t cntr_site_to_1;
14919 0 : uint32_t size_site_to_3 = 0;
14920 0 : uint32_t length_site_to_3 = 0;
14921 0 : TALLOC_CTX *_mem_save_site_to_0 = NULL;
14922 0 : TALLOC_CTX *_mem_save_site_to_1 = NULL;
14923 0 : TALLOC_CTX *_mem_save_site_to_2 = NULL;
14924 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14925 0 : if (ndr_flags & NDR_SCALARS) {
14926 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
14927 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
14928 0 : if (_ptr_site_from) {
14929 0 : NDR_PULL_ALLOC(ndr, r->site_from);
14930 : } else {
14931 0 : r->site_from = NULL;
14932 : }
14933 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
14934 0 : if (r->num_req < 1 || r->num_req > 10000) {
14935 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14936 : }
14937 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
14938 0 : if (_ptr_site_to) {
14939 0 : NDR_PULL_ALLOC(ndr, r->site_to);
14940 : } else {
14941 0 : r->site_to = NULL;
14942 : }
14943 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
14944 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14945 : }
14946 0 : if (ndr_flags & NDR_BUFFERS) {
14947 0 : if (r->site_from) {
14948 0 : _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
14949 0 : NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
14950 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
14951 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
14952 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_from, &size_site_from_1));
14953 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_from, &length_site_from_1));
14954 0 : if (length_site_from_1 > size_site_from_1) {
14955 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_from_1, length_site_from_1);
14956 : }
14957 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_from_1, sizeof(uint16_t)));
14958 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, length_site_from_1, sizeof(uint16_t), CH_UTF16));
14959 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
14960 : }
14961 0 : if (r->site_to) {
14962 0 : _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
14963 0 : NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
14964 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
14965 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->site_to, &size_site_to_1));
14966 0 : NDR_PULL_ALLOC_N(ndr, r->site_to, size_site_to_1);
14967 0 : _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
14968 0 : NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
14969 0 : for (cntr_site_to_1 = 0; cntr_site_to_1 < (size_site_to_1); cntr_site_to_1++) {
14970 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
14971 0 : if (_ptr_site_to) {
14972 0 : NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
14973 : } else {
14974 0 : r->site_to[cntr_site_to_1] = NULL;
14975 : }
14976 : }
14977 0 : for (cntr_site_to_1 = 0; cntr_site_to_1 < (size_site_to_1); cntr_site_to_1++) {
14978 0 : if (r->site_to[cntr_site_to_1]) {
14979 0 : _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
14980 0 : NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
14981 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
14982 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
14983 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->site_to[cntr_site_to_1], &size_site_to_3));
14984 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->site_to[cntr_site_to_1], &length_site_to_3));
14985 0 : if (length_site_to_3 > size_site_to_3) {
14986 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_to_3, length_site_to_3);
14987 : }
14988 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_to_3, sizeof(uint16_t)));
14989 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], length_site_to_3, sizeof(uint16_t), CH_UTF16));
14990 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
14991 : }
14992 : }
14993 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
14994 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
14995 : }
14996 0 : if (r->site_to) {
14997 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
14998 : }
14999 0 : for (cntr_site_to_1 = 0; cntr_site_to_1 < (size_site_to_1); cntr_site_to_1++) {
15000 : }
15001 : }
15002 0 : return NDR_ERR_SUCCESS;
15003 : }
15004 :
15005 0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
15006 : {
15007 : uint32_t cntr_site_to_1;
15008 0 : ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
15009 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15010 0 : ndr->depth++;
15011 0 : ndr_print_ptr(ndr, "site_from", r->site_from);
15012 0 : ndr->depth++;
15013 0 : if (r->site_from) {
15014 0 : ndr_print_string(ndr, "site_from", r->site_from);
15015 : }
15016 0 : ndr->depth--;
15017 0 : ndr_print_uint32(ndr, "num_req", r->num_req);
15018 0 : ndr_print_ptr(ndr, "site_to", r->site_to);
15019 0 : ndr->depth++;
15020 0 : if (r->site_to) {
15021 0 : ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
15022 0 : ndr->depth++;
15023 0 : for (cntr_site_to_1 = 0; cntr_site_to_1 < (r->num_req); cntr_site_to_1++) {
15024 0 : ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
15025 0 : ndr->depth++;
15026 0 : if (r->site_to[cntr_site_to_1]) {
15027 0 : ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
15028 : }
15029 0 : ndr->depth--;
15030 : }
15031 0 : ndr->depth--;
15032 : }
15033 0 : ndr->depth--;
15034 0 : ndr_print_uint32(ndr, "flags", r->flags);
15035 0 : ndr->depth--;
15036 : }
15037 :
15038 0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
15039 : {
15040 : uint32_t level;
15041 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
15042 0 : if (ndr_flags & NDR_SCALARS) {
15043 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
15044 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
15045 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
15046 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
15047 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
15048 0 : switch (level) {
15049 0 : case 1: {
15050 0 : NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
15051 0 : break; }
15052 :
15053 0 : default:
15054 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
15055 : }
15056 0 : }
15057 0 : if (ndr_flags & NDR_BUFFERS) {
15058 0 : if (!(ndr_flags & NDR_SCALARS)) {
15059 : /* We didn't get it above, and the token is not needed after this. */
15060 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
15061 : }
15062 0 : switch (level) {
15063 0 : case 1:
15064 0 : NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
15065 0 : break;
15066 :
15067 0 : default:
15068 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
15069 : }
15070 0 : }
15071 0 : return NDR_ERR_SUCCESS;
15072 : }
15073 :
15074 0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
15075 : {
15076 : uint32_t level;
15077 : uint32_t _level;
15078 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
15079 0 : if (ndr_flags & NDR_SCALARS) {
15080 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
15081 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
15082 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
15083 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
15084 0 : if (_level != level) {
15085 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
15086 : }
15087 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
15088 0 : switch (level) {
15089 0 : case 1: {
15090 0 : NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
15091 0 : break; }
15092 :
15093 0 : default:
15094 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
15095 : }
15096 0 : }
15097 0 : if (ndr_flags & NDR_BUFFERS) {
15098 0 : if (!(ndr_flags & NDR_SCALARS)) {
15099 : /* We didn't get it above, and the token is not needed after this. */
15100 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
15101 : }
15102 0 : switch (level) {
15103 0 : case 1:
15104 0 : NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
15105 0 : break;
15106 :
15107 0 : default:
15108 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
15109 : }
15110 0 : }
15111 0 : return NDR_ERR_SUCCESS;
15112 : }
15113 :
15114 0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
15115 : {
15116 : uint32_t level;
15117 0 : level = ndr_print_steal_switch_value(ndr, r);
15118 0 : ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
15119 0 : switch (level) {
15120 0 : case 1:
15121 0 : ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
15122 0 : break;
15123 :
15124 0 : default:
15125 0 : ndr_print_bad_level(ndr, name, level);
15126 : }
15127 0 : }
15128 :
15129 4310 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
15130 : {
15131 4310 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15132 4310 : if (flags & NDR_IN) {
15133 2101 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
15134 2101 : if (r->in.bind_guid) {
15135 2101 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
15136 : }
15137 2101 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
15138 2101 : if (r->in.bind_info) {
15139 1441 : NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
15140 : }
15141 : }
15142 4310 : if (flags & NDR_OUT) {
15143 2209 : if (r->out.bind_handle == NULL) {
15144 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15145 : }
15146 2209 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
15147 2209 : if (r->out.bind_info) {
15148 2209 : NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
15149 : }
15150 2209 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
15151 2209 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15152 : }
15153 4107 : return NDR_ERR_SUCCESS;
15154 : }
15155 :
15156 4176 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
15157 : {
15158 : uint32_t _ptr_bind_guid;
15159 : uint32_t _ptr_bind_info;
15160 4176 : TALLOC_CTX *_mem_save_bind_guid_0 = NULL;
15161 4176 : TALLOC_CTX *_mem_save_bind_info_0 = NULL;
15162 4176 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15163 4176 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15164 4176 : if (flags & NDR_IN) {
15165 2089 : NDR_ZERO_STRUCT(r->out);
15166 :
15167 2089 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
15168 2089 : if (_ptr_bind_guid) {
15169 2089 : NDR_PULL_ALLOC(ndr, r->in.bind_guid);
15170 : } else {
15171 0 : r->in.bind_guid = NULL;
15172 : }
15173 2089 : if (r->in.bind_guid) {
15174 2089 : _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15175 2089 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
15176 2089 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
15177 2089 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
15178 : }
15179 2089 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
15180 2089 : if (_ptr_bind_info) {
15181 1437 : NDR_PULL_ALLOC(ndr, r->in.bind_info);
15182 : } else {
15183 652 : r->in.bind_info = NULL;
15184 : }
15185 2089 : if (r->in.bind_info) {
15186 1437 : _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15187 1437 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
15188 1437 : NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
15189 1437 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
15190 : }
15191 2089 : NDR_PULL_ALLOC(ndr, r->out.bind_handle);
15192 2089 : NDR_ZERO_STRUCTP(r->out.bind_handle);
15193 : }
15194 4176 : if (flags & NDR_OUT) {
15195 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15196 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15197 2087 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
15198 2087 : if (_ptr_bind_info) {
15199 2087 : NDR_PULL_ALLOC(ndr, r->out.bind_info);
15200 : } else {
15201 0 : r->out.bind_info = NULL;
15202 : }
15203 2087 : if (r->out.bind_info) {
15204 2087 : _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15205 2087 : NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
15206 2087 : NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
15207 2087 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
15208 : }
15209 2087 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15210 1519 : NDR_PULL_ALLOC(ndr, r->out.bind_handle);
15211 : }
15212 2087 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15213 2087 : NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15214 2087 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
15215 2087 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15216 2087 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15217 : }
15218 3989 : return NDR_ERR_SUCCESS;
15219 : }
15220 :
15221 352 : _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
15222 : {
15223 352 : ndr_print_struct(ndr, name, "drsuapi_DsBind");
15224 352 : if (r == NULL) { ndr_print_null(ndr); return; }
15225 352 : ndr->depth++;
15226 352 : if (flags & NDR_SET_VALUES) {
15227 48 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15228 : }
15229 352 : if (flags & NDR_IN) {
15230 48 : ndr_print_struct(ndr, "in", "drsuapi_DsBind");
15231 48 : ndr->depth++;
15232 48 : ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
15233 48 : ndr->depth++;
15234 48 : if (r->in.bind_guid) {
15235 48 : ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
15236 : }
15237 48 : ndr->depth--;
15238 48 : ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
15239 48 : ndr->depth++;
15240 48 : if (r->in.bind_info) {
15241 48 : ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
15242 : }
15243 48 : ndr->depth--;
15244 48 : ndr->depth--;
15245 : }
15246 352 : if (flags & NDR_OUT) {
15247 304 : ndr_print_struct(ndr, "out", "drsuapi_DsBind");
15248 304 : ndr->depth++;
15249 304 : ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
15250 304 : ndr->depth++;
15251 304 : if (r->out.bind_info) {
15252 304 : ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
15253 : }
15254 304 : ndr->depth--;
15255 304 : ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
15256 304 : ndr->depth++;
15257 304 : ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
15258 304 : ndr->depth--;
15259 304 : ndr_print_WERROR(ndr, "result", r->out.result);
15260 304 : ndr->depth--;
15261 : }
15262 352 : ndr->depth--;
15263 : }
15264 :
15265 54 : static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
15266 : {
15267 54 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15268 54 : if (flags & NDR_IN) {
15269 29 : if (r->in.bind_handle == NULL) {
15270 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15271 : }
15272 29 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15273 : }
15274 54 : if (flags & NDR_OUT) {
15275 25 : if (r->out.bind_handle == NULL) {
15276 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15277 : }
15278 25 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
15279 25 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15280 : }
15281 50 : return NDR_ERR_SUCCESS;
15282 : }
15283 :
15284 50 : static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
15285 : {
15286 50 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15287 50 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15288 50 : if (flags & NDR_IN) {
15289 29 : NDR_ZERO_STRUCT(r->out);
15290 :
15291 29 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15292 29 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15293 : }
15294 29 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15295 29 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15296 29 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15297 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15298 29 : NDR_PULL_ALLOC(ndr, r->out.bind_handle);
15299 29 : *r->out.bind_handle = *r->in.bind_handle;
15300 : }
15301 50 : if (flags & NDR_OUT) {
15302 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15303 : if (r->in.bind_handle == NULL) {
15304 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15305 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15306 : }
15307 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15308 21 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15309 5 : NDR_PULL_ALLOC(ndr, r->out.bind_handle);
15310 : }
15311 21 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15312 21 : NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15313 21 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
15314 21 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15315 21 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15316 : }
15317 46 : return NDR_ERR_SUCCESS;
15318 : }
15319 :
15320 8 : _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
15321 : {
15322 8 : ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
15323 8 : if (r == NULL) { ndr_print_null(ndr); return; }
15324 8 : ndr->depth++;
15325 8 : if (flags & NDR_SET_VALUES) {
15326 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15327 : }
15328 8 : if (flags & NDR_IN) {
15329 0 : ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
15330 0 : ndr->depth++;
15331 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15332 0 : ndr->depth++;
15333 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15334 0 : ndr->depth--;
15335 0 : ndr->depth--;
15336 : }
15337 8 : if (flags & NDR_OUT) {
15338 8 : ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
15339 8 : ndr->depth++;
15340 8 : ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
15341 8 : ndr->depth++;
15342 8 : ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
15343 8 : ndr->depth--;
15344 8 : ndr_print_WERROR(ndr, "result", r->out.result);
15345 8 : ndr->depth--;
15346 : }
15347 8 : ndr->depth--;
15348 : }
15349 :
15350 11000 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
15351 : {
15352 11000 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15353 11000 : if (flags & NDR_IN) {
15354 5500 : if (r->in.bind_handle == NULL) {
15355 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15356 : }
15357 5500 : if (r->in.req == NULL) {
15358 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15359 : }
15360 5500 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15361 5500 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15362 5500 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15363 5500 : NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15364 : }
15365 11000 : if (flags & NDR_OUT) {
15366 5500 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15367 : }
15368 11000 : return NDR_ERR_SUCCESS;
15369 : }
15370 :
15371 11000 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
15372 : {
15373 11000 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15374 11000 : TALLOC_CTX *_mem_save_req_0 = NULL;
15375 11000 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15376 11000 : if (flags & NDR_IN) {
15377 5500 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15378 5500 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15379 : }
15380 5500 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15381 5500 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15382 5500 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15383 5500 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15384 5500 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15385 5500 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15386 5500 : NDR_PULL_ALLOC(ndr, r->in.req);
15387 : }
15388 5500 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15389 5500 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15390 5500 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15391 5500 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15392 5500 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15393 : }
15394 11000 : if (flags & NDR_OUT) {
15395 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15396 : if (r->in.bind_handle == NULL) {
15397 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15398 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15399 : }
15400 : if (r->in.req == NULL) {
15401 : NDR_PULL_ALLOC(ndr, r->in.req);
15402 : NDR_ZERO_STRUCTP(r->in.req);
15403 : }
15404 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15405 5500 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15406 : }
15407 11000 : return NDR_ERR_SUCCESS;
15408 : }
15409 :
15410 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
15411 : {
15412 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
15413 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15414 0 : ndr->depth++;
15415 0 : if (flags & NDR_SET_VALUES) {
15416 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15417 : }
15418 0 : if (flags & NDR_IN) {
15419 0 : ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
15420 0 : ndr->depth++;
15421 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15422 0 : ndr->depth++;
15423 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15424 0 : ndr->depth--;
15425 0 : ndr_print_uint32(ndr, "level", r->in.level);
15426 0 : ndr_print_ptr(ndr, "req", r->in.req);
15427 0 : ndr->depth++;
15428 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15429 0 : ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
15430 0 : ndr->depth--;
15431 0 : ndr->depth--;
15432 : }
15433 0 : if (flags & NDR_OUT) {
15434 0 : ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
15435 0 : ndr->depth++;
15436 0 : ndr_print_WERROR(ndr, "result", r->out.result);
15437 0 : ndr->depth--;
15438 : }
15439 0 : ndr->depth--;
15440 : }
15441 :
15442 14554 : static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
15443 : {
15444 14554 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15445 14554 : if (flags & NDR_IN) {
15446 7266 : if (r->in.bind_handle == NULL) {
15447 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15448 : }
15449 7266 : if (r->in.req == NULL) {
15450 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15451 : }
15452 7266 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15453 7266 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15454 7266 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15455 7266 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15456 : }
15457 14554 : if (flags & NDR_OUT) {
15458 7288 : if (r->out.level_out == NULL) {
15459 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15460 : }
15461 7288 : if (r->out.ctr == NULL) {
15462 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15463 : }
15464 7288 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15465 7288 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15466 7288 : NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15467 7288 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15468 : }
15469 14554 : return NDR_ERR_SUCCESS;
15470 : }
15471 :
15472 14534 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
15473 : {
15474 14534 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15475 14534 : TALLOC_CTX *_mem_save_req_0 = NULL;
15476 14534 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
15477 14534 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
15478 14534 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15479 14534 : if (flags & NDR_IN) {
15480 7266 : NDR_ZERO_STRUCT(r->out);
15481 :
15482 7266 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15483 7266 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15484 : }
15485 7266 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15486 7266 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15487 7266 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15488 7266 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15489 7266 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15490 7266 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15491 7266 : NDR_PULL_ALLOC(ndr, r->in.req);
15492 : }
15493 7266 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15494 7266 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15495 7266 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15496 7266 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15497 7266 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15498 7266 : NDR_PULL_ALLOC(ndr, r->out.level_out);
15499 7266 : NDR_ZERO_STRUCTP(r->out.level_out);
15500 7266 : NDR_PULL_ALLOC(ndr, r->out.ctr);
15501 7266 : NDR_ZERO_STRUCTP(r->out.ctr);
15502 : }
15503 14534 : if (flags & NDR_OUT) {
15504 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15505 : if (r->in.bind_handle == NULL) {
15506 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15507 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15508 : }
15509 : if (r->in.req == NULL) {
15510 : NDR_PULL_ALLOC(ndr, r->in.req);
15511 : NDR_ZERO_STRUCTP(r->in.req);
15512 : }
15513 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15514 7268 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15515 2060 : NDR_PULL_ALLOC(ndr, r->out.level_out);
15516 : }
15517 7268 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15518 7268 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15519 7268 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15520 7268 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15521 7268 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15522 2060 : NDR_PULL_ALLOC(ndr, r->out.ctr);
15523 : }
15524 7268 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15525 7268 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15526 7268 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15527 7268 : NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15528 7267 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15529 7267 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15530 : }
15531 14532 : return NDR_ERR_SUCCESS;
15532 : }
15533 :
15534 165 : _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
15535 : {
15536 165 : ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
15537 165 : if (r == NULL) { ndr_print_null(ndr); return; }
15538 165 : ndr->depth++;
15539 165 : if (flags & NDR_SET_VALUES) {
15540 60 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15541 : }
15542 165 : if (flags & NDR_IN) {
15543 60 : ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
15544 60 : ndr->depth++;
15545 60 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15546 60 : ndr->depth++;
15547 60 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15548 60 : ndr->depth--;
15549 60 : ndr_print_uint32(ndr, "level", r->in.level);
15550 60 : ndr_print_ptr(ndr, "req", r->in.req);
15551 60 : ndr->depth++;
15552 60 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15553 60 : ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
15554 60 : ndr->depth--;
15555 60 : ndr->depth--;
15556 : }
15557 165 : if (flags & NDR_OUT) {
15558 105 : ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
15559 105 : ndr->depth++;
15560 105 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
15561 105 : ndr->depth++;
15562 105 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15563 105 : ndr->depth--;
15564 105 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
15565 105 : ndr->depth++;
15566 105 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15567 105 : ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
15568 105 : ndr->depth--;
15569 105 : ndr_print_WERROR(ndr, "result", r->out.result);
15570 105 : ndr->depth--;
15571 : }
15572 165 : ndr->depth--;
15573 : }
15574 :
15575 3880 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
15576 : {
15577 3880 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15578 3880 : if (flags & NDR_IN) {
15579 1940 : if (r->in.bind_handle == NULL) {
15580 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15581 : }
15582 1940 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15583 1940 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15584 1940 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15585 1940 : NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15586 : }
15587 3880 : if (flags & NDR_OUT) {
15588 1940 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15589 : }
15590 3880 : return NDR_ERR_SUCCESS;
15591 : }
15592 :
15593 3880 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
15594 : {
15595 3880 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15596 3880 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15597 3880 : if (flags & NDR_IN) {
15598 1940 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15599 1940 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15600 : }
15601 1940 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15602 1940 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15603 1940 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15604 1940 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15605 1940 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15606 1940 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15607 1940 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15608 : }
15609 3880 : if (flags & NDR_OUT) {
15610 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15611 : if (r->in.bind_handle == NULL) {
15612 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15613 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15614 : }
15615 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15616 1940 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15617 : }
15618 3880 : return NDR_ERR_SUCCESS;
15619 : }
15620 :
15621 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
15622 : {
15623 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
15624 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15625 0 : ndr->depth++;
15626 0 : if (flags & NDR_SET_VALUES) {
15627 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15628 : }
15629 0 : if (flags & NDR_IN) {
15630 0 : ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
15631 0 : ndr->depth++;
15632 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15633 0 : ndr->depth++;
15634 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15635 0 : ndr->depth--;
15636 0 : ndr_print_uint32(ndr, "level", r->in.level);
15637 0 : ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15638 0 : ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
15639 0 : ndr->depth--;
15640 : }
15641 0 : if (flags & NDR_OUT) {
15642 0 : ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
15643 0 : ndr->depth++;
15644 0 : ndr_print_WERROR(ndr, "result", r->out.result);
15645 0 : ndr->depth--;
15646 : }
15647 0 : ndr->depth--;
15648 : }
15649 :
15650 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
15651 : {
15652 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15653 0 : if (flags & NDR_IN) {
15654 0 : if (r->in.bind_handle == NULL) {
15655 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15656 : }
15657 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15658 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15659 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15660 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15661 : }
15662 0 : if (flags & NDR_OUT) {
15663 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15664 : }
15665 0 : return NDR_ERR_SUCCESS;
15666 : }
15667 :
15668 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
15669 : {
15670 0 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15671 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15672 0 : if (flags & NDR_IN) {
15673 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15674 0 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15675 : }
15676 0 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15677 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15678 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15679 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15680 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15681 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15682 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15683 : }
15684 0 : if (flags & NDR_OUT) {
15685 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15686 : if (r->in.bind_handle == NULL) {
15687 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15688 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15689 : }
15690 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15691 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15692 : }
15693 0 : return NDR_ERR_SUCCESS;
15694 : }
15695 :
15696 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
15697 : {
15698 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
15699 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15700 0 : ndr->depth++;
15701 0 : if (flags & NDR_SET_VALUES) {
15702 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15703 : }
15704 0 : if (flags & NDR_IN) {
15705 0 : ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
15706 0 : ndr->depth++;
15707 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15708 0 : ndr->depth++;
15709 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15710 0 : ndr->depth--;
15711 0 : ndr_print_uint32(ndr, "level", r->in.level);
15712 0 : ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15713 0 : ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
15714 0 : ndr->depth--;
15715 : }
15716 0 : if (flags & NDR_OUT) {
15717 0 : ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
15718 0 : ndr->depth++;
15719 0 : ndr_print_WERROR(ndr, "result", r->out.result);
15720 0 : ndr->depth--;
15721 : }
15722 0 : ndr->depth--;
15723 : }
15724 :
15725 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
15726 : {
15727 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15728 0 : if (flags & NDR_IN) {
15729 0 : if (r->in.bind_handle == NULL) {
15730 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15731 : }
15732 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15733 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15734 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15735 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15736 : }
15737 0 : if (flags & NDR_OUT) {
15738 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15739 : }
15740 0 : return NDR_ERR_SUCCESS;
15741 : }
15742 :
15743 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
15744 : {
15745 0 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15746 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15747 0 : if (flags & NDR_IN) {
15748 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15749 0 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15750 : }
15751 0 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15752 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15753 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15754 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15755 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15756 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15757 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15758 : }
15759 0 : if (flags & NDR_OUT) {
15760 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15761 : if (r->in.bind_handle == NULL) {
15762 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15763 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15764 : }
15765 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15766 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15767 : }
15768 0 : return NDR_ERR_SUCCESS;
15769 : }
15770 :
15771 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
15772 : {
15773 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
15774 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15775 0 : ndr->depth++;
15776 0 : if (flags & NDR_SET_VALUES) {
15777 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15778 : }
15779 0 : if (flags & NDR_IN) {
15780 0 : ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
15781 0 : ndr->depth++;
15782 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15783 0 : ndr->depth++;
15784 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15785 0 : ndr->depth--;
15786 0 : ndr_print_uint32(ndr, "level", r->in.level);
15787 0 : ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15788 0 : ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
15789 0 : ndr->depth--;
15790 : }
15791 0 : if (flags & NDR_OUT) {
15792 0 : ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
15793 0 : ndr->depth++;
15794 0 : ndr_print_WERROR(ndr, "result", r->out.result);
15795 0 : ndr->depth--;
15796 : }
15797 0 : ndr->depth--;
15798 : }
15799 :
15800 0 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
15801 : {
15802 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15803 0 : if (flags & NDR_IN) {
15804 0 : if (r->in.bind_handle == NULL) {
15805 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15806 : }
15807 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15808 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15809 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15810 0 : NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15811 : }
15812 0 : if (flags & NDR_OUT) {
15813 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15814 : }
15815 0 : return NDR_ERR_SUCCESS;
15816 : }
15817 :
15818 0 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
15819 : {
15820 0 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15821 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15822 0 : if (flags & NDR_IN) {
15823 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15824 0 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15825 : }
15826 0 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15827 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15828 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15829 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15830 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15831 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15832 0 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15833 : }
15834 0 : if (flags & NDR_OUT) {
15835 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15836 : if (r->in.bind_handle == NULL) {
15837 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15838 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15839 : }
15840 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15841 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15842 : }
15843 0 : return NDR_ERR_SUCCESS;
15844 : }
15845 :
15846 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
15847 : {
15848 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
15849 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15850 0 : ndr->depth++;
15851 0 : if (flags & NDR_SET_VALUES) {
15852 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15853 : }
15854 0 : if (flags & NDR_IN) {
15855 0 : ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
15856 0 : ndr->depth++;
15857 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15858 0 : ndr->depth++;
15859 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15860 0 : ndr->depth--;
15861 0 : ndr_print_uint32(ndr, "level", r->in.level);
15862 0 : ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15863 0 : ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
15864 0 : ndr->depth--;
15865 : }
15866 0 : if (flags & NDR_OUT) {
15867 0 : ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
15868 0 : ndr->depth++;
15869 0 : ndr_print_WERROR(ndr, "result", r->out.result);
15870 0 : ndr->depth--;
15871 : }
15872 0 : ndr->depth--;
15873 : }
15874 :
15875 0 : static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
15876 : {
15877 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15878 0 : if (flags & NDR_IN) {
15879 : }
15880 0 : if (flags & NDR_OUT) {
15881 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15882 : }
15883 0 : return NDR_ERR_SUCCESS;
15884 : }
15885 :
15886 0 : static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
15887 : {
15888 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15889 0 : if (flags & NDR_IN) {
15890 : }
15891 0 : if (flags & NDR_OUT) {
15892 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15893 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15894 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15895 : }
15896 0 : return NDR_ERR_SUCCESS;
15897 : }
15898 :
15899 0 : _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
15900 : {
15901 0 : ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
15902 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15903 0 : ndr->depth++;
15904 0 : if (flags & NDR_SET_VALUES) {
15905 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15906 : }
15907 0 : if (flags & NDR_IN) {
15908 0 : ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
15909 0 : ndr->depth++;
15910 0 : ndr->depth--;
15911 : }
15912 0 : if (flags & NDR_OUT) {
15913 0 : ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
15914 0 : ndr->depth++;
15915 0 : ndr_print_WERROR(ndr, "result", r->out.result);
15916 0 : ndr->depth--;
15917 : }
15918 0 : ndr->depth--;
15919 : }
15920 :
15921 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
15922 : {
15923 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15924 0 : if (flags & NDR_IN) {
15925 0 : if (r->in.bind_handle == NULL) {
15926 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15927 : }
15928 0 : if (r->in.req == NULL) {
15929 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15930 : }
15931 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15932 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15933 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15934 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15935 : }
15936 0 : if (flags & NDR_OUT) {
15937 0 : if (r->out.level_out == NULL) {
15938 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15939 : }
15940 0 : if (r->out.ctr == NULL) {
15941 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15942 : }
15943 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15944 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15945 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15946 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15947 : }
15948 0 : return NDR_ERR_SUCCESS;
15949 : }
15950 :
15951 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
15952 : {
15953 0 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
15954 0 : TALLOC_CTX *_mem_save_req_0 = NULL;
15955 0 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
15956 0 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
15957 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15958 0 : if (flags & NDR_IN) {
15959 0 : NDR_ZERO_STRUCT(r->out);
15960 :
15961 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15962 0 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15963 : }
15964 0 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15965 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15966 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15967 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15968 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15969 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15970 0 : NDR_PULL_ALLOC(ndr, r->in.req);
15971 : }
15972 0 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15973 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15974 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15975 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15976 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15977 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
15978 0 : NDR_ZERO_STRUCTP(r->out.level_out);
15979 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
15980 0 : NDR_ZERO_STRUCTP(r->out.ctr);
15981 : }
15982 0 : if (flags & NDR_OUT) {
15983 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15984 : if (r->in.bind_handle == NULL) {
15985 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15986 : NDR_ZERO_STRUCTP(r->in.bind_handle);
15987 : }
15988 : if (r->in.req == NULL) {
15989 : NDR_PULL_ALLOC(ndr, r->in.req);
15990 : NDR_ZERO_STRUCTP(r->in.req);
15991 : }
15992 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15993 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15994 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
15995 : }
15996 0 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15997 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15998 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15999 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16000 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16001 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16002 : }
16003 0 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16004 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16005 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16006 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16007 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16008 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16009 : }
16010 0 : return NDR_ERR_SUCCESS;
16011 : }
16012 :
16013 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
16014 : {
16015 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
16016 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16017 0 : ndr->depth++;
16018 0 : if (flags & NDR_SET_VALUES) {
16019 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16020 : }
16021 0 : if (flags & NDR_IN) {
16022 0 : ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
16023 0 : ndr->depth++;
16024 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16025 0 : ndr->depth++;
16026 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16027 0 : ndr->depth--;
16028 0 : ndr_print_uint32(ndr, "level", r->in.level);
16029 0 : ndr_print_ptr(ndr, "req", r->in.req);
16030 0 : ndr->depth++;
16031 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16032 0 : ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
16033 0 : ndr->depth--;
16034 0 : ndr->depth--;
16035 : }
16036 0 : if (flags & NDR_OUT) {
16037 0 : ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
16038 0 : ndr->depth++;
16039 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16040 0 : ndr->depth++;
16041 0 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16042 0 : ndr->depth--;
16043 0 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16044 0 : ndr->depth++;
16045 0 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16046 0 : ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
16047 0 : ndr->depth--;
16048 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16049 0 : ndr->depth--;
16050 : }
16051 0 : ndr->depth--;
16052 : }
16053 :
16054 0 : static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
16055 : {
16056 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16057 0 : if (flags & NDR_IN) {
16058 : }
16059 0 : if (flags & NDR_OUT) {
16060 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16061 : }
16062 0 : return NDR_ERR_SUCCESS;
16063 : }
16064 :
16065 0 : static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
16066 : {
16067 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16068 0 : if (flags & NDR_IN) {
16069 : }
16070 0 : if (flags & NDR_OUT) {
16071 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16072 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16073 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16074 : }
16075 0 : return NDR_ERR_SUCCESS;
16076 : }
16077 :
16078 0 : _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
16079 : {
16080 0 : ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
16081 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16082 0 : ndr->depth++;
16083 0 : if (flags & NDR_SET_VALUES) {
16084 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16085 : }
16086 0 : if (flags & NDR_IN) {
16087 0 : ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
16088 0 : ndr->depth++;
16089 0 : ndr->depth--;
16090 : }
16091 0 : if (flags & NDR_OUT) {
16092 0 : ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
16093 0 : ndr->depth++;
16094 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16095 0 : ndr->depth--;
16096 : }
16097 0 : ndr->depth--;
16098 : }
16099 :
16100 4 : static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
16101 : {
16102 4 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16103 4 : if (flags & NDR_IN) {
16104 4 : if (r->in.bind_handle == NULL) {
16105 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16106 : }
16107 4 : if (r->in.req == NULL) {
16108 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16109 : }
16110 4 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16111 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16112 4 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16113 4 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16114 : }
16115 4 : if (flags & NDR_OUT) {
16116 0 : if (r->out.level_out == NULL) {
16117 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16118 : }
16119 0 : if (r->out.info == NULL) {
16120 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16121 : }
16122 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16123 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
16124 0 : NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
16125 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16126 : }
16127 4 : return NDR_ERR_SUCCESS;
16128 : }
16129 :
16130 4 : static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
16131 : {
16132 4 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16133 4 : TALLOC_CTX *_mem_save_req_0 = NULL;
16134 4 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
16135 4 : TALLOC_CTX *_mem_save_info_0 = NULL;
16136 4 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16137 4 : if (flags & NDR_IN) {
16138 4 : NDR_ZERO_STRUCT(r->out);
16139 :
16140 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16141 4 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16142 : }
16143 4 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16144 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16145 4 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16146 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16147 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16148 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16149 4 : NDR_PULL_ALLOC(ndr, r->in.req);
16150 : }
16151 4 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16152 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16153 4 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16154 4 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16155 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16156 4 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16157 4 : NDR_ZERO_STRUCTP(r->out.level_out);
16158 4 : NDR_PULL_ALLOC(ndr, r->out.info);
16159 4 : NDR_ZERO_STRUCTP(r->out.info);
16160 : }
16161 4 : if (flags & NDR_OUT) {
16162 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16163 : if (r->in.bind_handle == NULL) {
16164 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16165 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16166 : }
16167 : if (r->in.req == NULL) {
16168 : NDR_PULL_ALLOC(ndr, r->in.req);
16169 : NDR_ZERO_STRUCTP(r->in.req);
16170 : }
16171 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16172 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16173 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16174 : }
16175 0 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16176 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16177 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16178 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16179 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16180 0 : NDR_PULL_ALLOC(ndr, r->out.info);
16181 : }
16182 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16183 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
16184 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
16185 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
16186 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
16187 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16188 : }
16189 4 : return NDR_ERR_SUCCESS;
16190 : }
16191 :
16192 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
16193 : {
16194 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
16195 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16196 0 : ndr->depth++;
16197 0 : if (flags & NDR_SET_VALUES) {
16198 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16199 : }
16200 0 : if (flags & NDR_IN) {
16201 0 : ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
16202 0 : ndr->depth++;
16203 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16204 0 : ndr->depth++;
16205 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16206 0 : ndr->depth--;
16207 0 : ndr_print_uint32(ndr, "level", r->in.level);
16208 0 : ndr_print_ptr(ndr, "req", r->in.req);
16209 0 : ndr->depth++;
16210 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16211 0 : ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
16212 0 : ndr->depth--;
16213 0 : ndr->depth--;
16214 : }
16215 0 : if (flags & NDR_OUT) {
16216 0 : ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
16217 0 : ndr->depth++;
16218 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16219 0 : ndr->depth++;
16220 0 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16221 0 : ndr->depth--;
16222 0 : ndr_print_ptr(ndr, "info", r->out.info);
16223 0 : ndr->depth++;
16224 0 : ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
16225 0 : ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
16226 0 : ndr->depth--;
16227 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16228 0 : ndr->depth--;
16229 : }
16230 0 : ndr->depth--;
16231 : }
16232 :
16233 3564 : static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
16234 : {
16235 3564 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16236 3564 : if (flags & NDR_IN) {
16237 1660 : if (r->in.bind_handle == NULL) {
16238 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16239 : }
16240 1660 : if (r->in.req == NULL) {
16241 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16242 : }
16243 1660 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16244 1660 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16245 1660 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16246 1660 : NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16247 : }
16248 3564 : if (flags & NDR_OUT) {
16249 1904 : if (r->out.level_out == NULL) {
16250 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16251 : }
16252 1904 : if (r->out.ctr == NULL) {
16253 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16254 : }
16255 1904 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16256 1904 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16257 1904 : NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16258 1904 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16259 : }
16260 3168 : return NDR_ERR_SUCCESS;
16261 : }
16262 :
16263 3320 : static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
16264 : {
16265 3320 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16266 3320 : TALLOC_CTX *_mem_save_req_0 = NULL;
16267 3320 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
16268 3320 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
16269 3320 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16270 3320 : if (flags & NDR_IN) {
16271 1660 : NDR_ZERO_STRUCT(r->out);
16272 :
16273 1660 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16274 1660 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16275 : }
16276 1660 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16277 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16278 1660 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16279 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16280 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16281 1660 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16282 1660 : NDR_PULL_ALLOC(ndr, r->in.req);
16283 : }
16284 1660 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16285 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16286 1660 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16287 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16288 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16289 1660 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16290 1660 : NDR_ZERO_STRUCTP(r->out.level_out);
16291 1660 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16292 1660 : NDR_ZERO_STRUCTP(r->out.ctr);
16293 : }
16294 3320 : if (flags & NDR_OUT) {
16295 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16296 : if (r->in.bind_handle == NULL) {
16297 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16298 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16299 : }
16300 : if (r->in.req == NULL) {
16301 : NDR_PULL_ALLOC(ndr, r->in.req);
16302 : NDR_ZERO_STRUCTP(r->in.req);
16303 : }
16304 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16305 1660 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16306 268 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16307 : }
16308 1660 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16309 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16310 1660 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16311 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16312 1660 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16313 268 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16314 : }
16315 1660 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16316 1660 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16317 1660 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16318 1660 : NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16319 1660 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16320 1660 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16321 : }
16322 2960 : return NDR_ERR_SUCCESS;
16323 : }
16324 :
16325 488 : _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
16326 : {
16327 488 : ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
16328 488 : if (r == NULL) { ndr_print_null(ndr); return; }
16329 488 : ndr->depth++;
16330 488 : if (flags & NDR_SET_VALUES) {
16331 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16332 : }
16333 488 : if (flags & NDR_IN) {
16334 0 : ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
16335 0 : ndr->depth++;
16336 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16337 0 : ndr->depth++;
16338 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16339 0 : ndr->depth--;
16340 0 : ndr_print_uint32(ndr, "level", r->in.level);
16341 0 : ndr_print_ptr(ndr, "req", r->in.req);
16342 0 : ndr->depth++;
16343 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16344 0 : ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
16345 0 : ndr->depth--;
16346 0 : ndr->depth--;
16347 : }
16348 488 : if (flags & NDR_OUT) {
16349 488 : ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
16350 488 : ndr->depth++;
16351 488 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16352 488 : ndr->depth++;
16353 488 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16354 488 : ndr->depth--;
16355 488 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16356 488 : ndr->depth++;
16357 488 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16358 488 : ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
16359 488 : ndr->depth--;
16360 488 : ndr_print_WERROR(ndr, "result", r->out.result);
16361 488 : ndr->depth--;
16362 : }
16363 488 : ndr->depth--;
16364 : }
16365 :
16366 8 : static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
16367 : {
16368 8 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16369 8 : if (flags & NDR_IN) {
16370 4 : if (r->in.bind_handle == NULL) {
16371 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16372 : }
16373 4 : if (r->in.req == NULL) {
16374 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16375 : }
16376 4 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16377 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16378 4 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16379 4 : NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16380 : }
16381 8 : if (flags & NDR_OUT) {
16382 4 : if (r->out.level_out == NULL) {
16383 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16384 : }
16385 4 : if (r->out.res == NULL) {
16386 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16387 : }
16388 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16389 4 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
16390 4 : NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
16391 4 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16392 : }
16393 8 : return NDR_ERR_SUCCESS;
16394 : }
16395 :
16396 8 : static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
16397 : {
16398 8 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16399 8 : TALLOC_CTX *_mem_save_req_0 = NULL;
16400 8 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
16401 8 : TALLOC_CTX *_mem_save_res_0 = NULL;
16402 8 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16403 8 : if (flags & NDR_IN) {
16404 4 : NDR_ZERO_STRUCT(r->out);
16405 :
16406 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16407 4 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16408 : }
16409 4 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16410 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16411 4 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16412 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16413 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16414 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16415 4 : NDR_PULL_ALLOC(ndr, r->in.req);
16416 : }
16417 4 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16418 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16419 4 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16420 4 : NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16421 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16422 4 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16423 4 : NDR_ZERO_STRUCTP(r->out.level_out);
16424 4 : NDR_PULL_ALLOC(ndr, r->out.res);
16425 4 : NDR_ZERO_STRUCTP(r->out.res);
16426 : }
16427 8 : if (flags & NDR_OUT) {
16428 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16429 : if (r->in.bind_handle == NULL) {
16430 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16431 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16432 : }
16433 : if (r->in.req == NULL) {
16434 : NDR_PULL_ALLOC(ndr, r->in.req);
16435 : NDR_ZERO_STRUCTP(r->in.req);
16436 : }
16437 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16438 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16439 2 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16440 : }
16441 4 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16442 4 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16443 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16444 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16445 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16446 2 : NDR_PULL_ALLOC(ndr, r->out.res);
16447 : }
16448 4 : _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
16449 4 : NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
16450 4 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
16451 4 : NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
16452 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
16453 4 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16454 : }
16455 8 : return NDR_ERR_SUCCESS;
16456 : }
16457 :
16458 0 : _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
16459 : {
16460 0 : ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
16461 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16462 0 : ndr->depth++;
16463 0 : if (flags & NDR_SET_VALUES) {
16464 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16465 : }
16466 0 : if (flags & NDR_IN) {
16467 0 : ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
16468 0 : ndr->depth++;
16469 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16470 0 : ndr->depth++;
16471 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16472 0 : ndr->depth--;
16473 0 : ndr_print_uint32(ndr, "level", r->in.level);
16474 0 : ndr_print_ptr(ndr, "req", r->in.req);
16475 0 : ndr->depth++;
16476 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16477 0 : ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
16478 0 : ndr->depth--;
16479 0 : ndr->depth--;
16480 : }
16481 0 : if (flags & NDR_OUT) {
16482 0 : ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
16483 0 : ndr->depth++;
16484 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16485 0 : ndr->depth++;
16486 0 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16487 0 : ndr->depth--;
16488 0 : ndr_print_ptr(ndr, "res", r->out.res);
16489 0 : ndr->depth++;
16490 0 : ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
16491 0 : ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
16492 0 : ndr->depth--;
16493 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16494 0 : ndr->depth--;
16495 : }
16496 0 : ndr->depth--;
16497 : }
16498 :
16499 14 : static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
16500 : {
16501 14 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16502 14 : if (flags & NDR_IN) {
16503 7 : if (r->in.bind_handle == NULL) {
16504 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16505 : }
16506 7 : if (r->in.req == NULL) {
16507 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16508 : }
16509 7 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16510 7 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16511 7 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16512 7 : NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16513 : }
16514 14 : if (flags & NDR_OUT) {
16515 7 : if (r->out.level_out == NULL) {
16516 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16517 : }
16518 7 : if (r->out.res == NULL) {
16519 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16520 : }
16521 7 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16522 7 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
16523 7 : NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
16524 7 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16525 : }
16526 14 : return NDR_ERR_SUCCESS;
16527 : }
16528 :
16529 14 : static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
16530 : {
16531 14 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16532 14 : TALLOC_CTX *_mem_save_req_0 = NULL;
16533 14 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
16534 14 : TALLOC_CTX *_mem_save_res_0 = NULL;
16535 14 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16536 14 : if (flags & NDR_IN) {
16537 7 : NDR_ZERO_STRUCT(r->out);
16538 :
16539 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16540 7 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16541 : }
16542 7 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16543 7 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16544 7 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16545 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16546 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16547 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16548 7 : NDR_PULL_ALLOC(ndr, r->in.req);
16549 : }
16550 7 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16551 7 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16552 7 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16553 7 : NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16554 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16555 7 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16556 7 : NDR_ZERO_STRUCTP(r->out.level_out);
16557 7 : NDR_PULL_ALLOC(ndr, r->out.res);
16558 7 : NDR_ZERO_STRUCTP(r->out.res);
16559 : }
16560 14 : if (flags & NDR_OUT) {
16561 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16562 : if (r->in.bind_handle == NULL) {
16563 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16564 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16565 : }
16566 : if (r->in.req == NULL) {
16567 : NDR_PULL_ALLOC(ndr, r->in.req);
16568 : NDR_ZERO_STRUCTP(r->in.req);
16569 : }
16570 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16571 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16572 3 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16573 : }
16574 7 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16575 7 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16576 7 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16577 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16578 7 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16579 3 : NDR_PULL_ALLOC(ndr, r->out.res);
16580 : }
16581 7 : _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
16582 7 : NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
16583 7 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
16584 7 : NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
16585 7 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
16586 7 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16587 : }
16588 14 : return NDR_ERR_SUCCESS;
16589 : }
16590 :
16591 0 : _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
16592 : {
16593 0 : ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
16594 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16595 0 : ndr->depth++;
16596 0 : if (flags & NDR_SET_VALUES) {
16597 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16598 : }
16599 0 : if (flags & NDR_IN) {
16600 0 : ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
16601 0 : ndr->depth++;
16602 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16603 0 : ndr->depth++;
16604 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16605 0 : ndr->depth--;
16606 0 : ndr_print_uint32(ndr, "level", r->in.level);
16607 0 : ndr_print_ptr(ndr, "req", r->in.req);
16608 0 : ndr->depth++;
16609 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16610 0 : ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
16611 0 : ndr->depth--;
16612 0 : ndr->depth--;
16613 : }
16614 0 : if (flags & NDR_OUT) {
16615 0 : ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
16616 0 : ndr->depth++;
16617 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16618 0 : ndr->depth++;
16619 0 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16620 0 : ndr->depth--;
16621 0 : ndr_print_ptr(ndr, "res", r->out.res);
16622 0 : ndr->depth++;
16623 0 : ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
16624 0 : ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
16625 0 : ndr->depth--;
16626 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16627 0 : ndr->depth--;
16628 : }
16629 0 : ndr->depth--;
16630 : }
16631 :
16632 0 : static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
16633 : {
16634 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16635 0 : if (flags & NDR_IN) {
16636 : }
16637 0 : if (flags & NDR_OUT) {
16638 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16639 : }
16640 0 : return NDR_ERR_SUCCESS;
16641 : }
16642 :
16643 0 : static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
16644 : {
16645 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16646 0 : if (flags & NDR_IN) {
16647 : }
16648 0 : if (flags & NDR_OUT) {
16649 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16650 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16651 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16652 : }
16653 0 : return NDR_ERR_SUCCESS;
16654 : }
16655 :
16656 0 : _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
16657 : {
16658 0 : ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
16659 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16660 0 : ndr->depth++;
16661 0 : if (flags & NDR_SET_VALUES) {
16662 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16663 : }
16664 0 : if (flags & NDR_IN) {
16665 0 : ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
16666 0 : ndr->depth++;
16667 0 : ndr->depth--;
16668 : }
16669 0 : if (flags & NDR_OUT) {
16670 0 : ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
16671 0 : ndr->depth++;
16672 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16673 0 : ndr->depth--;
16674 : }
16675 0 : ndr->depth--;
16676 : }
16677 :
16678 12 : static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
16679 : {
16680 12 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16681 12 : if (flags & NDR_IN) {
16682 6 : if (r->in.bind_handle == NULL) {
16683 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16684 : }
16685 6 : if (r->in.req == NULL) {
16686 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16687 : }
16688 6 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16689 6 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16690 6 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16691 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16692 : }
16693 12 : if (flags & NDR_OUT) {
16694 6 : if (r->out.level_out == NULL) {
16695 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16696 : }
16697 6 : if (r->out.ctr == NULL) {
16698 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16699 : }
16700 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, *r->out.level_out));
16701 6 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16702 6 : NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16703 6 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16704 : }
16705 12 : return NDR_ERR_SUCCESS;
16706 : }
16707 :
16708 12 : static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
16709 : {
16710 12 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16711 12 : TALLOC_CTX *_mem_save_req_0 = NULL;
16712 12 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
16713 12 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
16714 12 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16715 12 : if (flags & NDR_IN) {
16716 6 : NDR_ZERO_STRUCT(r->out);
16717 :
16718 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16719 6 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16720 : }
16721 6 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16722 6 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16723 6 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16724 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16725 6 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16726 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16727 6 : NDR_PULL_ALLOC(ndr, r->in.req);
16728 : }
16729 6 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16730 6 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16731 6 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16732 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16733 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16734 6 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16735 6 : NDR_ZERO_STRUCTP(r->out.level_out);
16736 6 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16737 6 : NDR_ZERO_STRUCTP(r->out.ctr);
16738 : }
16739 12 : if (flags & NDR_OUT) {
16740 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16741 : if (r->in.bind_handle == NULL) {
16742 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16743 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16744 : }
16745 : if (r->in.req == NULL) {
16746 : NDR_PULL_ALLOC(ndr, r->in.req);
16747 : NDR_ZERO_STRUCTP(r->in.req);
16748 : }
16749 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16750 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16751 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16752 : }
16753 6 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16754 6 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16755 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtrLevels(ndr, NDR_SCALARS, r->out.level_out));
16756 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16757 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16758 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16759 : }
16760 6 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16761 6 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16762 6 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16763 6 : NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16764 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16765 6 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16766 : }
16767 12 : return NDR_ERR_SUCCESS;
16768 : }
16769 :
16770 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
16771 : {
16772 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
16773 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16774 0 : ndr->depth++;
16775 0 : if (flags & NDR_SET_VALUES) {
16776 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16777 : }
16778 0 : if (flags & NDR_IN) {
16779 0 : ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
16780 0 : ndr->depth++;
16781 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16782 0 : ndr->depth++;
16783 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16784 0 : ndr->depth--;
16785 0 : ndr_print_uint32(ndr, "level", r->in.level);
16786 0 : ndr_print_ptr(ndr, "req", r->in.req);
16787 0 : ndr->depth++;
16788 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16789 0 : ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
16790 0 : ndr->depth--;
16791 0 : ndr->depth--;
16792 : }
16793 0 : if (flags & NDR_OUT) {
16794 0 : ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
16795 0 : ndr->depth++;
16796 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16797 0 : ndr->depth++;
16798 0 : ndr_print_drsuapi_DsGetDCInfoCtrLevels(ndr, "level_out", *r->out.level_out);
16799 0 : ndr->depth--;
16800 0 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16801 0 : ndr->depth++;
16802 0 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16803 0 : ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
16804 0 : ndr->depth--;
16805 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16806 0 : ndr->depth--;
16807 : }
16808 0 : ndr->depth--;
16809 : }
16810 :
16811 127 : _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
16812 : {
16813 127 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16814 127 : if (flags & NDR_IN) {
16815 64 : if (r->in.bind_handle == NULL) {
16816 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16817 : }
16818 64 : if (r->in.req == NULL) {
16819 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16820 : }
16821 64 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16822 64 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16823 64 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16824 64 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16825 : }
16826 127 : if (flags & NDR_OUT) {
16827 63 : if (r->out.level_out == NULL) {
16828 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16829 : }
16830 63 : if (r->out.ctr == NULL) {
16831 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16832 : }
16833 63 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16834 63 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16835 63 : NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16836 63 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16837 : }
16838 126 : return NDR_ERR_SUCCESS;
16839 : }
16840 :
16841 133 : _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
16842 : {
16843 133 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16844 133 : TALLOC_CTX *_mem_save_req_0 = NULL;
16845 133 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
16846 133 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
16847 133 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16848 133 : if (flags & NDR_IN) {
16849 67 : NDR_ZERO_STRUCT(r->out);
16850 :
16851 67 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16852 67 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16853 : }
16854 67 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16855 67 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16856 67 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16857 67 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16858 67 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16859 67 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16860 67 : NDR_PULL_ALLOC(ndr, r->in.req);
16861 : }
16862 67 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16863 67 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16864 67 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16865 67 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16866 67 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16867 67 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16868 67 : NDR_ZERO_STRUCTP(r->out.level_out);
16869 67 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16870 67 : NDR_ZERO_STRUCTP(r->out.ctr);
16871 : }
16872 133 : if (flags & NDR_OUT) {
16873 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16874 : if (r->in.bind_handle == NULL) {
16875 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16876 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16877 : }
16878 : if (r->in.req == NULL) {
16879 : NDR_PULL_ALLOC(ndr, r->in.req);
16880 : NDR_ZERO_STRUCTP(r->in.req);
16881 : }
16882 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16883 66 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16884 62 : NDR_PULL_ALLOC(ndr, r->out.level_out);
16885 : }
16886 66 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16887 66 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16888 66 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16889 66 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16890 66 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16891 62 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16892 : }
16893 66 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16894 66 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16895 66 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16896 66 : NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16897 65 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16898 65 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16899 : }
16900 126 : return NDR_ERR_SUCCESS;
16901 : }
16902 :
16903 6 : _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
16904 : {
16905 6 : ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
16906 6 : if (r == NULL) { ndr_print_null(ndr); return; }
16907 6 : ndr->depth++;
16908 6 : if (flags & NDR_SET_VALUES) {
16909 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16910 : }
16911 6 : if (flags & NDR_IN) {
16912 4 : ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
16913 4 : ndr->depth++;
16914 4 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16915 4 : ndr->depth++;
16916 4 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16917 4 : ndr->depth--;
16918 4 : ndr_print_uint32(ndr, "level", r->in.level);
16919 4 : ndr_print_ptr(ndr, "req", r->in.req);
16920 4 : ndr->depth++;
16921 4 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16922 4 : ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
16923 4 : ndr->depth--;
16924 4 : ndr->depth--;
16925 : }
16926 6 : if (flags & NDR_OUT) {
16927 2 : ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
16928 2 : ndr->depth++;
16929 2 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
16930 2 : ndr->depth++;
16931 2 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16932 2 : ndr->depth--;
16933 2 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16934 2 : ndr->depth++;
16935 2 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16936 2 : ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
16937 2 : ndr->depth--;
16938 2 : ndr_print_WERROR(ndr, "result", r->out.result);
16939 2 : ndr->depth--;
16940 : }
16941 6 : ndr->depth--;
16942 : }
16943 :
16944 4 : static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
16945 : {
16946 4 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16947 4 : if (flags & NDR_IN) {
16948 2 : if (r->in.bind_handle == NULL) {
16949 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16950 : }
16951 2 : if (r->in.req == NULL) {
16952 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16953 : }
16954 2 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16955 2 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16956 2 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16957 2 : NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
16958 : }
16959 4 : if (flags & NDR_OUT) {
16960 2 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16961 : }
16962 4 : return NDR_ERR_SUCCESS;
16963 : }
16964 :
16965 4 : static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
16966 : {
16967 4 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
16968 4 : TALLOC_CTX *_mem_save_req_0 = NULL;
16969 4 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16970 4 : if (flags & NDR_IN) {
16971 2 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16972 2 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16973 : }
16974 2 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16975 2 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16976 2 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16977 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16978 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16979 2 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16980 2 : NDR_PULL_ALLOC(ndr, r->in.req);
16981 : }
16982 2 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16983 2 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16984 2 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16985 2 : NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
16986 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16987 : }
16988 4 : if (flags & NDR_OUT) {
16989 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16990 : if (r->in.bind_handle == NULL) {
16991 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16992 : NDR_ZERO_STRUCTP(r->in.bind_handle);
16993 : }
16994 : if (r->in.req == NULL) {
16995 : NDR_PULL_ALLOC(ndr, r->in.req);
16996 : NDR_ZERO_STRUCTP(r->in.req);
16997 : }
16998 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16999 2 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17000 : }
17001 4 : return NDR_ERR_SUCCESS;
17002 : }
17003 :
17004 0 : _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
17005 : {
17006 0 : ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
17007 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17008 0 : ndr->depth++;
17009 0 : if (flags & NDR_SET_VALUES) {
17010 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17011 : }
17012 0 : if (flags & NDR_IN) {
17013 0 : ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
17014 0 : ndr->depth++;
17015 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
17016 0 : ndr->depth++;
17017 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
17018 0 : ndr->depth--;
17019 0 : ndr_print_uint32(ndr, "level", r->in.level);
17020 0 : ndr_print_ptr(ndr, "req", r->in.req);
17021 0 : ndr->depth++;
17022 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
17023 0 : ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
17024 0 : ndr->depth--;
17025 0 : ndr->depth--;
17026 : }
17027 0 : if (flags & NDR_OUT) {
17028 0 : ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
17029 0 : ndr->depth++;
17030 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17031 0 : ndr->depth--;
17032 : }
17033 0 : ndr->depth--;
17034 : }
17035 :
17036 64 : static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
17037 : {
17038 64 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17039 64 : if (flags & NDR_IN) {
17040 32 : if (r->in.bind_handle == NULL) {
17041 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17042 : }
17043 32 : if (r->in.req == NULL) {
17044 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17045 : }
17046 32 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
17047 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
17048 32 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
17049 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
17050 : }
17051 64 : if (flags & NDR_OUT) {
17052 32 : if (r->out.info_type == NULL) {
17053 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17054 : }
17055 32 : if (r->out.info == NULL) {
17056 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17057 : }
17058 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
17059 32 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
17060 32 : NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
17061 32 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17062 : }
17063 64 : return NDR_ERR_SUCCESS;
17064 : }
17065 :
17066 64 : static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
17067 : {
17068 64 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
17069 64 : TALLOC_CTX *_mem_save_req_0 = NULL;
17070 64 : TALLOC_CTX *_mem_save_info_type_0 = NULL;
17071 64 : TALLOC_CTX *_mem_save_info_0 = NULL;
17072 64 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17073 64 : if (flags & NDR_IN) {
17074 32 : NDR_ZERO_STRUCT(r->out);
17075 :
17076 32 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17077 32 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
17078 : }
17079 32 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
17080 32 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
17081 32 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
17082 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
17083 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
17084 32 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17085 32 : NDR_PULL_ALLOC(ndr, r->in.req);
17086 : }
17087 32 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
17088 32 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
17089 32 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
17090 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
17091 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
17092 32 : NDR_PULL_ALLOC(ndr, r->out.info_type);
17093 32 : NDR_ZERO_STRUCTP(r->out.info_type);
17094 32 : NDR_PULL_ALLOC(ndr, r->out.info);
17095 32 : NDR_ZERO_STRUCTP(r->out.info);
17096 : }
17097 64 : if (flags & NDR_OUT) {
17098 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17099 : if (r->in.bind_handle == NULL) {
17100 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
17101 : NDR_ZERO_STRUCTP(r->in.bind_handle);
17102 : }
17103 : if (r->in.req == NULL) {
17104 : NDR_PULL_ALLOC(ndr, r->in.req);
17105 : NDR_ZERO_STRUCTP(r->in.req);
17106 : }
17107 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17108 32 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17109 32 : NDR_PULL_ALLOC(ndr, r->out.info_type);
17110 : }
17111 32 : _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
17112 32 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
17113 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
17114 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
17115 32 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17116 32 : NDR_PULL_ALLOC(ndr, r->out.info);
17117 : }
17118 32 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
17119 32 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
17120 32 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
17121 32 : NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
17122 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
17123 32 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17124 : }
17125 64 : return NDR_ERR_SUCCESS;
17126 : }
17127 :
17128 0 : _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
17129 : {
17130 0 : ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
17131 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17132 0 : ndr->depth++;
17133 0 : if (flags & NDR_SET_VALUES) {
17134 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17135 : }
17136 0 : if (flags & NDR_IN) {
17137 0 : ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
17138 0 : ndr->depth++;
17139 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
17140 0 : ndr->depth++;
17141 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
17142 0 : ndr->depth--;
17143 0 : ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
17144 0 : ndr_print_ptr(ndr, "req", r->in.req);
17145 0 : ndr->depth++;
17146 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
17147 0 : ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
17148 0 : ndr->depth--;
17149 0 : ndr->depth--;
17150 : }
17151 0 : if (flags & NDR_OUT) {
17152 0 : ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
17153 0 : ndr->depth++;
17154 0 : ndr_print_ptr(ndr, "info_type", r->out.info_type);
17155 0 : ndr->depth++;
17156 0 : ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
17157 0 : ndr->depth--;
17158 0 : ndr_print_ptr(ndr, "info", r->out.info);
17159 0 : ndr->depth++;
17160 0 : ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
17161 0 : ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
17162 0 : ndr->depth--;
17163 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17164 0 : ndr->depth--;
17165 : }
17166 0 : ndr->depth--;
17167 : }
17168 :
17169 0 : static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
17170 : {
17171 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17172 0 : if (flags & NDR_IN) {
17173 : }
17174 0 : if (flags & NDR_OUT) {
17175 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17176 : }
17177 0 : return NDR_ERR_SUCCESS;
17178 : }
17179 :
17180 0 : static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
17181 : {
17182 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17183 0 : if (flags & NDR_IN) {
17184 : }
17185 0 : if (flags & NDR_OUT) {
17186 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17187 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17188 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17189 : }
17190 0 : return NDR_ERR_SUCCESS;
17191 : }
17192 :
17193 0 : _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
17194 : {
17195 0 : ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
17196 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17197 0 : ndr->depth++;
17198 0 : if (flags & NDR_SET_VALUES) {
17199 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17200 : }
17201 0 : if (flags & NDR_IN) {
17202 0 : ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
17203 0 : ndr->depth++;
17204 0 : ndr->depth--;
17205 : }
17206 0 : if (flags & NDR_OUT) {
17207 0 : ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
17208 0 : ndr->depth++;
17209 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17210 0 : ndr->depth--;
17211 : }
17212 0 : ndr->depth--;
17213 : }
17214 :
17215 0 : static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
17216 : {
17217 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17218 0 : if (flags & NDR_IN) {
17219 0 : if (r->in.bind_handle == NULL) {
17220 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17221 : }
17222 0 : if (r->in.req == NULL) {
17223 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17224 : }
17225 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
17226 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
17227 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
17228 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
17229 : }
17230 0 : if (flags & NDR_OUT) {
17231 0 : if (r->out.level_out == NULL) {
17232 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17233 : }
17234 0 : if (r->out.ctr == NULL) {
17235 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17236 : }
17237 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
17238 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
17239 0 : NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
17240 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17241 : }
17242 0 : return NDR_ERR_SUCCESS;
17243 : }
17244 :
17245 0 : static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
17246 : {
17247 0 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
17248 0 : TALLOC_CTX *_mem_save_req_0 = NULL;
17249 0 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
17250 0 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
17251 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17252 0 : if (flags & NDR_IN) {
17253 0 : NDR_ZERO_STRUCT(r->out);
17254 :
17255 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17256 0 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
17257 : }
17258 0 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
17259 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
17260 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
17261 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
17262 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
17263 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17264 0 : NDR_PULL_ALLOC(ndr, r->in.req);
17265 : }
17266 0 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
17267 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
17268 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
17269 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
17270 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
17271 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
17272 0 : NDR_ZERO_STRUCTP(r->out.level_out);
17273 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
17274 0 : NDR_ZERO_STRUCTP(r->out.ctr);
17275 : }
17276 0 : if (flags & NDR_OUT) {
17277 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17278 : if (r->in.bind_handle == NULL) {
17279 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
17280 : NDR_ZERO_STRUCTP(r->in.bind_handle);
17281 : }
17282 : if (r->in.req == NULL) {
17283 : NDR_PULL_ALLOC(ndr, r->in.req);
17284 : NDR_ZERO_STRUCTP(r->in.req);
17285 : }
17286 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17287 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17288 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
17289 : }
17290 0 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
17291 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
17292 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
17293 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
17294 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17295 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
17296 : }
17297 0 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
17298 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
17299 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
17300 0 : NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
17301 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
17302 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17303 : }
17304 0 : return NDR_ERR_SUCCESS;
17305 : }
17306 :
17307 0 : _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
17308 : {
17309 0 : ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
17310 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17311 0 : ndr->depth++;
17312 0 : if (flags & NDR_SET_VALUES) {
17313 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17314 : }
17315 0 : if (flags & NDR_IN) {
17316 0 : ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
17317 0 : ndr->depth++;
17318 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
17319 0 : ndr->depth++;
17320 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
17321 0 : ndr->depth--;
17322 0 : ndr_print_uint32(ndr, "level", r->in.level);
17323 0 : ndr_print_ptr(ndr, "req", r->in.req);
17324 0 : ndr->depth++;
17325 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
17326 0 : ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
17327 0 : ndr->depth--;
17328 0 : ndr->depth--;
17329 : }
17330 0 : if (flags & NDR_OUT) {
17331 0 : ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
17332 0 : ndr->depth++;
17333 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
17334 0 : ndr->depth++;
17335 0 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
17336 0 : ndr->depth--;
17337 0 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
17338 0 : ndr->depth++;
17339 0 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
17340 0 : ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
17341 0 : ndr->depth--;
17342 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17343 0 : ndr->depth--;
17344 : }
17345 0 : ndr->depth--;
17346 : }
17347 :
17348 0 : static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
17349 : {
17350 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17351 0 : if (flags & NDR_IN) {
17352 : }
17353 0 : if (flags & NDR_OUT) {
17354 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17355 : }
17356 0 : return NDR_ERR_SUCCESS;
17357 : }
17358 :
17359 0 : static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
17360 : {
17361 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17362 0 : if (flags & NDR_IN) {
17363 : }
17364 0 : if (flags & NDR_OUT) {
17365 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17366 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17367 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17368 : }
17369 0 : return NDR_ERR_SUCCESS;
17370 : }
17371 :
17372 0 : _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
17373 : {
17374 0 : ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
17375 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17376 0 : ndr->depth++;
17377 0 : if (flags & NDR_SET_VALUES) {
17378 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17379 : }
17380 0 : if (flags & NDR_IN) {
17381 0 : ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
17382 0 : ndr->depth++;
17383 0 : ndr->depth--;
17384 : }
17385 0 : if (flags & NDR_OUT) {
17386 0 : ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
17387 0 : ndr->depth++;
17388 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17389 0 : ndr->depth--;
17390 : }
17391 0 : ndr->depth--;
17392 : }
17393 :
17394 0 : static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
17395 : {
17396 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17397 0 : if (flags & NDR_IN) {
17398 : }
17399 0 : if (flags & NDR_OUT) {
17400 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17401 : }
17402 0 : return NDR_ERR_SUCCESS;
17403 : }
17404 :
17405 0 : static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
17406 : {
17407 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17408 0 : if (flags & NDR_IN) {
17409 : }
17410 0 : if (flags & NDR_OUT) {
17411 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17412 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17413 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17414 : }
17415 0 : return NDR_ERR_SUCCESS;
17416 : }
17417 :
17418 0 : _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
17419 : {
17420 0 : ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
17421 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17422 0 : ndr->depth++;
17423 0 : if (flags & NDR_SET_VALUES) {
17424 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17425 : }
17426 0 : if (flags & NDR_IN) {
17427 0 : ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
17428 0 : ndr->depth++;
17429 0 : ndr->depth--;
17430 : }
17431 0 : if (flags & NDR_OUT) {
17432 0 : ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
17433 0 : ndr->depth++;
17434 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17435 0 : ndr->depth--;
17436 : }
17437 0 : ndr->depth--;
17438 : }
17439 :
17440 0 : static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
17441 : {
17442 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17443 0 : if (flags & NDR_IN) {
17444 0 : if (r->in.bind_handle == NULL) {
17445 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17446 : }
17447 0 : if (r->in.req == NULL) {
17448 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17449 : }
17450 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
17451 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
17452 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
17453 0 : NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
17454 : }
17455 0 : if (flags & NDR_OUT) {
17456 0 : if (r->out.level_out == NULL) {
17457 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17458 : }
17459 0 : if (r->out.ctr == NULL) {
17460 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17461 : }
17462 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
17463 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
17464 0 : NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
17465 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17466 : }
17467 0 : return NDR_ERR_SUCCESS;
17468 : }
17469 :
17470 0 : static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
17471 : {
17472 0 : TALLOC_CTX *_mem_save_bind_handle_0 = NULL;
17473 0 : TALLOC_CTX *_mem_save_req_0 = NULL;
17474 0 : TALLOC_CTX *_mem_save_level_out_0 = NULL;
17475 0 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
17476 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17477 0 : if (flags & NDR_IN) {
17478 0 : NDR_ZERO_STRUCT(r->out);
17479 :
17480 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17481 0 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
17482 : }
17483 0 : _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
17484 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
17485 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
17486 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
17487 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
17488 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17489 0 : NDR_PULL_ALLOC(ndr, r->in.req);
17490 : }
17491 0 : _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
17492 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
17493 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
17494 0 : NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
17495 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
17496 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
17497 0 : NDR_ZERO_STRUCTP(r->out.level_out);
17498 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
17499 0 : NDR_ZERO_STRUCTP(r->out.ctr);
17500 : }
17501 0 : if (flags & NDR_OUT) {
17502 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17503 : if (r->in.bind_handle == NULL) {
17504 : NDR_PULL_ALLOC(ndr, r->in.bind_handle);
17505 : NDR_ZERO_STRUCTP(r->in.bind_handle);
17506 : }
17507 : if (r->in.req == NULL) {
17508 : NDR_PULL_ALLOC(ndr, r->in.req);
17509 : NDR_ZERO_STRUCTP(r->in.req);
17510 : }
17511 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17512 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17513 0 : NDR_PULL_ALLOC(ndr, r->out.level_out);
17514 : }
17515 0 : _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
17516 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
17517 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
17518 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
17519 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17520 0 : NDR_PULL_ALLOC(ndr, r->out.ctr);
17521 : }
17522 0 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
17523 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
17524 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
17525 0 : NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
17526 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
17527 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17528 : }
17529 0 : return NDR_ERR_SUCCESS;
17530 : }
17531 :
17532 0 : _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
17533 : {
17534 0 : ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
17535 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17536 0 : ndr->depth++;
17537 0 : if (flags & NDR_SET_VALUES) {
17538 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17539 : }
17540 0 : if (flags & NDR_IN) {
17541 0 : ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
17542 0 : ndr->depth++;
17543 0 : ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
17544 0 : ndr->depth++;
17545 0 : ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
17546 0 : ndr->depth--;
17547 0 : ndr_print_uint32(ndr, "level", r->in.level);
17548 0 : ndr_print_ptr(ndr, "req", r->in.req);
17549 0 : ndr->depth++;
17550 0 : ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
17551 0 : ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
17552 0 : ndr->depth--;
17553 0 : ndr->depth--;
17554 : }
17555 0 : if (flags & NDR_OUT) {
17556 0 : ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
17557 0 : ndr->depth++;
17558 0 : ndr_print_ptr(ndr, "level_out", r->out.level_out);
17559 0 : ndr->depth++;
17560 0 : ndr_print_uint32(ndr, "level_out", *r->out.level_out);
17561 0 : ndr->depth--;
17562 0 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
17563 0 : ndr->depth++;
17564 0 : ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
17565 0 : ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
17566 0 : ndr->depth--;
17567 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17568 0 : ndr->depth--;
17569 : }
17570 0 : ndr->depth--;
17571 : }
17572 :
17573 : #ifndef SKIP_NDR_TABLE_drsuapi
17574 : static const struct ndr_interface_public_struct drsuapi_public_structs[] = {
17575 : {
17576 : .name = "drsuapi_DsBindInfo24",
17577 : .struct_size = sizeof(struct drsuapi_DsBindInfo24 ),
17578 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo24,
17579 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo24,
17580 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo24,
17581 : },
17582 : {
17583 : .name = "drsuapi_DsBindInfo28",
17584 : .struct_size = sizeof(struct drsuapi_DsBindInfo28 ),
17585 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo28,
17586 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo28,
17587 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo28,
17588 : },
17589 : {
17590 : .name = "drsuapi_DsBindInfo32",
17591 : .struct_size = sizeof(struct drsuapi_DsBindInfo32 ),
17592 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo32,
17593 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo32,
17594 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo32,
17595 : },
17596 : {
17597 : .name = "drsuapi_DsBindInfo48",
17598 : .struct_size = sizeof(struct drsuapi_DsBindInfo48 ),
17599 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo48,
17600 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo48,
17601 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo48,
17602 : },
17603 : {
17604 : .name = "drsuapi_DsBindInfo52",
17605 : .struct_size = sizeof(struct drsuapi_DsBindInfo52 ),
17606 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfo52,
17607 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfo52,
17608 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfo52,
17609 : },
17610 : {
17611 : .name = "drsuapi_DsBindInfoFallBack",
17612 : .struct_size = sizeof(struct drsuapi_DsBindInfoFallBack ),
17613 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBindInfoFallBack,
17614 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBindInfoFallBack,
17615 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsBindInfoFallBack,
17616 : },
17617 : {
17618 : .name = "drsuapi_DsReplicaObjectIdentifier",
17619 : .struct_size = sizeof(struct drsuapi_DsReplicaObjectIdentifier ),
17620 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectIdentifier,
17621 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectIdentifier,
17622 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectIdentifier,
17623 : },
17624 : {
17625 : .name = "drsuapi_DsReplicaHighWaterMark",
17626 : .struct_size = sizeof(struct drsuapi_DsReplicaHighWaterMark ),
17627 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaHighWaterMark,
17628 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaHighWaterMark,
17629 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaHighWaterMark,
17630 : },
17631 : {
17632 : .name = "drsuapi_DsReplicaCursor",
17633 : .struct_size = sizeof(struct drsuapi_DsReplicaCursor ),
17634 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaCursor,
17635 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaCursor,
17636 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaCursor,
17637 : },
17638 : {
17639 : .name = "drsuapi_DsReplicaOIDMapping_Ctr",
17640 : .struct_size = sizeof(struct drsuapi_DsReplicaOIDMapping_Ctr ),
17641 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaOIDMapping_Ctr,
17642 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr,
17643 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaOIDMapping_Ctr,
17644 : },
17645 : {
17646 : .name = "drsuapi_DsGetNCChangesRequest8",
17647 : .struct_size = sizeof(struct drsuapi_DsGetNCChangesRequest8 ),
17648 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesRequest8,
17649 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesRequest8,
17650 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesRequest8,
17651 : },
17652 : {
17653 : .name = "drsuapi_DsGetNCChangesRequest10",
17654 : .struct_size = sizeof(struct drsuapi_DsGetNCChangesRequest10 ),
17655 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesRequest10,
17656 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesRequest10,
17657 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesRequest10,
17658 : },
17659 : {
17660 : .name = "drsuapi_DsReplicaCursor2",
17661 : .struct_size = sizeof(struct drsuapi_DsReplicaCursor2 ),
17662 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaCursor2,
17663 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaCursor2,
17664 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaCursor2,
17665 : },
17666 : {
17667 : .name = "drsuapi_DsReplicaObjectIdentifier3",
17668 : .struct_size = sizeof(struct drsuapi_DsReplicaObjectIdentifier3 ),
17669 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectIdentifier3,
17670 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectIdentifier3,
17671 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3,
17672 : },
17673 : {
17674 : .name = "drsuapi_DsReplicaObjectIdentifier3Binary",
17675 : .struct_size = sizeof(struct drsuapi_DsReplicaObjectIdentifier3Binary ),
17676 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary,
17677 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary,
17678 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectIdentifier3Binary,
17679 : },
17680 : {
17681 : .name = "drsuapi_DsReplicaAttribute",
17682 : .struct_size = sizeof(struct drsuapi_DsReplicaAttribute ),
17683 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAttribute,
17684 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAttribute,
17685 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaAttribute,
17686 : },
17687 : {
17688 : .name = "drsuapi_DsReplicaObject",
17689 : .struct_size = sizeof(struct drsuapi_DsReplicaObject ),
17690 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObject,
17691 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObject,
17692 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObject,
17693 : },
17694 : {
17695 : .name = "drsuapi_DsReplicaMetaDataCtr",
17696 : .struct_size = sizeof(struct drsuapi_DsReplicaMetaDataCtr ),
17697 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMetaDataCtr,
17698 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMetaDataCtr,
17699 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaMetaDataCtr,
17700 : },
17701 : {
17702 : .name = "drsuapi_DsReplicaObjectListItemEx",
17703 : .struct_size = sizeof(struct drsuapi_DsReplicaObjectListItemEx ),
17704 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectListItemEx,
17705 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectListItemEx,
17706 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectListItemEx,
17707 : },
17708 : {
17709 : .name = "drsuapi_DsGetNCChangesCtr1",
17710 : .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr1 ),
17711 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr1,
17712 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr1,
17713 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr1,
17714 : },
17715 : {
17716 : .name = "drsuapi_DsReplicaLinkedAttribute",
17717 : .struct_size = sizeof(struct drsuapi_DsReplicaLinkedAttribute ),
17718 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaLinkedAttribute,
17719 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaLinkedAttribute,
17720 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaLinkedAttribute,
17721 : },
17722 : {
17723 : .name = "drsuapi_DsGetNCChangesCtr6",
17724 : .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr6 ),
17725 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr6,
17726 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr6,
17727 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr6,
17728 : },
17729 : {
17730 : .name = "drsuapi_DsGetNCChangesCtr1TS",
17731 : .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr1TS ),
17732 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr1TS,
17733 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr1TS,
17734 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr1TS,
17735 : },
17736 : {
17737 : .name = "drsuapi_DsGetNCChangesCtr6TS",
17738 : .struct_size = sizeof(struct drsuapi_DsGetNCChangesCtr6TS ),
17739 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChangesCtr6TS,
17740 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChangesCtr6TS,
17741 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsGetNCChangesCtr6TS,
17742 : },
17743 : {
17744 : .name = "drsuapi_DsReplicaObjectListItem",
17745 : .struct_size = sizeof(struct drsuapi_DsReplicaObjectListItem ),
17746 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaObjectListItem,
17747 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaObjectListItem,
17748 : .ndr_print = (ndr_print_function_t) ndr_print_flags_drsuapi_DsReplicaObjectListItem,
17749 : },
17750 : { .name = NULL }
17751 : };
17752 :
17753 : static const struct ndr_interface_call drsuapi_calls[] = {
17754 : {
17755 : "drsuapi_DsBind",
17756 : sizeof(struct drsuapi_DsBind),
17757 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
17758 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
17759 : (ndr_print_function_t) ndr_print_drsuapi_DsBind,
17760 : { 0, NULL },
17761 : { 0, NULL },
17762 : },
17763 : {
17764 : "drsuapi_DsUnbind",
17765 : sizeof(struct drsuapi_DsUnbind),
17766 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
17767 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
17768 : (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
17769 : { 0, NULL },
17770 : { 0, NULL },
17771 : },
17772 : {
17773 : "drsuapi_DsReplicaSync",
17774 : sizeof(struct drsuapi_DsReplicaSync),
17775 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
17776 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
17777 : (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
17778 : { 0, NULL },
17779 : { 0, NULL },
17780 : },
17781 : {
17782 : "drsuapi_DsGetNCChanges",
17783 : sizeof(struct drsuapi_DsGetNCChanges),
17784 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
17785 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
17786 : (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
17787 : { 0, NULL },
17788 : { 0, NULL },
17789 : },
17790 : {
17791 : "drsuapi_DsReplicaUpdateRefs",
17792 : sizeof(struct drsuapi_DsReplicaUpdateRefs),
17793 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
17794 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
17795 : (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
17796 : { 0, NULL },
17797 : { 0, NULL },
17798 : },
17799 : {
17800 : "drsuapi_DsReplicaAdd",
17801 : sizeof(struct drsuapi_DsReplicaAdd),
17802 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
17803 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
17804 : (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
17805 : { 0, NULL },
17806 : { 0, NULL },
17807 : },
17808 : {
17809 : "drsuapi_DsReplicaDel",
17810 : sizeof(struct drsuapi_DsReplicaDel),
17811 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
17812 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
17813 : (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
17814 : { 0, NULL },
17815 : { 0, NULL },
17816 : },
17817 : {
17818 : "drsuapi_DsReplicaMod",
17819 : sizeof(struct drsuapi_DsReplicaMod),
17820 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
17821 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
17822 : (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
17823 : { 0, NULL },
17824 : { 0, NULL },
17825 : },
17826 : {
17827 : "DRSUAPI_VERIFY_NAMES",
17828 : sizeof(struct DRSUAPI_VERIFY_NAMES),
17829 : (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
17830 : (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
17831 : (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
17832 : { 0, NULL },
17833 : { 0, NULL },
17834 : },
17835 : {
17836 : "drsuapi_DsGetMemberships",
17837 : sizeof(struct drsuapi_DsGetMemberships),
17838 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
17839 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
17840 : (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
17841 : { 0, NULL },
17842 : { 0, NULL },
17843 : },
17844 : {
17845 : "DRSUAPI_INTER_DOMAIN_MOVE",
17846 : sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
17847 : (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
17848 : (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
17849 : (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
17850 : { 0, NULL },
17851 : { 0, NULL },
17852 : },
17853 : {
17854 : "drsuapi_DsGetNT4ChangeLog",
17855 : sizeof(struct drsuapi_DsGetNT4ChangeLog),
17856 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
17857 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
17858 : (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
17859 : { 0, NULL },
17860 : { 0, NULL },
17861 : },
17862 : {
17863 : "drsuapi_DsCrackNames",
17864 : sizeof(struct drsuapi_DsCrackNames),
17865 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
17866 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
17867 : (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
17868 : { 0, NULL },
17869 : { 0, NULL },
17870 : },
17871 : {
17872 : "drsuapi_DsWriteAccountSpn",
17873 : sizeof(struct drsuapi_DsWriteAccountSpn),
17874 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
17875 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
17876 : (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
17877 : { 0, NULL },
17878 : { 0, NULL },
17879 : },
17880 : {
17881 : "drsuapi_DsRemoveDSServer",
17882 : sizeof(struct drsuapi_DsRemoveDSServer),
17883 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
17884 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
17885 : (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
17886 : { 0, NULL },
17887 : { 0, NULL },
17888 : },
17889 : {
17890 : "DRSUAPI_REMOVE_DS_DOMAIN",
17891 : sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
17892 : (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
17893 : (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
17894 : (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
17895 : { 0, NULL },
17896 : { 0, NULL },
17897 : },
17898 : {
17899 : "drsuapi_DsGetDomainControllerInfo",
17900 : sizeof(struct drsuapi_DsGetDomainControllerInfo),
17901 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
17902 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
17903 : (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
17904 : { 0, NULL },
17905 : { 0, NULL },
17906 : },
17907 : {
17908 : "drsuapi_DsAddEntry",
17909 : sizeof(struct drsuapi_DsAddEntry),
17910 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
17911 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
17912 : (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
17913 : { 0, NULL },
17914 : { 0, NULL },
17915 : },
17916 : {
17917 : "drsuapi_DsExecuteKCC",
17918 : sizeof(struct drsuapi_DsExecuteKCC),
17919 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
17920 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
17921 : (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
17922 : { 0, NULL },
17923 : { 0, NULL },
17924 : },
17925 : {
17926 : "drsuapi_DsReplicaGetInfo",
17927 : sizeof(struct drsuapi_DsReplicaGetInfo),
17928 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
17929 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
17930 : (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
17931 : { 0, NULL },
17932 : { 0, NULL },
17933 : },
17934 : {
17935 : "DRSUAPI_ADD_SID_HISTORY",
17936 : sizeof(struct DRSUAPI_ADD_SID_HISTORY),
17937 : (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
17938 : (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
17939 : (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
17940 : { 0, NULL },
17941 : { 0, NULL },
17942 : },
17943 : {
17944 : "drsuapi_DsGetMemberships2",
17945 : sizeof(struct drsuapi_DsGetMemberships2),
17946 : (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
17947 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
17948 : (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
17949 : { 0, NULL },
17950 : { 0, NULL },
17951 : },
17952 : {
17953 : "DRSUAPI_REPLICA_VERIFY_OBJECTS",
17954 : sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
17955 : (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
17956 : (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
17957 : (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
17958 : { 0, NULL },
17959 : { 0, NULL },
17960 : },
17961 : {
17962 : "DRSUAPI_GET_OBJECT_EXISTENCE",
17963 : sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
17964 : (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
17965 : (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
17966 : (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
17967 : { 0, NULL },
17968 : { 0, NULL },
17969 : },
17970 : {
17971 : "drsuapi_QuerySitesByCost",
17972 : sizeof(struct drsuapi_QuerySitesByCost),
17973 : (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
17974 : (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
17975 : (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
17976 : { 0, NULL },
17977 : { 0, NULL },
17978 : },
17979 : { .name = NULL }
17980 : };
17981 :
17982 : static const char * const drsuapi_endpoint_strings[] = {
17983 : "ncacn_np:[\\pipe\\lsass]",
17984 : "ncacn_np:[\\pipe\\protected_storage]",
17985 : "ncacn_ip_tcp:",
17986 : "ncalrpc:",
17987 : };
17988 :
17989 : static const struct ndr_interface_string_array drsuapi_endpoints = {
17990 : .count = 4,
17991 : .names = drsuapi_endpoint_strings
17992 : };
17993 :
17994 : static const char * const drsuapi_authservice_strings[] = {
17995 : "ldap",
17996 : };
17997 :
17998 : static const struct ndr_interface_string_array drsuapi_authservices = {
17999 : .count = 1,
18000 : .names = drsuapi_authservice_strings
18001 : };
18002 :
18003 :
18004 : const struct ndr_interface_table ndr_table_drsuapi = {
18005 : .name = "drsuapi",
18006 : .syntax_id = {
18007 : {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
18008 : NDR_DRSUAPI_VERSION
18009 : },
18010 : .helpstring = NDR_DRSUAPI_HELPSTRING,
18011 : .num_calls = 25,
18012 : .calls = drsuapi_calls,
18013 : .num_public_structs = 25,
18014 : .public_structs = drsuapi_public_structs,
18015 : .endpoints = &drsuapi_endpoints,
18016 : .authservices = &drsuapi_authservices
18017 : };
18018 :
18019 : #endif /* SKIP_NDR_TABLE_drsuapi */
|