1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
12 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
13 return NDR_ERR_SUCCESS
;
16 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
19 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
21 return NDR_ERR_SUCCESS
;
24 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
26 ndr_print_uint32(ndr
, name
, r
);
28 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE
, r
);
29 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION
, r
);
30 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI
, r
);
31 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00000080", DRSUAPI_SUPPORTED_EXTENSION_00000080
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2
, r
);
40 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
);
41 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND
, r
);
42 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO
, r
);
43 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION
, r
);
44 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01
, r
);
45 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP
, r
);
46 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY
, r
);
47 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3
, r
);
48 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00100000", DRSUAPI_SUPPORTED_EXTENSION_00100000
, r
);
49 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2
, r
);
50 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6
, r
);
51 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS
, r
);
52 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8
, r
);
53 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5
, r
);
54 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6
, r
);
55 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3
, r
);
56 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7
, r
);
57 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT
, r
);
58 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS
, r
);
59 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_20000000", DRSUAPI_SUPPORTED_EXTENSION_20000000
, r
);
60 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_40000000", DRSUAPI_SUPPORTED_EXTENSION_40000000
, r
);
61 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_80000000", DRSUAPI_SUPPORTED_EXTENSION_80000000
, r
);
65 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
67 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
68 return NDR_ERR_SUCCESS
;
71 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
74 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
76 return NDR_ERR_SUCCESS
;
79 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
81 ndr_print_uint32(ndr
, name
, r
);
83 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM
, r
);
84 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2
, r
);
88 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo24
*r
)
90 if (ndr_flags
& NDR_SCALARS
) {
91 NDR_CHECK(ndr_push_align(ndr
, 4));
92 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
93 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
94 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
96 if (ndr_flags
& NDR_BUFFERS
) {
98 return NDR_ERR_SUCCESS
;
101 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo24
*r
)
103 if (ndr_flags
& NDR_SCALARS
) {
104 NDR_CHECK(ndr_pull_align(ndr
, 4));
105 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
106 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
107 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
109 if (ndr_flags
& NDR_BUFFERS
) {
111 return NDR_ERR_SUCCESS
;
114 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo24(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo24
*r
)
116 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo24");
118 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
119 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
120 ndr_print_uint32(ndr
, "pid", r
->pid
);
124 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo28(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo28
*r
)
126 if (ndr_flags
& NDR_SCALARS
) {
127 NDR_CHECK(ndr_push_align(ndr
, 4));
128 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
129 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
130 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
133 if (ndr_flags
& NDR_BUFFERS
) {
135 return NDR_ERR_SUCCESS
;
138 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo28
*r
)
140 if (ndr_flags
& NDR_SCALARS
) {
141 NDR_CHECK(ndr_pull_align(ndr
, 4));
142 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
143 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
144 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
145 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
147 if (ndr_flags
& NDR_BUFFERS
) {
149 return NDR_ERR_SUCCESS
;
152 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo28(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo28
*r
)
154 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo28");
156 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
157 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
158 ndr_print_uint32(ndr
, "pid", r
->pid
);
159 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
163 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo48(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo48
*r
)
165 if (ndr_flags
& NDR_SCALARS
) {
166 NDR_CHECK(ndr_push_align(ndr
, 4));
167 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
168 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
169 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
170 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
171 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, r
->supported_extensions_ext
));
172 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
174 if (ndr_flags
& NDR_BUFFERS
) {
176 return NDR_ERR_SUCCESS
;
179 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo48
*r
)
181 if (ndr_flags
& NDR_SCALARS
) {
182 NDR_CHECK(ndr_pull_align(ndr
, 4));
183 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
184 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
185 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
186 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
187 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, &r
->supported_extensions_ext
));
188 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
190 if (ndr_flags
& NDR_BUFFERS
) {
192 return NDR_ERR_SUCCESS
;
195 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo48(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo48
*r
)
197 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo48");
199 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
200 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
201 ndr_print_uint32(ndr
, "pid", r
->pid
);
202 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
203 ndr_print_drsuapi_SupportedExtensionsExt(ndr
, "supported_extensions_ext", r
->supported_extensions_ext
);
204 ndr_print_GUID(ndr
, "config_dn_guid", &r
->config_dn_guid
);
208 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoFallBack
*r
)
210 if (ndr_flags
& NDR_SCALARS
) {
211 NDR_CHECK(ndr_push_align(ndr
, 4));
213 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
214 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
215 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->info
));
216 ndr
->flags
= _flags_save_DATA_BLOB
;
219 if (ndr_flags
& NDR_BUFFERS
) {
221 return NDR_ERR_SUCCESS
;
224 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoFallBack
*r
)
226 if (ndr_flags
& NDR_SCALARS
) {
227 NDR_CHECK(ndr_pull_align(ndr
, 4));
229 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
230 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
231 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->info
));
232 ndr
->flags
= _flags_save_DATA_BLOB
;
235 if (ndr_flags
& NDR_BUFFERS
) {
237 return NDR_ERR_SUCCESS
;
240 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoFallBack
*r
)
242 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoFallBack");
244 ndr_print_DATA_BLOB(ndr
, "info", r
->info
);
248 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsBindInfo
*r
)
250 if (ndr_flags
& NDR_SCALARS
) {
251 int level
= ndr_push_get_switch_value(ndr
, r
);
255 struct ndr_push
*_ndr_info24
;
256 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
257 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
258 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info24
, 4, -1));
264 struct ndr_push
*_ndr_info28
;
265 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
266 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
267 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info28
, 4, -1));
273 struct ndr_push
*_ndr_info48
;
274 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
275 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
276 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info48
, 4, -1));
282 struct ndr_push
*_ndr_FallBack
;
283 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
284 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
285 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
291 if (ndr_flags
& NDR_BUFFERS
) {
292 int level
= ndr_push_get_switch_value(ndr
, r
);
308 return NDR_ERR_SUCCESS
;
311 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsBindInfo
*r
)
314 level
= ndr_pull_get_switch_value(ndr
, r
);
315 if (ndr_flags
& NDR_SCALARS
) {
319 struct ndr_pull
*_ndr_info24
;
320 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
321 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
322 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info24
, 4, -1));
328 struct ndr_pull
*_ndr_info28
;
329 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
330 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
331 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info28
, 4, -1));
337 struct ndr_pull
*_ndr_info48
;
338 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
339 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
340 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info48
, 4, -1));
346 struct ndr_pull
*_ndr_FallBack
;
347 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
348 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
349 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
355 if (ndr_flags
& NDR_BUFFERS
) {
371 return NDR_ERR_SUCCESS
;
374 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsBindInfo
*r
)
377 level
= ndr_print_get_switch_value(ndr
, r
);
378 ndr_print_union(ndr
, name
, level
, "drsuapi_DsBindInfo");
381 ndr_print_drsuapi_DsBindInfo24(ndr
, "info24", &r
->info24
);
385 ndr_print_drsuapi_DsBindInfo28(ndr
, "info28", &r
->info28
);
389 ndr_print_drsuapi_DsBindInfo48(ndr
, "info48", &r
->info48
);
393 ndr_print_drsuapi_DsBindInfoFallBack(ndr
, "FallBack", &r
->FallBack
);
399 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoCtr
*r
)
401 if (ndr_flags
& NDR_SCALARS
) {
402 NDR_CHECK(ndr_push_align(ndr
, 4));
403 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
404 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->length
));
405 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
407 if (ndr_flags
& NDR_BUFFERS
) {
409 return NDR_ERR_SUCCESS
;
412 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoCtr
*r
)
414 if (ndr_flags
& NDR_SCALARS
) {
415 NDR_CHECK(ndr_pull_align(ndr
, 4));
416 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
417 if (r
->length
< 1 || r
->length
> 10000) {
418 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
420 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->length
));
421 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
423 if (ndr_flags
& NDR_BUFFERS
) {
425 return NDR_ERR_SUCCESS
;
428 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoCtr
*r
)
430 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoCtr");
432 ndr_print_uint32(ndr
, "length", r
->length
);
433 ndr_print_set_switch_value(ndr
, &r
->info
, r
->length
);
434 ndr_print_drsuapi_DsBindInfo(ndr
, "info", &r
->info
);
438 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
440 if (ndr_flags
& NDR_SCALARS
) {
441 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
) + 1));
442 NDR_CHECK(ndr_push_align(ndr
, 4));
443 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
444 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
445 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
446 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
447 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
448 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
450 if (ndr_flags
& NDR_BUFFERS
) {
451 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
453 return NDR_ERR_SUCCESS
;
456 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier
*r
)
458 uint32_t size_dn_0
= 0;
459 if (ndr_flags
& NDR_SCALARS
) {
460 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dn
));
461 NDR_CHECK(ndr_pull_align(ndr
, 4));
462 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
463 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
464 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
465 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
466 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
467 size_dn_0
= ndr_get_array_size(ndr
, &r
->dn
);
468 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, size_dn_0
, sizeof(uint16_t), CH_UTF16
));
470 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->dn
, r
->__ndr_size_dn
+ 1));
473 if (ndr_flags
& NDR_BUFFERS
) {
474 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
476 return NDR_ERR_SUCCESS
;
479 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
481 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier");
483 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4:r
->__ndr_size
);
484 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
);
485 ndr_print_GUID(ndr
, "guid", &r
->guid
);
486 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
487 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
488 ndr_print_string(ndr
, "dn", r
->dn
);
492 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier
*r
, struct smb_iconv_convenience
*ic
, int flags
)
494 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier
, ic
);
497 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
499 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
500 return NDR_ERR_SUCCESS
;
503 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
506 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
508 return NDR_ERR_SUCCESS
;
511 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
513 ndr_print_uint32(ndr
, name
, r
);
515 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION
, r
);
516 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE
, r
);
517 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC
, r
);
518 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING
, r
);
519 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES
, r
);
520 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL
, r
);
521 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT
, r
);
522 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD
, r
);
523 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE
, r
);
524 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE
, r
);
525 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED
, r
);
526 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY
, r
);
527 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY
, r
);
528 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL
, r
);
529 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION
, r
);
530 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED
, r
);
531 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS
, r
);
532 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET
, r
);
533 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE
, r
);
534 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION
, r
);
535 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA
, r
);
536 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL
, r
);
537 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS
, r
);
538 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED
, r
);
542 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
544 if (ndr_flags
& NDR_SCALARS
) {
545 NDR_CHECK(ndr_push_align(ndr
, 4));
546 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
547 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
549 uint32_t _flags_save_string
= ndr
->flags
;
550 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
551 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->other_info
));
552 ndr
->flags
= _flags_save_string
;
554 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->options
));
556 if (ndr_flags
& NDR_BUFFERS
) {
557 if (r
->naming_context
) {
558 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
561 uint32_t _flags_save_string
= ndr
->flags
;
562 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
564 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->other_info
));
566 ndr
->flags
= _flags_save_string
;
569 return NDR_ERR_SUCCESS
;
572 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
574 uint32_t _ptr_naming_context
;
575 TALLOC_CTX
*_mem_save_naming_context_0
;
576 uint32_t _ptr_other_info
;
577 TALLOC_CTX
*_mem_save_other_info_0
;
578 if (ndr_flags
& NDR_SCALARS
) {
579 NDR_CHECK(ndr_pull_align(ndr
, 4));
580 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
581 if (_ptr_naming_context
) {
582 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
584 r
->naming_context
= NULL
;
586 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
588 uint32_t _flags_save_string
= ndr
->flags
;
589 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
590 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
591 if (_ptr_other_info
) {
592 NDR_PULL_ALLOC(ndr
, r
->other_info
);
594 r
->other_info
= NULL
;
596 ndr
->flags
= _flags_save_string
;
598 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->options
));
600 if (ndr_flags
& NDR_BUFFERS
) {
601 if (r
->naming_context
) {
602 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
603 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
604 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
608 uint32_t _flags_save_string
= ndr
->flags
;
609 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
611 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
612 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
613 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->other_info
));
614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
616 ndr
->flags
= _flags_save_string
;
619 return NDR_ERR_SUCCESS
;
622 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
624 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
626 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
628 if (r
->naming_context
) {
629 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
632 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
633 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
636 ndr_print_string(ndr
, "other_info", r
->other_info
);
639 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "options", r
->options
);
643 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
645 if (ndr_flags
& NDR_SCALARS
) {
646 int level
= ndr_push_get_switch_value(ndr
, r
);
647 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
650 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
654 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
657 if (ndr_flags
& NDR_BUFFERS
) {
658 int level
= ndr_push_get_switch_value(ndr
, r
);
661 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
665 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
668 return NDR_ERR_SUCCESS
;
671 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
675 level
= ndr_pull_get_switch_value(ndr
, r
);
676 if (ndr_flags
& NDR_SCALARS
) {
677 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
678 if (_level
!= level
) {
679 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
683 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
687 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
690 if (ndr_flags
& NDR_BUFFERS
) {
693 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
697 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
700 return NDR_ERR_SUCCESS
;
703 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
706 level
= ndr_print_get_switch_value(ndr
, r
);
707 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
710 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
714 ndr_print_bad_level(ndr
, name
, level
);
718 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
720 if (ndr_flags
& NDR_SCALARS
) {
721 NDR_CHECK(ndr_push_align(ndr
, 8));
722 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
723 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
724 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
726 if (ndr_flags
& NDR_BUFFERS
) {
728 return NDR_ERR_SUCCESS
;
731 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
733 if (ndr_flags
& NDR_SCALARS
) {
734 NDR_CHECK(ndr_pull_align(ndr
, 8));
735 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
736 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
737 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
739 if (ndr_flags
& NDR_BUFFERS
) {
741 return NDR_ERR_SUCCESS
;
744 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
746 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
748 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
749 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
750 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
754 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
756 if (ndr_flags
& NDR_SCALARS
) {
757 NDR_CHECK(ndr_push_align(ndr
, 8));
758 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
759 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
761 if (ndr_flags
& NDR_BUFFERS
) {
763 return NDR_ERR_SUCCESS
;
766 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
768 if (ndr_flags
& NDR_SCALARS
) {
769 NDR_CHECK(ndr_pull_align(ndr
, 8));
770 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
771 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
773 if (ndr_flags
& NDR_BUFFERS
) {
775 return NDR_ERR_SUCCESS
;
778 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
780 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
782 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
783 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
787 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
789 uint32_t cntr_cursors_0
;
790 if (ndr_flags
& NDR_SCALARS
) {
791 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
792 NDR_CHECK(ndr_push_align(ndr
, 8));
793 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
794 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
795 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
796 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
797 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
798 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
801 if (ndr_flags
& NDR_BUFFERS
) {
803 return NDR_ERR_SUCCESS
;
806 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
808 uint32_t size_cursors_0
= 0;
809 uint32_t cntr_cursors_0
;
810 TALLOC_CTX
*_mem_save_cursors_0
;
811 if (ndr_flags
& NDR_SCALARS
) {
812 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
813 NDR_CHECK(ndr_pull_align(ndr
, 8));
814 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
815 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
816 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
817 if (r
->count
> 0x100000) {
818 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
820 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
821 size_cursors_0
= ndr_get_array_size(ndr
, &r
->cursors
);
822 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, size_cursors_0
);
823 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
824 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
825 for (cntr_cursors_0
= 0; cntr_cursors_0
< size_cursors_0
; cntr_cursors_0
++) {
826 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
828 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
830 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
833 if (ndr_flags
& NDR_BUFFERS
) {
835 return NDR_ERR_SUCCESS
;
838 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
840 uint32_t cntr_cursors_0
;
841 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
843 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
844 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
845 ndr_print_uint32(ndr
, "count", r
->count
);
846 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
847 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
849 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
851 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
852 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
860 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
862 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
863 return NDR_ERR_SUCCESS
;
866 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
869 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
871 return NDR_ERR_SUCCESS
;
874 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
876 ndr_print_uint32(ndr
, name
, r
);
878 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE
, r
);
879 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
, r
);
880 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS
, r
);
881 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT", DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT
, r
);
882 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC
, r
);
883 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS
, r
);
884 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS
, r
);
885 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET
, r
);
886 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED
, r
);
887 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED
, r
);
888 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS
, r
);
889 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC
, r
);
890 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES
, r
);
891 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS
, r
);
892 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET
, r
);
896 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
899 uint32_t _flags_save_ENUM
= ndr
->flags
;
900 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
902 ndr
->flags
= _flags_save_ENUM
;
904 return NDR_ERR_SUCCESS
;
907 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
911 uint32_t _flags_save_ENUM
= ndr
->flags
;
912 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
913 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
915 ndr
->flags
= _flags_save_ENUM
;
917 return NDR_ERR_SUCCESS
;
920 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
922 const char *val
= NULL
;
925 uint32_t _flags_save_ENUM
= ndr
->flags
;
926 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
928 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
929 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
930 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
931 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
932 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
933 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
934 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
935 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
937 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
938 ndr
->flags
= _flags_save_ENUM
;
942 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError r
)
945 uint32_t _flags_save_ENUM
= ndr
->flags
;
946 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
947 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
948 ndr
->flags
= _flags_save_ENUM
;
950 return NDR_ERR_SUCCESS
;
953 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*r
)
957 uint32_t _flags_save_ENUM
= ndr
->flags
;
958 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
959 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
961 ndr
->flags
= _flags_save_ENUM
;
963 return NDR_ERR_SUCCESS
;
966 _PUBLIC_
void ndr_print_drsuapi_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError r
)
968 const char *val
= NULL
;
971 uint32_t _flags_save_ENUM
= ndr
->flags
;
972 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
974 case DRSUAPI_EXOP_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
975 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
976 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
977 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
978 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
979 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
980 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
981 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
982 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
983 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
984 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
985 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
986 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
987 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
988 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
989 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
990 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
992 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
993 ndr
->flags
= _flags_save_ENUM
;
997 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
999 if (ndr_flags
& NDR_SCALARS
) {
1000 NDR_CHECK(ndr_push_align(ndr
, 8));
1001 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1002 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1003 if (r
->naming_context
== NULL
) {
1004 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1006 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1007 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1008 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1009 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1010 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1011 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1012 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1013 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1015 if (ndr_flags
& NDR_BUFFERS
) {
1016 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1017 if (r
->uptodateness_vector
) {
1018 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1021 return NDR_ERR_SUCCESS
;
1024 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1026 uint32_t _ptr_naming_context
;
1027 TALLOC_CTX
*_mem_save_naming_context_0
;
1028 uint32_t _ptr_uptodateness_vector
;
1029 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1030 if (ndr_flags
& NDR_SCALARS
) {
1031 NDR_CHECK(ndr_pull_align(ndr
, 8));
1032 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1033 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1034 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1035 if (_ptr_naming_context
) {
1036 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1038 r
->naming_context
= NULL
;
1040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1041 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1042 if (_ptr_uptodateness_vector
) {
1043 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1045 r
->uptodateness_vector
= NULL
;
1047 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1048 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1049 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1050 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1051 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1053 if (ndr_flags
& NDR_BUFFERS
) {
1054 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1055 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1056 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1057 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1058 if (r
->uptodateness_vector
) {
1059 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1060 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1061 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1062 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1065 return NDR_ERR_SUCCESS
;
1068 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1070 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1072 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1073 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1074 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1076 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1078 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1079 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1081 if (r
->uptodateness_vector
) {
1082 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1085 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1086 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1087 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1088 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1089 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1093 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOID(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOID
*r
)
1095 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOID");
1097 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaOID_oid(r
->oid
, 0):r
->__ndr_size
);
1098 ndr_print_ptr(ndr
, "oid", r
->oid
);
1101 ndr_print_string(ndr
, "oid", r
->oid
);
1107 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1109 if (ndr_flags
& NDR_SCALARS
) {
1110 NDR_CHECK(ndr_push_align(ndr
, 4));
1111 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1112 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1114 if (ndr_flags
& NDR_BUFFERS
) {
1115 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1117 return NDR_ERR_SUCCESS
;
1120 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1122 if (ndr_flags
& NDR_SCALARS
) {
1123 NDR_CHECK(ndr_pull_align(ndr
, 4));
1124 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1125 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1127 if (ndr_flags
& NDR_BUFFERS
) {
1128 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1130 return NDR_ERR_SUCCESS
;
1133 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1135 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1137 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1138 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1142 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1144 uint32_t cntr_mappings_1
;
1145 if (ndr_flags
& NDR_SCALARS
) {
1146 NDR_CHECK(ndr_push_align(ndr
, 4));
1147 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1148 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1150 if (ndr_flags
& NDR_BUFFERS
) {
1152 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1153 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1154 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1156 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1157 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1161 return NDR_ERR_SUCCESS
;
1164 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1166 uint32_t _ptr_mappings
;
1167 uint32_t size_mappings_1
= 0;
1168 uint32_t cntr_mappings_1
;
1169 TALLOC_CTX
*_mem_save_mappings_0
;
1170 TALLOC_CTX
*_mem_save_mappings_1
;
1171 if (ndr_flags
& NDR_SCALARS
) {
1172 NDR_CHECK(ndr_pull_align(ndr
, 4));
1173 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1174 if (r
->num_mappings
> 0x100000) {
1175 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1177 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1178 if (_ptr_mappings
) {
1179 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1184 if (ndr_flags
& NDR_BUFFERS
) {
1186 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1187 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1188 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1189 size_mappings_1
= ndr_get_array_size(ndr
, &r
->mappings
);
1190 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, size_mappings_1
);
1191 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1192 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1193 for (cntr_mappings_1
= 0; cntr_mappings_1
< size_mappings_1
; cntr_mappings_1
++) {
1194 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1196 for (cntr_mappings_1
= 0; cntr_mappings_1
< size_mappings_1
; cntr_mappings_1
++) {
1197 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1199 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1200 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1203 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1206 return NDR_ERR_SUCCESS
;
1209 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1211 uint32_t cntr_mappings_1
;
1212 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1214 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1215 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1218 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1220 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1222 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1223 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1233 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1236 uint32_t _flags_save_ENUM
= ndr
->flags
;
1237 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1238 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1239 ndr
->flags
= _flags_save_ENUM
;
1241 return NDR_ERR_SUCCESS
;
1244 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1248 uint32_t _flags_save_ENUM
= ndr
->flags
;
1249 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1252 ndr
->flags
= _flags_save_ENUM
;
1254 return NDR_ERR_SUCCESS
;
1257 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1259 const char *val
= NULL
;
1262 uint32_t _flags_save_ENUM
= ndr
->flags
;
1263 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1265 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1266 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1267 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1268 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1269 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1270 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1271 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1272 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1273 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1274 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1275 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1276 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1277 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1278 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1279 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1280 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1281 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1282 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1283 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1284 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1285 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1286 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1287 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1288 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1289 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1290 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1291 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1292 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1293 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1294 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1295 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1296 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1297 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1298 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1299 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1300 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1301 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1302 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1303 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1304 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1305 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1306 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1307 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1308 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1309 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1310 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1311 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1312 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1313 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1314 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1315 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1316 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1317 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1318 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1319 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1320 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1321 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1322 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1323 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1324 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1325 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1327 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1328 ndr
->flags
= _flags_save_ENUM
;
1332 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1334 uint32_t cntr_attids_0
;
1335 if (ndr_flags
& NDR_SCALARS
) {
1336 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1337 NDR_CHECK(ndr_push_align(ndr
, 4));
1338 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1339 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1340 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1341 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1342 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1345 if (ndr_flags
& NDR_BUFFERS
) {
1347 return NDR_ERR_SUCCESS
;
1350 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1352 uint32_t size_attids_0
= 0;
1353 uint32_t cntr_attids_0
;
1354 TALLOC_CTX
*_mem_save_attids_0
;
1355 if (ndr_flags
& NDR_SCALARS
) {
1356 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1357 NDR_CHECK(ndr_pull_align(ndr
, 4));
1358 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1359 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1360 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1361 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1362 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1364 size_attids_0
= ndr_get_array_size(ndr
, &r
->attids
);
1365 NDR_PULL_ALLOC_N(ndr
, r
->attids
, size_attids_0
);
1366 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1367 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1368 for (cntr_attids_0
= 0; cntr_attids_0
< size_attids_0
; cntr_attids_0
++) {
1369 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1371 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1373 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1376 if (ndr_flags
& NDR_BUFFERS
) {
1378 return NDR_ERR_SUCCESS
;
1381 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1383 uint32_t cntr_attids_0
;
1384 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1386 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1387 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1388 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1389 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1391 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1393 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1394 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1402 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1404 if (ndr_flags
& NDR_SCALARS
) {
1405 NDR_CHECK(ndr_push_align(ndr
, 8));
1406 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1407 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1408 if (r
->naming_context
== NULL
) {
1409 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1411 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1412 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1413 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1414 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1415 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1416 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1417 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1418 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1419 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1420 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1421 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1423 if (ndr_flags
& NDR_BUFFERS
) {
1424 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1425 if (r
->uptodateness_vector
) {
1426 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1428 if (r
->partial_attribute_set
) {
1429 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1431 if (r
->partial_attribute_set_ex
) {
1432 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1434 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1436 return NDR_ERR_SUCCESS
;
1439 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1441 uint32_t _ptr_naming_context
;
1442 TALLOC_CTX
*_mem_save_naming_context_0
;
1443 uint32_t _ptr_uptodateness_vector
;
1444 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1445 uint32_t _ptr_partial_attribute_set
;
1446 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1447 uint32_t _ptr_partial_attribute_set_ex
;
1448 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1449 if (ndr_flags
& NDR_SCALARS
) {
1450 NDR_CHECK(ndr_pull_align(ndr
, 8));
1451 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1452 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1453 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1454 if (_ptr_naming_context
) {
1455 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1457 r
->naming_context
= NULL
;
1459 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1460 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1461 if (_ptr_uptodateness_vector
) {
1462 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1464 r
->uptodateness_vector
= NULL
;
1466 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1467 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1468 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1469 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1470 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1471 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1472 if (_ptr_partial_attribute_set
) {
1473 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1475 r
->partial_attribute_set
= NULL
;
1477 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1478 if (_ptr_partial_attribute_set_ex
) {
1479 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1481 r
->partial_attribute_set_ex
= NULL
;
1483 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1485 if (ndr_flags
& NDR_BUFFERS
) {
1486 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1487 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1488 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1489 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1490 if (r
->uptodateness_vector
) {
1491 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1492 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1493 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1494 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1496 if (r
->partial_attribute_set
) {
1497 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1498 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1499 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1500 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1502 if (r
->partial_attribute_set_ex
) {
1503 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1504 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1505 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1506 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1508 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1510 return NDR_ERR_SUCCESS
;
1513 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1515 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1517 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1518 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1519 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1521 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1523 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1524 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1526 if (r
->uptodateness_vector
) {
1527 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1530 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1531 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1532 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1533 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1534 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1535 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1537 if (r
->partial_attribute_set
) {
1538 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1541 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1543 if (r
->partial_attribute_set_ex
) {
1544 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1547 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1551 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1553 if (ndr_flags
& NDR_SCALARS
) {
1554 int level
= ndr_push_get_switch_value(ndr
, r
);
1555 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
1558 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1562 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1566 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1569 if (ndr_flags
& NDR_BUFFERS
) {
1570 int level
= ndr_push_get_switch_value(ndr
, r
);
1573 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1577 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1581 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1584 return NDR_ERR_SUCCESS
;
1587 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1591 level
= ndr_pull_get_switch_value(ndr
, r
);
1592 if (ndr_flags
& NDR_SCALARS
) {
1593 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
1594 if (_level
!= level
) {
1595 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1599 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1603 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1607 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1610 if (ndr_flags
& NDR_BUFFERS
) {
1613 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1617 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1621 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1624 return NDR_ERR_SUCCESS
;
1627 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1630 level
= ndr_print_get_switch_value(ndr
, r
);
1631 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1634 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1638 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1642 ndr_print_bad_level(ndr
, name
, level
);
1646 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1648 if (ndr_flags
& NDR_SCALARS
) {
1649 NDR_CHECK(ndr_push_align(ndr
, 8));
1650 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1651 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1652 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1654 if (ndr_flags
& NDR_BUFFERS
) {
1656 return NDR_ERR_SUCCESS
;
1659 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1661 if (ndr_flags
& NDR_SCALARS
) {
1662 NDR_CHECK(ndr_pull_align(ndr
, 8));
1663 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1664 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1665 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1667 if (ndr_flags
& NDR_BUFFERS
) {
1669 return NDR_ERR_SUCCESS
;
1672 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1674 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1676 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1677 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1678 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1682 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1684 uint32_t cntr_cursors_0
;
1685 if (ndr_flags
& NDR_SCALARS
) {
1686 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1687 NDR_CHECK(ndr_push_align(ndr
, 8));
1688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1689 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1692 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1693 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1696 if (ndr_flags
& NDR_BUFFERS
) {
1698 return NDR_ERR_SUCCESS
;
1701 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1703 uint32_t size_cursors_0
= 0;
1704 uint32_t cntr_cursors_0
;
1705 TALLOC_CTX
*_mem_save_cursors_0
;
1706 if (ndr_flags
& NDR_SCALARS
) {
1707 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
1708 NDR_CHECK(ndr_pull_align(ndr
, 8));
1709 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1710 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1711 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1712 if (r
->count
> 0x100000) {
1713 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1715 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
1716 size_cursors_0
= ndr_get_array_size(ndr
, &r
->cursors
);
1717 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, size_cursors_0
);
1718 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1719 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
1720 for (cntr_cursors_0
= 0; cntr_cursors_0
< size_cursors_0
; cntr_cursors_0
++) {
1721 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1723 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
1725 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
1728 if (ndr_flags
& NDR_BUFFERS
) {
1730 return NDR_ERR_SUCCESS
;
1733 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1735 uint32_t cntr_cursors_0
;
1736 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
1738 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
1739 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1740 ndr_print_uint32(ndr
, "count", r
->count
);
1741 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1742 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
1744 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
1746 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
1747 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
1755 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
1757 if (ndr_flags
& NDR_SCALARS
) {
1758 NDR_CHECK(ndr_push_align(ndr
, 4));
1759 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
1760 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
1762 if (ndr_flags
& NDR_BUFFERS
) {
1764 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
1767 return NDR_ERR_SUCCESS
;
1770 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
1773 TALLOC_CTX
*_mem_save_blob_0
;
1774 if (ndr_flags
& NDR_SCALARS
) {
1775 NDR_CHECK(ndr_pull_align(ndr
, 4));
1776 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1777 if (r
->__ndr_size
> 10485760) {
1778 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1780 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
1782 NDR_PULL_ALLOC(ndr
, r
->blob
);
1787 if (ndr_flags
& NDR_BUFFERS
) {
1789 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1790 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
1791 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
1792 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
1795 return NDR_ERR_SUCCESS
;
1798 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
1800 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
1802 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
1803 ndr_print_ptr(ndr
, "blob", r
->blob
);
1806 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
1812 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
1814 uint32_t cntr_values_1
;
1815 if (ndr_flags
& NDR_SCALARS
) {
1816 NDR_CHECK(ndr_push_align(ndr
, 4));
1817 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
1818 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
1820 if (ndr_flags
& NDR_BUFFERS
) {
1822 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
1823 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
1824 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
1826 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
1827 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
1831 return NDR_ERR_SUCCESS
;
1834 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
1836 uint32_t _ptr_values
;
1837 uint32_t size_values_1
= 0;
1838 uint32_t cntr_values_1
;
1839 TALLOC_CTX
*_mem_save_values_0
;
1840 TALLOC_CTX
*_mem_save_values_1
;
1841 if (ndr_flags
& NDR_SCALARS
) {
1842 NDR_CHECK(ndr_pull_align(ndr
, 4));
1843 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
1844 if (r
->num_values
> 10485760) {
1845 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1847 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
1849 NDR_PULL_ALLOC(ndr
, r
->values
);
1854 if (ndr_flags
& NDR_BUFFERS
) {
1856 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1857 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
1858 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
1859 size_values_1
= ndr_get_array_size(ndr
, &r
->values
);
1860 NDR_PULL_ALLOC_N(ndr
, r
->values
, size_values_1
);
1861 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1862 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
1863 for (cntr_values_1
= 0; cntr_values_1
< size_values_1
; cntr_values_1
++) {
1864 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
1866 for (cntr_values_1
= 0; cntr_values_1
< size_values_1
; cntr_values_1
++) {
1867 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
1869 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
1870 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
1873 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
1876 return NDR_ERR_SUCCESS
;
1879 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
1881 uint32_t cntr_values_1
;
1882 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
1884 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
1885 ndr_print_ptr(ndr
, "values", r
->values
);
1888 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
1890 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
1892 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
1893 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
1903 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
1905 if (ndr_flags
& NDR_SCALARS
) {
1906 NDR_CHECK(ndr_push_align(ndr
, 4));
1907 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
1908 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
1909 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
1910 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
1911 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
1912 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
1914 if (ndr_flags
& NDR_BUFFERS
) {
1915 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
1917 return NDR_ERR_SUCCESS
;
1920 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
1922 uint32_t size_dn_0
= 0;
1923 if (ndr_flags
& NDR_SCALARS
) {
1924 NDR_CHECK(ndr_pull_align(ndr
, 4));
1925 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1926 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
1927 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
1928 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
1929 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
1930 size_dn_0
= r
->__ndr_size_dn
+ 1;
1931 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, size_dn_0
, sizeof(uint16_t), CH_UTF16
));
1933 if (ndr_flags
& NDR_BUFFERS
) {
1934 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
1936 return NDR_ERR_SUCCESS
;
1939 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
1941 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
1943 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
1944 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
);
1945 ndr_print_GUID(ndr
, "guid", &r
->guid
);
1946 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
1947 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
1948 ndr_print_string(ndr
, "dn", r
->dn
);
1952 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1954 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
1957 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
1959 if (ndr_flags
& NDR_SCALARS
) {
1960 NDR_CHECK(ndr_push_align(ndr
, 4));
1961 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
1962 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
1963 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
1964 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
1965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
1966 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
1967 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
1969 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1970 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1971 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
1972 ndr
->flags
= _flags_save_DATA_BLOB
;
1975 if (ndr_flags
& NDR_BUFFERS
) {
1976 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
1978 return NDR_ERR_SUCCESS
;
1981 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
1983 uint32_t size_dn_0
= 0;
1984 if (ndr_flags
& NDR_SCALARS
) {
1985 NDR_CHECK(ndr_pull_align(ndr
, 4));
1986 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1987 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
1988 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
1989 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
1990 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
1991 size_dn_0
= r
->__ndr_size_dn
+ 1;
1992 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, size_dn_0
, sizeof(uint16_t), CH_UTF16
));
1993 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
1995 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1996 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1997 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
1998 ndr
->flags
= _flags_save_DATA_BLOB
;
2001 if (ndr_flags
& NDR_BUFFERS
) {
2002 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2004 return NDR_ERR_SUCCESS
;
2007 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2009 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2011 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
2012 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
);
2013 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2014 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2015 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2016 ndr_print_string(ndr
, "dn", r
->dn
);
2017 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2018 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2022 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2024 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary
, ic
);
2027 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2029 if (ndr_flags
& NDR_SCALARS
) {
2030 NDR_CHECK(ndr_push_align(ndr
, 4));
2031 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2032 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2034 if (ndr_flags
& NDR_BUFFERS
) {
2035 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2037 return NDR_ERR_SUCCESS
;
2040 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2042 if (ndr_flags
& NDR_SCALARS
) {
2043 NDR_CHECK(ndr_pull_align(ndr
, 4));
2044 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2045 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2047 if (ndr_flags
& NDR_BUFFERS
) {
2048 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2050 return NDR_ERR_SUCCESS
;
2053 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2055 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2057 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2058 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2062 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2064 uint32_t cntr_attributes_1
;
2065 if (ndr_flags
& NDR_SCALARS
) {
2066 NDR_CHECK(ndr_push_align(ndr
, 4));
2067 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2068 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2070 if (ndr_flags
& NDR_BUFFERS
) {
2071 if (r
->attributes
) {
2072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2073 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2074 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2076 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2077 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2081 return NDR_ERR_SUCCESS
;
2084 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2086 uint32_t _ptr_attributes
;
2087 uint32_t size_attributes_1
= 0;
2088 uint32_t cntr_attributes_1
;
2089 TALLOC_CTX
*_mem_save_attributes_0
;
2090 TALLOC_CTX
*_mem_save_attributes_1
;
2091 if (ndr_flags
& NDR_SCALARS
) {
2092 NDR_CHECK(ndr_pull_align(ndr
, 4));
2093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2094 if (r
->num_attributes
> 1048576) {
2095 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2097 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2098 if (_ptr_attributes
) {
2099 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2101 r
->attributes
= NULL
;
2104 if (ndr_flags
& NDR_BUFFERS
) {
2105 if (r
->attributes
) {
2106 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2107 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2108 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2109 size_attributes_1
= ndr_get_array_size(ndr
, &r
->attributes
);
2110 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, size_attributes_1
);
2111 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2112 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2113 for (cntr_attributes_1
= 0; cntr_attributes_1
< size_attributes_1
; cntr_attributes_1
++) {
2114 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2116 for (cntr_attributes_1
= 0; cntr_attributes_1
< size_attributes_1
; cntr_attributes_1
++) {
2117 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2120 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2122 if (r
->attributes
) {
2123 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2126 return NDR_ERR_SUCCESS
;
2129 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2131 uint32_t cntr_attributes_1
;
2132 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2134 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2135 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2137 if (r
->attributes
) {
2138 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2140 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2142 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2143 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2153 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2155 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2156 return NDR_ERR_SUCCESS
;
2159 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2162 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2164 return NDR_ERR_SUCCESS
;
2167 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2169 ndr_print_uint32(ndr
, name
, r
);
2171 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2172 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2173 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2177 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2179 if (ndr_flags
& NDR_SCALARS
) {
2180 NDR_CHECK(ndr_push_align(ndr
, 4));
2181 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2182 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2183 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2185 if (ndr_flags
& NDR_BUFFERS
) {
2186 if (r
->identifier
) {
2187 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2189 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2191 return NDR_ERR_SUCCESS
;
2194 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2196 uint32_t _ptr_identifier
;
2197 TALLOC_CTX
*_mem_save_identifier_0
;
2198 if (ndr_flags
& NDR_SCALARS
) {
2199 NDR_CHECK(ndr_pull_align(ndr
, 4));
2200 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2201 if (_ptr_identifier
) {
2202 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2204 r
->identifier
= NULL
;
2206 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2209 if (ndr_flags
& NDR_BUFFERS
) {
2210 if (r
->identifier
) {
2211 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2212 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2214 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2216 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2218 return NDR_ERR_SUCCESS
;
2221 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2223 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2225 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2227 if (r
->identifier
) {
2228 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2231 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2232 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2236 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2238 if (ndr_flags
& NDR_SCALARS
) {
2239 NDR_CHECK(ndr_push_align(ndr
, 8));
2240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2241 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2242 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2243 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2245 if (ndr_flags
& NDR_BUFFERS
) {
2247 return NDR_ERR_SUCCESS
;
2250 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2252 if (ndr_flags
& NDR_SCALARS
) {
2253 NDR_CHECK(ndr_pull_align(ndr
, 8));
2254 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2255 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2256 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2257 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2259 if (ndr_flags
& NDR_BUFFERS
) {
2261 return NDR_ERR_SUCCESS
;
2264 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2266 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2268 ndr_print_uint32(ndr
, "version", r
->version
);
2269 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2270 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2271 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2275 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2277 uint32_t cntr_meta_data_0
;
2278 if (ndr_flags
& NDR_SCALARS
) {
2279 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2280 NDR_CHECK(ndr_push_align(ndr
, 8));
2281 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2282 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2283 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2286 if (ndr_flags
& NDR_BUFFERS
) {
2288 return NDR_ERR_SUCCESS
;
2291 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2293 uint32_t size_meta_data_0
= 0;
2294 uint32_t cntr_meta_data_0
;
2295 TALLOC_CTX
*_mem_save_meta_data_0
;
2296 if (ndr_flags
& NDR_SCALARS
) {
2297 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2298 NDR_CHECK(ndr_pull_align(ndr
, 8));
2299 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2300 if (r
->count
> 1048576) {
2301 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2303 size_meta_data_0
= ndr_get_array_size(ndr
, &r
->meta_data
);
2304 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, size_meta_data_0
);
2305 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2306 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2307 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< size_meta_data_0
; cntr_meta_data_0
++) {
2308 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2312 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2315 if (ndr_flags
& NDR_BUFFERS
) {
2317 return NDR_ERR_SUCCESS
;
2320 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2322 uint32_t cntr_meta_data_0
;
2323 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2325 ndr_print_uint32(ndr
, "count", r
->count
);
2326 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2328 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2330 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2331 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2339 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2341 if (ndr_flags
& NDR_SCALARS
) {
2342 NDR_CHECK(ndr_push_align(ndr
, 4));
2343 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2344 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2345 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2346 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2347 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2349 if (ndr_flags
& NDR_BUFFERS
) {
2350 if (r
->next_object
) {
2351 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2353 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2354 if (r
->parent_object_guid
) {
2355 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2357 if (r
->meta_data_ctr
) {
2358 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2361 return NDR_ERR_SUCCESS
;
2364 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2366 uint32_t _ptr_next_object
;
2367 TALLOC_CTX
*_mem_save_next_object_0
;
2368 uint32_t _ptr_parent_object_guid
;
2369 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2370 uint32_t _ptr_meta_data_ctr
;
2371 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2372 if (ndr_flags
& NDR_SCALARS
) {
2373 NDR_CHECK(ndr_pull_align(ndr
, 4));
2374 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2375 if (_ptr_next_object
) {
2376 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2378 r
->next_object
= NULL
;
2380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2381 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2382 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2383 if (_ptr_parent_object_guid
) {
2384 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2386 r
->parent_object_guid
= NULL
;
2388 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2389 if (_ptr_meta_data_ctr
) {
2390 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2392 r
->meta_data_ctr
= NULL
;
2395 if (ndr_flags
& NDR_BUFFERS
) {
2396 if (r
->next_object
) {
2397 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2398 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2399 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2400 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2402 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2403 if (r
->parent_object_guid
) {
2404 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2405 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2406 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2407 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2409 if (r
->meta_data_ctr
) {
2410 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2411 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2412 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2416 return NDR_ERR_SUCCESS
;
2419 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2421 if (ndr_flags
& NDR_SCALARS
) {
2422 NDR_CHECK(ndr_push_align(ndr
, 8));
2423 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2424 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2425 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2426 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2427 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2428 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2429 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2430 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2432 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2433 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2434 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2436 if (ndr_flags
& NDR_BUFFERS
) {
2437 if (r
->naming_context
) {
2438 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2440 if (r
->uptodateness_vector
) {
2441 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2443 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2444 if (r
->first_object
) {
2445 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2448 return NDR_ERR_SUCCESS
;
2451 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2453 uint32_t _ptr_naming_context
;
2454 TALLOC_CTX
*_mem_save_naming_context_0
;
2455 uint32_t _ptr_uptodateness_vector
;
2456 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2457 uint32_t _ptr_first_object
;
2458 TALLOC_CTX
*_mem_save_first_object_0
;
2459 if (ndr_flags
& NDR_SCALARS
) {
2460 NDR_CHECK(ndr_pull_align(ndr
, 8));
2461 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2462 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2463 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2464 if (_ptr_naming_context
) {
2465 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2467 r
->naming_context
= NULL
;
2469 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2470 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2471 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2472 if (_ptr_uptodateness_vector
) {
2473 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2475 r
->uptodateness_vector
= NULL
;
2477 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2478 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2479 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2480 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2481 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2482 if (_ptr_first_object
) {
2483 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2485 r
->first_object
= NULL
;
2487 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2489 if (ndr_flags
& NDR_BUFFERS
) {
2490 if (r
->naming_context
) {
2491 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2492 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2493 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2494 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2496 if (r
->uptodateness_vector
) {
2497 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2498 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2499 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2500 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2502 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2503 if (r
->first_object
) {
2504 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2505 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2507 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2510 return NDR_ERR_SUCCESS
;
2513 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2515 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2517 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2518 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2519 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2521 if (r
->naming_context
) {
2522 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2525 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2526 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2527 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2529 if (r
->uptodateness_vector
) {
2530 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2533 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2534 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2535 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2536 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55:r
->__ndr_size
);
2537 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2539 if (r
->first_object
) {
2540 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2543 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2547 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2549 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2552 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2554 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2555 return NDR_ERR_SUCCESS
;
2558 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2561 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2563 return NDR_ERR_SUCCESS
;
2566 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2568 ndr_print_uint32(ndr
, name
, r
);
2570 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2574 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2576 if (ndr_flags
& NDR_SCALARS
) {
2577 NDR_CHECK(ndr_push_align(ndr
, 8));
2578 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2579 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2580 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2581 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2582 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2583 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2585 if (ndr_flags
& NDR_BUFFERS
) {
2586 if (r
->identifier
) {
2587 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2589 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2591 return NDR_ERR_SUCCESS
;
2594 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2596 uint32_t _ptr_identifier
;
2597 TALLOC_CTX
*_mem_save_identifier_0
;
2598 if (ndr_flags
& NDR_SCALARS
) {
2599 NDR_CHECK(ndr_pull_align(ndr
, 8));
2600 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2601 if (_ptr_identifier
) {
2602 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2604 r
->identifier
= NULL
;
2606 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2607 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2608 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2609 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2612 if (ndr_flags
& NDR_BUFFERS
) {
2613 if (r
->identifier
) {
2614 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2615 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2617 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2619 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2621 return NDR_ERR_SUCCESS
;
2624 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2626 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2628 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2630 if (r
->identifier
) {
2631 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2634 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2635 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2636 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2637 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2638 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2642 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2644 uint32_t cntr_linked_attributes_1
;
2645 if (ndr_flags
& NDR_SCALARS
) {
2646 NDR_CHECK(ndr_push_align(ndr
, 8));
2647 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2648 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2649 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2650 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2651 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2652 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2653 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2654 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2655 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2656 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2657 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2658 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2659 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2660 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2661 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2662 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2663 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2665 if (ndr_flags
& NDR_BUFFERS
) {
2666 if (r
->naming_context
) {
2667 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2669 if (r
->uptodateness_vector
) {
2670 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2672 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2673 if (r
->first_object
) {
2674 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2676 if (r
->linked_attributes
) {
2677 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2678 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2679 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2681 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2682 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2686 return NDR_ERR_SUCCESS
;
2689 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
2691 uint32_t _ptr_naming_context
;
2692 TALLOC_CTX
*_mem_save_naming_context_0
;
2693 uint32_t _ptr_uptodateness_vector
;
2694 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2695 uint32_t _ptr_first_object
;
2696 TALLOC_CTX
*_mem_save_first_object_0
;
2697 uint32_t _ptr_linked_attributes
;
2698 uint32_t size_linked_attributes_1
= 0;
2699 uint32_t cntr_linked_attributes_1
;
2700 TALLOC_CTX
*_mem_save_linked_attributes_0
;
2701 TALLOC_CTX
*_mem_save_linked_attributes_1
;
2702 if (ndr_flags
& NDR_SCALARS
) {
2703 NDR_CHECK(ndr_pull_align(ndr
, 8));
2704 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2705 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2706 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2707 if (_ptr_naming_context
) {
2708 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2710 r
->naming_context
= NULL
;
2712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2714 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2715 if (_ptr_uptodateness_vector
) {
2716 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2718 r
->uptodateness_vector
= NULL
;
2720 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2721 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2723 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2724 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2725 if (_ptr_first_object
) {
2726 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2728 r
->first_object
= NULL
;
2730 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2731 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
2732 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
2733 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
2734 if (r
->linked_attributes_count
> 1048576) {
2735 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2737 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
2738 if (_ptr_linked_attributes
) {
2739 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
2741 r
->linked_attributes
= NULL
;
2743 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
2745 if (ndr_flags
& NDR_BUFFERS
) {
2746 if (r
->naming_context
) {
2747 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2748 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2752 if (r
->uptodateness_vector
) {
2753 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2754 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2756 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2758 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2759 if (r
->first_object
) {
2760 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2761 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2763 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2765 if (r
->linked_attributes
) {
2766 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2767 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
2768 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
2769 size_linked_attributes_1
= ndr_get_array_size(ndr
, &r
->linked_attributes
);
2770 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, size_linked_attributes_1
);
2771 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2772 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
2773 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< size_linked_attributes_1
; cntr_linked_attributes_1
++) {
2774 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2776 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< size_linked_attributes_1
; cntr_linked_attributes_1
++) {
2777 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2779 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
2780 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
2782 if (r
->linked_attributes
) {
2783 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
2786 return NDR_ERR_SUCCESS
;
2789 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2791 uint32_t cntr_linked_attributes_1
;
2792 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
2794 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2795 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2796 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2798 if (r
->naming_context
) {
2799 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2802 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2803 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2804 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2806 if (r
->uptodateness_vector
) {
2807 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2810 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2811 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2812 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2813 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55:r
->__ndr_size
);
2814 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2816 if (r
->first_object
) {
2817 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2820 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2821 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
2822 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
2823 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
2824 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
2826 if (r
->linked_attributes
) {
2827 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
2829 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
2831 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
2832 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
2839 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
2843 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2845 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
2848 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
2850 if (ndr_flags
& NDR_SCALARS
) {
2851 NDR_CHECK(ndr_push_align(ndr
, 1));
2853 struct ndr_push
*_ndr_ctr1
;
2854 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
2855 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
2856 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
2859 if (ndr_flags
& NDR_BUFFERS
) {
2861 return NDR_ERR_SUCCESS
;
2864 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
2866 if (ndr_flags
& NDR_SCALARS
) {
2867 NDR_CHECK(ndr_pull_align(ndr
, 1));
2869 struct ndr_pull
*_ndr_ctr1
;
2870 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
2871 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
2872 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
2875 if (ndr_flags
& NDR_BUFFERS
) {
2877 return NDR_ERR_SUCCESS
;
2880 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
2882 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
2884 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
2888 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
2890 if (ndr_flags
& NDR_SCALARS
) {
2891 NDR_CHECK(ndr_push_align(ndr
, 1));
2893 struct ndr_push
*_ndr_ctr6
;
2894 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
2895 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
2896 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
2899 if (ndr_flags
& NDR_BUFFERS
) {
2901 return NDR_ERR_SUCCESS
;
2904 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
2906 if (ndr_flags
& NDR_SCALARS
) {
2907 NDR_CHECK(ndr_pull_align(ndr
, 1));
2909 struct ndr_pull
*_ndr_ctr6
;
2910 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
2911 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
2912 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
2915 if (ndr_flags
& NDR_BUFFERS
) {
2917 return NDR_ERR_SUCCESS
;
2920 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
2922 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
2924 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
2928 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
2931 TALLOC_CTX
*_mem_save_ts_0
;
2932 if (ndr_flags
& NDR_SCALARS
) {
2933 NDR_CHECK(ndr_pull_align(ndr
, 4));
2934 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
2935 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
2936 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
2938 NDR_PULL_ALLOC(ndr
, r
->ts
);
2943 if (ndr_flags
& NDR_BUFFERS
) {
2945 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2946 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
2948 struct ndr_pull
*_ndr_ts
;
2949 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
2951 struct ndr_pull
*_ndr_ts_compressed
;
2952 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
2953 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
2954 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
2956 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
2958 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
2961 return NDR_ERR_SUCCESS
;
2964 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
2966 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
2968 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
2969 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
2970 ndr_print_ptr(ndr
, "ts", r
->ts
);
2973 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
2979 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
2982 TALLOC_CTX
*_mem_save_ts_0
;
2983 if (ndr_flags
& NDR_SCALARS
) {
2984 NDR_CHECK(ndr_pull_align(ndr
, 4));
2985 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
2986 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
2987 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
2989 NDR_PULL_ALLOC(ndr
, r
->ts
);
2994 if (ndr_flags
& NDR_BUFFERS
) {
2996 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2997 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
2999 struct ndr_pull
*_ndr_ts
;
3000 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3002 struct ndr_pull
*_ndr_ts_compressed
;
3003 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3004 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3005 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3007 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3009 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3012 return NDR_ERR_SUCCESS
;
3015 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3017 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3019 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3020 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3021 ndr_print_ptr(ndr
, "ts", r
->ts
);
3024 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3030 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3033 TALLOC_CTX
*_mem_save_ts_0
;
3034 if (ndr_flags
& NDR_SCALARS
) {
3035 NDR_CHECK(ndr_pull_align(ndr
, 4));
3036 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3037 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3038 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3040 NDR_PULL_ALLOC(ndr
, r
->ts
);
3045 if (ndr_flags
& NDR_BUFFERS
) {
3047 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3048 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3050 struct ndr_pull
*_ndr_ts
;
3051 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3053 struct ndr_pull
*_ndr_ts_compressed
;
3054 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3055 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3056 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3058 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3060 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3063 return NDR_ERR_SUCCESS
;
3066 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3068 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3070 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3071 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3072 ndr_print_ptr(ndr
, "ts", r
->ts
);
3075 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3081 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3084 TALLOC_CTX
*_mem_save_ts_0
;
3085 if (ndr_flags
& NDR_SCALARS
) {
3086 NDR_CHECK(ndr_pull_align(ndr
, 4));
3087 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3088 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3089 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3091 NDR_PULL_ALLOC(ndr
, r
->ts
);
3096 if (ndr_flags
& NDR_BUFFERS
) {
3098 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3099 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3101 struct ndr_pull
*_ndr_ts
;
3102 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3104 struct ndr_pull
*_ndr_ts_compressed
;
3105 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3106 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3107 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3109 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3114 return NDR_ERR_SUCCESS
;
3117 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3119 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3121 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3122 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3123 ndr_print_ptr(ndr
, "ts", r
->ts
);
3126 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3132 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3134 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
3135 return NDR_ERR_SUCCESS
;
3138 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3141 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
3143 return NDR_ERR_SUCCESS
;
3146 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3148 const char *val
= NULL
;
3151 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3152 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3154 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3157 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3160 uint32_t _flags_save_UNION
= ndr
->flags
;
3161 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3162 if (ndr_flags
& NDR_SCALARS
) {
3163 int level
= ndr_push_get_switch_value(ndr
, r
);
3165 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3166 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3169 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3170 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3173 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3174 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3177 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3178 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3182 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3185 if (ndr_flags
& NDR_BUFFERS
) {
3186 int level
= ndr_push_get_switch_value(ndr
, r
);
3188 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3189 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3192 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3193 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3196 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3197 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3200 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3201 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3205 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3208 ndr
->flags
= _flags_save_UNION
;
3210 return NDR_ERR_SUCCESS
;
3213 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3217 uint32_t _flags_save_UNION
= ndr
->flags
;
3218 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3219 level
= ndr_pull_get_switch_value(ndr
, r
);
3220 if (ndr_flags
& NDR_SCALARS
) {
3222 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3223 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3226 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3227 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3230 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3231 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3234 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3235 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3239 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3242 if (ndr_flags
& NDR_BUFFERS
) {
3244 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3245 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3248 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3249 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3252 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3253 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3256 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3257 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3261 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3264 ndr
->flags
= _flags_save_UNION
;
3266 return NDR_ERR_SUCCESS
;
3269 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3273 uint32_t _flags_save_UNION
= ndr
->flags
;
3274 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3275 level
= ndr_print_get_switch_value(ndr
, r
);
3276 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3278 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3279 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3282 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3283 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3286 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3287 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3290 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3291 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3295 ndr_print_bad_level(ndr
, name
, level
);
3297 ndr
->flags
= _flags_save_UNION
;
3301 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3303 if (ndr_flags
& NDR_SCALARS
) {
3304 NDR_CHECK(ndr_push_align(ndr
, 4));
3305 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3307 if (ndr_flags
& NDR_BUFFERS
) {
3308 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3310 return NDR_ERR_SUCCESS
;
3313 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3315 if (ndr_flags
& NDR_SCALARS
) {
3316 NDR_CHECK(ndr_pull_align(ndr
, 4));
3317 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3319 if (ndr_flags
& NDR_BUFFERS
) {
3320 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3322 return NDR_ERR_SUCCESS
;
3325 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3327 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3329 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3333 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3335 if (ndr_flags
& NDR_SCALARS
) {
3336 NDR_CHECK(ndr_push_align(ndr
, 4));
3337 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
3338 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3339 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3340 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3342 if (ndr_flags
& NDR_BUFFERS
) {
3343 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3345 return NDR_ERR_SUCCESS
;
3348 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3350 if (ndr_flags
& NDR_SCALARS
) {
3351 NDR_CHECK(ndr_pull_align(ndr
, 4));
3352 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
3353 if (r
->level
< 0 || r
->level
> 6) {
3354 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3356 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3357 if (r
->type
< 2 || r
->type
> 3) {
3358 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3360 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3361 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3363 if (ndr_flags
& NDR_BUFFERS
) {
3364 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3366 return NDR_ERR_SUCCESS
;
3369 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3371 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3373 ndr_print_int32(ndr
, "level", r
->level
);
3374 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3375 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3376 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3380 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3382 if (ndr_flags
& NDR_SCALARS
) {
3383 int level
= ndr_push_get_switch_value(ndr
, r
);
3384 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3387 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3391 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3395 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3399 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3403 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3406 if (ndr_flags
& NDR_BUFFERS
) {
3407 int level
= ndr_push_get_switch_value(ndr
, r
);
3410 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3414 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3418 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3422 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3426 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3429 return NDR_ERR_SUCCESS
;
3432 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3436 level
= ndr_pull_get_switch_value(ndr
, r
);
3437 if (ndr_flags
& NDR_SCALARS
) {
3438 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3439 if (_level
!= level
) {
3440 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3444 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3448 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3452 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3456 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3460 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3463 if (ndr_flags
& NDR_BUFFERS
) {
3466 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3470 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3474 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3478 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3482 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3485 return NDR_ERR_SUCCESS
;
3488 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3491 level
= ndr_print_get_switch_value(ndr
, r
);
3492 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3495 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3499 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3503 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3507 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3511 ndr_print_bad_level(ndr
, name
, level
);
3515 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3517 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3518 return NDR_ERR_SUCCESS
;
3521 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3524 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3526 return NDR_ERR_SUCCESS
;
3529 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3531 ndr_print_uint32(ndr
, name
, r
);
3533 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION
, r
);
3534 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE
, r
);
3535 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE
, r
);
3536 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE
, r
);
3537 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_0x00000010", DRSUAPI_DS_REPLICA_UPDATE_0x00000010
, r
);
3541 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3543 if (ndr_flags
& NDR_SCALARS
) {
3544 NDR_CHECK(ndr_push_align(ndr
, 4));
3545 if (r
->naming_context
== NULL
) {
3546 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3548 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3549 if (r
->dest_dsa_dns_name
== NULL
) {
3550 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3552 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3553 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3554 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->options
));
3556 if (ndr_flags
& NDR_BUFFERS
) {
3557 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3558 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3559 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
3560 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3561 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
));
3563 return NDR_ERR_SUCCESS
;
3566 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3568 uint32_t _ptr_naming_context
;
3569 TALLOC_CTX
*_mem_save_naming_context_0
;
3570 uint32_t _ptr_dest_dsa_dns_name
;
3571 uint32_t size_dest_dsa_dns_name_1
= 0;
3572 uint32_t length_dest_dsa_dns_name_1
= 0;
3573 if (ndr_flags
& NDR_SCALARS
) {
3574 NDR_CHECK(ndr_pull_align(ndr
, 4));
3575 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3576 if (_ptr_naming_context
) {
3577 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3579 r
->naming_context
= NULL
;
3581 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3582 if (_ptr_dest_dsa_dns_name
) {
3583 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3585 r
->dest_dsa_dns_name
= NULL
;
3587 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3590 if (ndr_flags
& NDR_BUFFERS
) {
3591 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3592 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3594 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3595 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3596 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3597 size_dest_dsa_dns_name_1
= ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
);
3598 length_dest_dsa_dns_name_1
= ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
);
3599 if (length_dest_dsa_dns_name_1
> size_dest_dsa_dns_name_1
) {
3600 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
);
3602 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dest_dsa_dns_name_1
, sizeof(uint8_t)));
3603 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dest_dsa_dns_name
, length_dest_dsa_dns_name_1
, sizeof(uint8_t), CH_DOS
));
3605 return NDR_ERR_SUCCESS
;
3608 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3610 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3612 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3614 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3616 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3618 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3620 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3621 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "options", r
->options
);
3625 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3627 if (ndr_flags
& NDR_SCALARS
) {
3628 int level
= ndr_push_get_switch_value(ndr
, r
);
3629 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3632 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3636 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3639 if (ndr_flags
& NDR_BUFFERS
) {
3640 int level
= ndr_push_get_switch_value(ndr
, r
);
3643 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3647 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3650 return NDR_ERR_SUCCESS
;
3653 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3657 level
= ndr_pull_get_switch_value(ndr
, r
);
3658 if (ndr_flags
& NDR_SCALARS
) {
3659 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3660 if (_level
!= level
) {
3661 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3665 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3669 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3672 if (ndr_flags
& NDR_BUFFERS
) {
3675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3679 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3682 return NDR_ERR_SUCCESS
;
3685 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3688 level
= ndr_print_get_switch_value(ndr
, r
);
3689 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
3692 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
3696 ndr_print_bad_level(ndr
, name
, level
);
3700 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3702 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3703 return NDR_ERR_SUCCESS
;
3706 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3709 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3711 return NDR_ERR_SUCCESS
;
3714 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3716 ndr_print_uint32(ndr
, name
, r
);
3718 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
3719 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
3723 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3725 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3726 return NDR_ERR_SUCCESS
;
3729 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3732 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3734 return NDR_ERR_SUCCESS
;
3737 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3739 ndr_print_uint32(ndr
, name
, r
);
3741 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION
, r
);
3742 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_DELETE_WRITEABLE", DRSUAPI_DS_REPLICA_DELETE_WRITEABLE
, r
);
3746 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3748 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3749 return NDR_ERR_SUCCESS
;
3752 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3755 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3757 return NDR_ERR_SUCCESS
;
3760 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3762 ndr_print_uint32(ndr
, name
, r
);
3764 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION
, r
);
3765 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE", DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE
, r
);
3769 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
3771 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3772 return NDR_ERR_SUCCESS
;
3775 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
3778 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3780 return NDR_ERR_SUCCESS
;
3783 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
3785 const char *val
= NULL
;
3788 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
3789 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
3790 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
3791 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
3792 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
3793 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
3794 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
3796 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3799 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
3801 uint32_t cntr_info_array_1
;
3802 uint32_t cntr_group_attrs_1
;
3803 uint32_t cntr_sids_1
;
3804 if (ndr_flags
& NDR_SCALARS
) {
3805 NDR_CHECK(ndr_push_align(ndr
, 4));
3806 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
3807 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
3808 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
3809 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
3810 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
3811 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
3813 if (ndr_flags
& NDR_BUFFERS
) {
3814 if (r
->info_array
) {
3815 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
3816 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
3817 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
3819 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
3820 if (r
->info_array
[cntr_info_array_1
]) {
3821 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
3825 if (r
->group_attrs
) {
3826 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
3827 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
3828 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
3832 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
3833 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
3834 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
3836 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
3837 if (r
->sids
[cntr_sids_1
]) {
3838 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
3843 return NDR_ERR_SUCCESS
;
3846 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
3848 uint32_t _ptr_info_array
;
3849 uint32_t size_info_array_1
= 0;
3850 uint32_t cntr_info_array_1
;
3851 TALLOC_CTX
*_mem_save_info_array_0
;
3852 TALLOC_CTX
*_mem_save_info_array_1
;
3853 TALLOC_CTX
*_mem_save_info_array_2
;
3854 uint32_t _ptr_group_attrs
;
3855 uint32_t size_group_attrs_1
= 0;
3856 uint32_t cntr_group_attrs_1
;
3857 TALLOC_CTX
*_mem_save_group_attrs_0
;
3858 TALLOC_CTX
*_mem_save_group_attrs_1
;
3860 uint32_t size_sids_1
= 0;
3861 uint32_t cntr_sids_1
;
3862 TALLOC_CTX
*_mem_save_sids_0
;
3863 TALLOC_CTX
*_mem_save_sids_1
;
3864 TALLOC_CTX
*_mem_save_sids_2
;
3865 if (ndr_flags
& NDR_SCALARS
) {
3866 NDR_CHECK(ndr_pull_align(ndr
, 4));
3867 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
3868 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
3869 if (r
->num_memberships
> 10000) {
3870 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3872 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
3873 if (r
->num_sids
> 10000) {
3874 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3876 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
3877 if (_ptr_info_array
) {
3878 NDR_PULL_ALLOC(ndr
, r
->info_array
);
3880 r
->info_array
= NULL
;
3882 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
3883 if (_ptr_group_attrs
) {
3884 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
3886 r
->group_attrs
= NULL
;
3888 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
3890 NDR_PULL_ALLOC(ndr
, r
->sids
);
3895 if (ndr_flags
& NDR_BUFFERS
) {
3896 if (r
->info_array
) {
3897 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3898 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
3899 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
3900 size_info_array_1
= ndr_get_array_size(ndr
, &r
->info_array
);
3901 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, size_info_array_1
);
3902 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3903 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
3904 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
3905 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
3906 if (_ptr_info_array
) {
3907 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
3909 r
->info_array
[cntr_info_array_1
] = NULL
;
3912 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
3913 if (r
->info_array
[cntr_info_array_1
]) {
3914 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
3915 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
3916 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
3917 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
3920 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
3921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
3923 if (r
->group_attrs
) {
3924 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3925 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
3926 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
3927 size_group_attrs_1
= ndr_get_array_size(ndr
, &r
->group_attrs
);
3928 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, size_group_attrs_1
);
3929 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3930 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
3931 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< size_group_attrs_1
; cntr_group_attrs_1
++) {
3932 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
3934 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
3935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
3938 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3939 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
3940 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
3941 size_sids_1
= ndr_get_array_size(ndr
, &r
->sids
);
3942 NDR_PULL_ALLOC_N(ndr
, r
->sids
, size_sids_1
);
3943 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3944 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
3945 for (cntr_sids_1
= 0; cntr_sids_1
< size_sids_1
; cntr_sids_1
++) {
3946 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
3948 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
3950 r
->sids
[cntr_sids_1
] = NULL
;
3953 for (cntr_sids_1
= 0; cntr_sids_1
< size_sids_1
; cntr_sids_1
++) {
3954 if (r
->sids
[cntr_sids_1
]) {
3955 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
3956 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
3957 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
3958 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
3961 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
3962 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
3964 if (r
->info_array
) {
3965 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
3967 if (r
->group_attrs
) {
3968 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
3971 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
3974 return NDR_ERR_SUCCESS
;
3977 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
3979 uint32_t cntr_info_array_1
;
3980 uint32_t cntr_group_attrs_1
;
3981 uint32_t cntr_sids_1
;
3982 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
3984 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
3985 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
3986 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
3987 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
3989 if (r
->info_array
) {
3990 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
3992 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
3994 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
3995 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
3997 if (r
->info_array
[cntr_info_array_1
]) {
3998 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4007 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4009 if (r
->group_attrs
) {
4010 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4012 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
4014 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
4015 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
4022 ndr_print_ptr(ndr
, "sids", r
->sids
);
4025 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
4027 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
4029 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4030 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4032 if (r
->sids
[cntr_sids_1
]) {
4033 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4045 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
4047 if (ndr_flags
& NDR_SCALARS
) {
4048 int level
= ndr_push_get_switch_value(ndr
, r
);
4049 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4052 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4056 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4059 if (ndr_flags
& NDR_BUFFERS
) {
4060 int level
= ndr_push_get_switch_value(ndr
, r
);
4063 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4067 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4070 return NDR_ERR_SUCCESS
;
4073 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
4077 level
= ndr_pull_get_switch_value(ndr
, r
);
4078 if (ndr_flags
& NDR_SCALARS
) {
4079 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4080 if (_level
!= level
) {
4081 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4085 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4089 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4092 if (ndr_flags
& NDR_BUFFERS
) {
4095 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4099 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4102 return NDR_ERR_SUCCESS
;
4105 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
4108 level
= ndr_print_get_switch_value(ndr
, r
);
4109 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
4112 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
4116 ndr_print_bad_level(ndr
, name
, level
);
4120 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
4122 uint32_t cntr_info_array_1
;
4123 if (ndr_flags
& NDR_SCALARS
) {
4124 NDR_CHECK(ndr_push_align(ndr
, 4));
4125 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4126 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4127 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4128 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
4129 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
4131 if (ndr_flags
& NDR_BUFFERS
) {
4132 if (r
->info_array
) {
4133 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4134 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
4135 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4137 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
4138 if (r
->info_array
[cntr_info_array_1
]) {
4139 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4144 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
4147 return NDR_ERR_SUCCESS
;
4150 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
4152 uint32_t _ptr_info_array
;
4153 uint32_t size_info_array_1
= 0;
4154 uint32_t cntr_info_array_1
;
4155 TALLOC_CTX
*_mem_save_info_array_0
;
4156 TALLOC_CTX
*_mem_save_info_array_1
;
4157 TALLOC_CTX
*_mem_save_info_array_2
;
4158 uint32_t _ptr_domain
;
4159 TALLOC_CTX
*_mem_save_domain_0
;
4160 if (ndr_flags
& NDR_SCALARS
) {
4161 NDR_CHECK(ndr_pull_align(ndr
, 4));
4162 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4163 if (r
->count
< 1 || r
->count
> 10000) {
4164 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4166 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4167 if (_ptr_info_array
) {
4168 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4170 r
->info_array
= NULL
;
4172 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4173 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
4174 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
4176 NDR_PULL_ALLOC(ndr
, r
->domain
);
4181 if (ndr_flags
& NDR_BUFFERS
) {
4182 if (r
->info_array
) {
4183 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4184 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4185 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4186 size_info_array_1
= ndr_get_array_size(ndr
, &r
->info_array
);
4187 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, size_info_array_1
);
4188 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4189 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4190 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
4191 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4192 if (_ptr_info_array
) {
4193 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4195 r
->info_array
[cntr_info_array_1
] = NULL
;
4198 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
4199 if (r
->info_array
[cntr_info_array_1
]) {
4200 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4201 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4202 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4203 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4207 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4210 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4211 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
4212 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
4213 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
4215 if (r
->info_array
) {
4216 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
4219 return NDR_ERR_SUCCESS
;
4222 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
4224 uint32_t cntr_info_array_1
;
4225 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
4227 ndr_print_uint32(ndr
, "count", r
->count
);
4228 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4230 if (r
->info_array
) {
4231 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
4233 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
4235 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4236 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4238 if (r
->info_array
[cntr_info_array_1
]) {
4239 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4248 ndr_print_uint32(ndr
, "flags", r
->flags
);
4249 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
4250 ndr_print_ptr(ndr
, "domain", r
->domain
);
4253 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
4259 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
4261 if (ndr_flags
& NDR_SCALARS
) {
4262 int level
= ndr_push_get_switch_value(ndr
, r
);
4263 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4270 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4273 if (ndr_flags
& NDR_BUFFERS
) {
4274 int level
= ndr_push_get_switch_value(ndr
, r
);
4277 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4281 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4284 return NDR_ERR_SUCCESS
;
4287 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
4291 level
= ndr_pull_get_switch_value(ndr
, r
);
4292 if (ndr_flags
& NDR_SCALARS
) {
4293 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4294 if (_level
!= level
) {
4295 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4299 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4303 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4306 if (ndr_flags
& NDR_BUFFERS
) {
4309 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4313 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4316 return NDR_ERR_SUCCESS
;
4319 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
4322 level
= ndr_print_get_switch_value(ndr
, r
);
4323 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
4326 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
4330 ndr_print_bad_level(ndr
, name
, level
);
4334 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
4336 if (ndr_flags
& NDR_SCALARS
) {
4337 NDR_CHECK(ndr_push_align(ndr
, 4));
4338 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
4339 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
4340 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4341 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4343 if (ndr_flags
& NDR_BUFFERS
) {
4345 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4346 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4349 return NDR_ERR_SUCCESS
;
4352 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
4355 uint32_t size_data_1
= 0;
4356 TALLOC_CTX
*_mem_save_data_0
;
4357 if (ndr_flags
& NDR_SCALARS
) {
4358 NDR_CHECK(ndr_pull_align(ndr
, 4));
4359 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
4360 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
4361 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
4362 if (r
->length
> 0x00A00000) {
4363 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4365 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4367 NDR_PULL_ALLOC(ndr
, r
->data
);
4372 if (ndr_flags
& NDR_BUFFERS
) {
4374 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4375 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4376 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4377 size_data_1
= ndr_get_array_size(ndr
, &r
->data
);
4378 NDR_PULL_ALLOC_N(ndr
, r
->data
, size_data_1
);
4379 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_1
));
4380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4383 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4386 return NDR_ERR_SUCCESS
;
4389 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
4391 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
4393 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
4394 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
4395 ndr_print_uint32(ndr
, "length", r
->length
);
4396 ndr_print_ptr(ndr
, "data", r
->data
);
4399 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4405 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
4407 if (ndr_flags
& NDR_SCALARS
) {
4408 int level
= ndr_push_get_switch_value(ndr
, r
);
4409 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4412 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4416 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4419 if (ndr_flags
& NDR_BUFFERS
) {
4420 int level
= ndr_push_get_switch_value(ndr
, r
);
4423 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4427 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4430 return NDR_ERR_SUCCESS
;
4433 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
4437 level
= ndr_pull_get_switch_value(ndr
, r
);
4438 if (ndr_flags
& NDR_SCALARS
) {
4439 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4440 if (_level
!= level
) {
4441 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4445 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4449 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4452 if (ndr_flags
& NDR_BUFFERS
) {
4455 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4459 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4462 return NDR_ERR_SUCCESS
;
4465 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
4468 level
= ndr_print_get_switch_value(ndr
, r
);
4469 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
4472 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
4476 ndr_print_bad_level(ndr
, name
, level
);
4480 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
4482 if (ndr_flags
& NDR_SCALARS
) {
4483 NDR_CHECK(ndr_push_align(ndr
, 8));
4484 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
4485 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
4486 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
4487 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time2
));
4488 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown3
));
4489 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time4
));
4490 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown5
));
4491 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time6
));
4492 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4493 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data1
));
4494 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data2
));
4496 if (ndr_flags
& NDR_BUFFERS
) {
4498 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
4499 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, r
->length1
));
4502 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
4503 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, r
->length2
));
4506 return NDR_ERR_SUCCESS
;
4509 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
4511 uint32_t _ptr_data1
;
4512 uint32_t size_data1_1
= 0;
4513 TALLOC_CTX
*_mem_save_data1_0
;
4514 uint32_t _ptr_data2
;
4515 uint32_t size_data2_1
= 0;
4516 TALLOC_CTX
*_mem_save_data2_0
;
4517 if (ndr_flags
& NDR_SCALARS
) {
4518 NDR_CHECK(ndr_pull_align(ndr
, 8));
4519 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length1
));
4520 if (r
->length1
> 0x00A00000) {
4521 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4523 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length2
));
4524 if (r
->length2
> 0x00A00000) {
4525 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4527 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
4528 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time2
));
4529 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown3
));
4530 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time4
));
4531 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown5
));
4532 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time6
));
4533 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4534 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data1
));
4536 NDR_PULL_ALLOC(ndr
, r
->data1
);
4540 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data2
));
4542 NDR_PULL_ALLOC(ndr
, r
->data2
);
4547 if (ndr_flags
& NDR_BUFFERS
) {
4549 _mem_save_data1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4550 NDR_PULL_SET_MEM_CTX(ndr
, r
->data1
, 0);
4551 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data1
));
4552 size_data1_1
= ndr_get_array_size(ndr
, &r
->data1
);
4553 NDR_PULL_ALLOC_N(ndr
, r
->data1
, size_data1_1
);
4554 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, size_data1_1
));
4555 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data1_0
, 0);
4558 _mem_save_data2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4559 NDR_PULL_SET_MEM_CTX(ndr
, r
->data2
, 0);
4560 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data2
));
4561 size_data2_1
= ndr_get_array_size(ndr
, &r
->data2
);
4562 NDR_PULL_ALLOC_N(ndr
, r
->data2
, size_data2_1
);
4563 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, size_data2_1
));
4564 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data2_0
, 0);
4567 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data1
, r
->length1
));
4570 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data2
, r
->length2
));
4573 return NDR_ERR_SUCCESS
;
4576 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
4578 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
4580 ndr_print_uint32(ndr
, "length1", r
->length1
);
4581 ndr_print_uint32(ndr
, "length2", r
->length2
);
4582 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
4583 ndr_print_NTTIME(ndr
, "time2", r
->time2
);
4584 ndr_print_hyper(ndr
, "unknown3", r
->unknown3
);
4585 ndr_print_NTTIME(ndr
, "time4", r
->time4
);
4586 ndr_print_hyper(ndr
, "unknown5", r
->unknown5
);
4587 ndr_print_NTTIME(ndr
, "time6", r
->time6
);
4588 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4589 ndr_print_ptr(ndr
, "data1", r
->data1
);
4592 ndr_print_array_uint8(ndr
, "data1", r
->data1
, r
->length1
);
4595 ndr_print_ptr(ndr
, "data2", r
->data2
);
4598 ndr_print_array_uint8(ndr
, "data2", r
->data2
, r
->length2
);
4604 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
4606 if (ndr_flags
& NDR_SCALARS
) {
4607 int level
= ndr_push_get_switch_value(ndr
, r
);
4608 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4611 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4615 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4618 if (ndr_flags
& NDR_BUFFERS
) {
4619 int level
= ndr_push_get_switch_value(ndr
, r
);
4622 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
4626 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4629 return NDR_ERR_SUCCESS
;
4632 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
4636 level
= ndr_pull_get_switch_value(ndr
, r
);
4637 if (ndr_flags
& NDR_SCALARS
) {
4638 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4639 if (_level
!= level
) {
4640 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4644 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
4648 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4651 if (ndr_flags
& NDR_BUFFERS
) {
4654 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
4658 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4661 return NDR_ERR_SUCCESS
;
4664 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
4667 level
= ndr_print_get_switch_value(ndr
, r
);
4668 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
4671 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
4675 ndr_print_bad_level(ndr
, name
, level
);
4679 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
4681 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4682 return NDR_ERR_SUCCESS
;
4685 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
4688 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4690 return NDR_ERR_SUCCESS
;
4693 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
4695 const char *val
= NULL
;
4698 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
4699 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
4700 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
4701 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
4702 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
4703 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
4704 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
4705 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
4707 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4710 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
4712 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4713 return NDR_ERR_SUCCESS
;
4716 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
4719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4721 return NDR_ERR_SUCCESS
;
4724 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
4726 const char *val
= NULL
;
4729 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
4730 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
4731 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
4732 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
4733 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
4735 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4738 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
4740 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4741 return NDR_ERR_SUCCESS
;
4744 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
4747 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4749 return NDR_ERR_SUCCESS
;
4752 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
4754 const char *val
= NULL
;
4757 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
4758 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
4759 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
4760 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
4761 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
4762 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
4763 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
4764 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
4765 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
4766 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
4767 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
4769 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4772 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
4774 if (ndr_flags
& NDR_SCALARS
) {
4775 NDR_CHECK(ndr_push_align(ndr
, 4));
4776 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
4778 if (ndr_flags
& NDR_BUFFERS
) {
4780 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
4781 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
4782 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
4783 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
4786 return NDR_ERR_SUCCESS
;
4789 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
4792 uint32_t size_str_1
= 0;
4793 uint32_t length_str_1
= 0;
4794 TALLOC_CTX
*_mem_save_str_0
;
4795 if (ndr_flags
& NDR_SCALARS
) {
4796 NDR_CHECK(ndr_pull_align(ndr
, 4));
4797 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
4799 NDR_PULL_ALLOC(ndr
, r
->str
);
4804 if (ndr_flags
& NDR_BUFFERS
) {
4806 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4807 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
4808 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
4809 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
4810 size_str_1
= ndr_get_array_size(ndr
, &r
->str
);
4811 length_str_1
= ndr_get_array_length(ndr
, &r
->str
);
4812 if (length_str_1
> size_str_1
) {
4813 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_str_1
, length_str_1
);
4815 NDR_CHECK(ndr_check_string_terminator(ndr
, length_str_1
, sizeof(uint16_t)));
4816 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, length_str_1
, sizeof(uint16_t), CH_UTF16
));
4817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
4820 return NDR_ERR_SUCCESS
;
4823 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
4825 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
4827 ndr_print_ptr(ndr
, "str", r
->str
);
4830 ndr_print_string(ndr
, "str", r
->str
);
4836 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
4838 uint32_t cntr_names_1
;
4839 if (ndr_flags
& NDR_SCALARS
) {
4840 NDR_CHECK(ndr_push_align(ndr
, 4));
4841 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
4842 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
4843 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
4844 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
4845 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
4846 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4847 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
4849 if (ndr_flags
& NDR_BUFFERS
) {
4851 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4852 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4853 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4855 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4856 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4860 return NDR_ERR_SUCCESS
;
4863 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
4865 uint32_t _ptr_names
;
4866 uint32_t size_names_1
= 0;
4867 uint32_t cntr_names_1
;
4868 TALLOC_CTX
*_mem_save_names_0
;
4869 TALLOC_CTX
*_mem_save_names_1
;
4870 if (ndr_flags
& NDR_SCALARS
) {
4871 NDR_CHECK(ndr_pull_align(ndr
, 4));
4872 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
4873 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
4874 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
4875 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
4876 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
4877 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4878 if (r
->count
< 1 || r
->count
> 10000) {
4879 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
4883 NDR_PULL_ALLOC(ndr
, r
->names
);
4888 if (ndr_flags
& NDR_BUFFERS
) {
4890 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4891 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4892 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
4893 size_names_1
= ndr_get_array_size(ndr
, &r
->names
);
4894 NDR_PULL_ALLOC_N(ndr
, r
->names
, size_names_1
);
4895 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4896 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4897 for (cntr_names_1
= 0; cntr_names_1
< size_names_1
; cntr_names_1
++) {
4898 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4900 for (cntr_names_1
= 0; cntr_names_1
< size_names_1
; cntr_names_1
++) {
4901 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4903 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
4904 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
4907 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
4910 return NDR_ERR_SUCCESS
;
4913 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
4915 uint32_t cntr_names_1
;
4916 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
4918 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
4919 ndr_print_uint32(ndr
, "language", r
->language
);
4920 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
4921 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
4922 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
4923 ndr_print_uint32(ndr
, "count", r
->count
);
4924 ndr_print_ptr(ndr
, "names", r
->names
);
4927 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4929 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4931 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4932 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
4942 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
4944 if (ndr_flags
& NDR_SCALARS
) {
4945 int level
= ndr_push_get_switch_value(ndr
, r
);
4946 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4949 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4953 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4956 if (ndr_flags
& NDR_BUFFERS
) {
4957 int level
= ndr_push_get_switch_value(ndr
, r
);
4960 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4964 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4967 return NDR_ERR_SUCCESS
;
4970 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
4974 level
= ndr_pull_get_switch_value(ndr
, r
);
4975 if (ndr_flags
& NDR_SCALARS
) {
4976 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4977 if (_level
!= level
) {
4978 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4982 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4986 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4989 if (ndr_flags
& NDR_BUFFERS
) {
4992 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4996 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4999 return NDR_ERR_SUCCESS
;
5002 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5005 level
= ndr_print_get_switch_value(ndr
, r
);
5006 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
5009 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
5013 ndr_print_bad_level(ndr
, name
, level
);
5017 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
5019 if (ndr_flags
& NDR_SCALARS
) {
5020 NDR_CHECK(ndr_push_align(ndr
, 4));
5021 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
5022 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
5023 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
5025 if (ndr_flags
& NDR_BUFFERS
) {
5026 if (r
->dns_domain_name
) {
5027 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5028 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
5029 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5030 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
));
5032 if (r
->result_name
) {
5033 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5034 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
5035 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5036 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5039 return NDR_ERR_SUCCESS
;
5042 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
5044 uint32_t _ptr_dns_domain_name
;
5045 uint32_t size_dns_domain_name_1
= 0;
5046 uint32_t length_dns_domain_name_1
= 0;
5047 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
5048 uint32_t _ptr_result_name
;
5049 uint32_t size_result_name_1
= 0;
5050 uint32_t length_result_name_1
= 0;
5051 TALLOC_CTX
*_mem_save_result_name_0
;
5052 if (ndr_flags
& NDR_SCALARS
) {
5053 NDR_CHECK(ndr_pull_align(ndr
, 4));
5054 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
5055 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
5056 if (_ptr_dns_domain_name
) {
5057 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
5059 r
->dns_domain_name
= NULL
;
5061 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
5062 if (_ptr_result_name
) {
5063 NDR_PULL_ALLOC(ndr
, r
->result_name
);
5065 r
->result_name
= NULL
;
5068 if (ndr_flags
& NDR_BUFFERS
) {
5069 if (r
->dns_domain_name
) {
5070 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5071 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
5072 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
5073 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
5074 size_dns_domain_name_1
= ndr_get_array_size(ndr
, &r
->dns_domain_name
);
5075 length_dns_domain_name_1
= ndr_get_array_length(ndr
, &r
->dns_domain_name
);
5076 if (length_dns_domain_name_1
> size_dns_domain_name_1
) {
5077 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
);
5079 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_domain_name_1
, sizeof(uint16_t)));
5080 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_domain_name
, length_dns_domain_name_1
, sizeof(uint16_t), CH_UTF16
));
5081 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
5083 if (r
->result_name
) {
5084 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5085 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
5086 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
5087 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
5088 size_result_name_1
= ndr_get_array_size(ndr
, &r
->result_name
);
5089 length_result_name_1
= ndr_get_array_length(ndr
, &r
->result_name
);
5090 if (length_result_name_1
> size_result_name_1
) {
5091 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
);
5093 NDR_CHECK(ndr_check_string_terminator(ndr
, length_result_name_1
, sizeof(uint16_t)));
5094 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, length_result_name_1
, sizeof(uint16_t), CH_UTF16
));
5095 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
5098 return NDR_ERR_SUCCESS
;
5101 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
5103 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
5105 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
5106 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
5108 if (r
->dns_domain_name
) {
5109 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
5112 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
5114 if (r
->result_name
) {
5115 ndr_print_string(ndr
, "result_name", r
->result_name
);
5121 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
5123 uint32_t cntr_array_1
;
5124 if (ndr_flags
& NDR_SCALARS
) {
5125 NDR_CHECK(ndr_push_align(ndr
, 4));
5126 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5127 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
5129 if (ndr_flags
& NDR_BUFFERS
) {
5131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5132 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5133 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
5135 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5136 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
5140 return NDR_ERR_SUCCESS
;
5143 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
5145 uint32_t _ptr_array
;
5146 uint32_t size_array_1
= 0;
5147 uint32_t cntr_array_1
;
5148 TALLOC_CTX
*_mem_save_array_0
;
5149 TALLOC_CTX
*_mem_save_array_1
;
5150 if (ndr_flags
& NDR_SCALARS
) {
5151 NDR_CHECK(ndr_pull_align(ndr
, 4));
5152 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5153 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
5155 NDR_PULL_ALLOC(ndr
, r
->array
);
5160 if (ndr_flags
& NDR_BUFFERS
) {
5162 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5163 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
5164 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
5165 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
5166 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
5167 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5168 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
5169 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
5170 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
5172 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
5173 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
5175 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
5176 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
5179 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
5182 return NDR_ERR_SUCCESS
;
5185 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
5187 uint32_t cntr_array_1
;
5188 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
5190 ndr_print_uint32(ndr
, "count", r
->count
);
5191 ndr_print_ptr(ndr
, "array", r
->array
);
5194 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
5196 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
5198 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
5199 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
5209 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
5211 if (ndr_flags
& NDR_SCALARS
) {
5212 int level
= ndr_push_get_switch_value(ndr
, r
);
5213 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5216 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
5220 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5223 if (ndr_flags
& NDR_BUFFERS
) {
5224 int level
= ndr_push_get_switch_value(ndr
, r
);
5228 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
5233 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5236 return NDR_ERR_SUCCESS
;
5239 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
5243 TALLOC_CTX
*_mem_save_ctr1_0
;
5245 level
= ndr_pull_get_switch_value(ndr
, r
);
5246 if (ndr_flags
& NDR_SCALARS
) {
5247 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5248 if (_level
!= level
) {
5249 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5253 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
5255 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
5262 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5265 if (ndr_flags
& NDR_BUFFERS
) {
5269 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5270 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
5271 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
5272 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
5277 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5280 return NDR_ERR_SUCCESS
;
5283 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
5286 level
= ndr_print_get_switch_value(ndr
, r
);
5287 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
5290 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
5293 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
5299 ndr_print_bad_level(ndr
, name
, level
);
5303 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
5305 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
5306 return NDR_ERR_SUCCESS
;
5309 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
5312 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
5314 return NDR_ERR_SUCCESS
;
5317 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
5319 const char *val
= NULL
;
5322 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
5323 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
5324 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
5326 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5329 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
5331 uint32_t cntr_spn_names_1
;
5332 if (ndr_flags
& NDR_SCALARS
) {
5333 NDR_CHECK(ndr_push_align(ndr
, 4));
5334 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
5335 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
5336 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
5337 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5338 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
5340 if (ndr_flags
& NDR_BUFFERS
) {
5342 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
5343 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
5344 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
5345 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5348 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5349 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
5350 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
5352 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
5353 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
5357 return NDR_ERR_SUCCESS
;
5360 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
5362 uint32_t _ptr_object_dn
;
5363 uint32_t size_object_dn_1
= 0;
5364 uint32_t length_object_dn_1
= 0;
5365 TALLOC_CTX
*_mem_save_object_dn_0
;
5366 uint32_t _ptr_spn_names
;
5367 uint32_t size_spn_names_1
= 0;
5368 uint32_t cntr_spn_names_1
;
5369 TALLOC_CTX
*_mem_save_spn_names_0
;
5370 TALLOC_CTX
*_mem_save_spn_names_1
;
5371 if (ndr_flags
& NDR_SCALARS
) {
5372 NDR_CHECK(ndr_pull_align(ndr
, 4));
5373 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
5374 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
5375 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
5376 if (_ptr_object_dn
) {
5377 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
5379 r
->object_dn
= NULL
;
5381 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5382 if (r
->count
> 10000) {
5383 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5385 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
5386 if (_ptr_spn_names
) {
5387 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
5389 r
->spn_names
= NULL
;
5392 if (ndr_flags
& NDR_BUFFERS
) {
5394 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5395 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
5396 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
5397 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
5398 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
5399 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
5400 if (length_object_dn_1
> size_object_dn_1
) {
5401 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
);
5403 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
5404 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
5405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
5408 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5409 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
5410 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
5411 size_spn_names_1
= ndr_get_array_size(ndr
, &r
->spn_names
);
5412 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, size_spn_names_1
);
5413 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5414 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
5415 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< size_spn_names_1
; cntr_spn_names_1
++) {
5416 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
5418 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< size_spn_names_1
; cntr_spn_names_1
++) {
5419 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
5421 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
5422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
5425 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
5428 return NDR_ERR_SUCCESS
;
5431 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
5433 uint32_t cntr_spn_names_1
;
5434 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
5436 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
5437 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
5438 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
5441 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
5444 ndr_print_uint32(ndr
, "count", r
->count
);
5445 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
5448 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
5450 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
5452 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
5453 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
5463 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
5465 if (ndr_flags
& NDR_SCALARS
) {
5466 int level
= ndr_push_get_switch_value(ndr
, r
);
5467 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5470 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5474 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5477 if (ndr_flags
& NDR_BUFFERS
) {
5478 int level
= ndr_push_get_switch_value(ndr
, r
);
5481 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5485 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5488 return NDR_ERR_SUCCESS
;
5491 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
5495 level
= ndr_pull_get_switch_value(ndr
, r
);
5496 if (ndr_flags
& NDR_SCALARS
) {
5497 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5498 if (_level
!= level
) {
5499 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5503 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5507 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5510 if (ndr_flags
& NDR_BUFFERS
) {
5513 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5517 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5520 return NDR_ERR_SUCCESS
;
5523 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
5526 level
= ndr_print_get_switch_value(ndr
, r
);
5527 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
5530 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
5534 ndr_print_bad_level(ndr
, name
, level
);
5538 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
5540 if (ndr_flags
& NDR_SCALARS
) {
5541 NDR_CHECK(ndr_push_align(ndr
, 4));
5542 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
5544 if (ndr_flags
& NDR_BUFFERS
) {
5546 return NDR_ERR_SUCCESS
;
5549 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
5551 if (ndr_flags
& NDR_SCALARS
) {
5552 NDR_CHECK(ndr_pull_align(ndr
, 4));
5553 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
5555 if (ndr_flags
& NDR_BUFFERS
) {
5557 return NDR_ERR_SUCCESS
;
5560 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
5562 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
5564 ndr_print_WERROR(ndr
, "status", r
->status
);
5568 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
5570 if (ndr_flags
& NDR_SCALARS
) {
5571 int level
= ndr_push_get_switch_value(ndr
, r
);
5572 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5575 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
5579 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5582 if (ndr_flags
& NDR_BUFFERS
) {
5583 int level
= ndr_push_get_switch_value(ndr
, r
);
5589 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5592 return NDR_ERR_SUCCESS
;
5595 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
5599 level
= ndr_pull_get_switch_value(ndr
, r
);
5600 if (ndr_flags
& NDR_SCALARS
) {
5601 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5602 if (_level
!= level
) {
5603 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5607 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
5611 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5614 if (ndr_flags
& NDR_BUFFERS
) {
5620 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5623 return NDR_ERR_SUCCESS
;
5626 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
5629 level
= ndr_print_get_switch_value(ndr
, r
);
5630 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
5633 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
5637 ndr_print_bad_level(ndr
, name
, level
);
5641 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
5643 if (ndr_flags
& NDR_SCALARS
) {
5644 NDR_CHECK(ndr_push_align(ndr
, 4));
5645 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
5646 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
5647 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
5649 if (ndr_flags
& NDR_BUFFERS
) {
5651 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
5652 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
5653 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
5654 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5657 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
5658 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
5659 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
5660 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5663 return NDR_ERR_SUCCESS
;
5666 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
5668 uint32_t _ptr_server_dn
;
5669 uint32_t size_server_dn_1
= 0;
5670 uint32_t length_server_dn_1
= 0;
5671 TALLOC_CTX
*_mem_save_server_dn_0
;
5672 uint32_t _ptr_domain_dn
;
5673 uint32_t size_domain_dn_1
= 0;
5674 uint32_t length_domain_dn_1
= 0;
5675 TALLOC_CTX
*_mem_save_domain_dn_0
;
5676 if (ndr_flags
& NDR_SCALARS
) {
5677 NDR_CHECK(ndr_pull_align(ndr
, 4));
5678 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
5679 if (_ptr_server_dn
) {
5680 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
5682 r
->server_dn
= NULL
;
5684 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
5685 if (_ptr_domain_dn
) {
5686 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
5688 r
->domain_dn
= NULL
;
5690 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
5692 if (ndr_flags
& NDR_BUFFERS
) {
5694 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5695 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
5696 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
5697 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
5698 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
5699 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
5700 if (length_server_dn_1
> size_server_dn_1
) {
5701 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
);
5703 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
5704 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
5705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
5708 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5709 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
5710 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
5711 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
5712 size_domain_dn_1
= ndr_get_array_size(ndr
, &r
->domain_dn
);
5713 length_domain_dn_1
= ndr_get_array_length(ndr
, &r
->domain_dn
);
5714 if (length_domain_dn_1
> size_domain_dn_1
) {
5715 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
);
5717 NDR_CHECK(ndr_check_string_terminator(ndr
, length_domain_dn_1
, sizeof(uint16_t)));
5718 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, length_domain_dn_1
, sizeof(uint16_t), CH_UTF16
));
5719 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
5722 return NDR_ERR_SUCCESS
;
5725 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
5727 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
5729 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
5732 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
5735 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
5738 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
5741 ndr_print_uint32(ndr
, "commit", r
->commit
);
5745 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
5747 if (ndr_flags
& NDR_SCALARS
) {
5748 int level
= ndr_push_get_switch_value(ndr
, r
);
5749 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5752 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5756 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5759 if (ndr_flags
& NDR_BUFFERS
) {
5760 int level
= ndr_push_get_switch_value(ndr
, r
);
5763 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5767 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5770 return NDR_ERR_SUCCESS
;
5773 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
5777 level
= ndr_pull_get_switch_value(ndr
, r
);
5778 if (ndr_flags
& NDR_SCALARS
) {
5779 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5780 if (_level
!= level
) {
5781 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5785 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5789 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5792 if (ndr_flags
& NDR_BUFFERS
) {
5795 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5799 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5802 return NDR_ERR_SUCCESS
;
5805 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
5808 level
= ndr_print_get_switch_value(ndr
, r
);
5809 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
5812 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
5816 ndr_print_bad_level(ndr
, name
, level
);
5820 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
5822 if (ndr_flags
& NDR_SCALARS
) {
5823 NDR_CHECK(ndr_push_align(ndr
, 4));
5824 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
5826 if (ndr_flags
& NDR_BUFFERS
) {
5828 return NDR_ERR_SUCCESS
;
5831 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
5833 if (ndr_flags
& NDR_SCALARS
) {
5834 NDR_CHECK(ndr_pull_align(ndr
, 4));
5835 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
5837 if (ndr_flags
& NDR_BUFFERS
) {
5839 return NDR_ERR_SUCCESS
;
5842 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
5844 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
5846 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
5850 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
5852 if (ndr_flags
& NDR_SCALARS
) {
5853 int level
= ndr_push_get_switch_value(ndr
, r
);
5854 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5857 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
5861 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5864 if (ndr_flags
& NDR_BUFFERS
) {
5865 int level
= ndr_push_get_switch_value(ndr
, r
);
5871 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5874 return NDR_ERR_SUCCESS
;
5877 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
5881 level
= ndr_pull_get_switch_value(ndr
, r
);
5882 if (ndr_flags
& NDR_SCALARS
) {
5883 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5884 if (_level
!= level
) {
5885 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
5889 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
5893 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5896 if (ndr_flags
& NDR_BUFFERS
) {
5902 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
5905 return NDR_ERR_SUCCESS
;
5908 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
5911 level
= ndr_print_get_switch_value(ndr
, r
);
5912 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
5915 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
5919 ndr_print_bad_level(ndr
, name
, level
);
5923 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
5925 if (ndr_flags
& NDR_SCALARS
) {
5926 NDR_CHECK(ndr_push_align(ndr
, 4));
5927 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
5928 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
5930 if (ndr_flags
& NDR_BUFFERS
) {
5931 if (r
->domain_name
) {
5932 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
5933 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
5934 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
5935 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5938 return NDR_ERR_SUCCESS
;
5941 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
5943 uint32_t _ptr_domain_name
;
5944 uint32_t size_domain_name_1
= 0;
5945 uint32_t length_domain_name_1
= 0;
5946 TALLOC_CTX
*_mem_save_domain_name_0
;
5947 if (ndr_flags
& NDR_SCALARS
) {
5948 NDR_CHECK(ndr_pull_align(ndr
, 4));
5949 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
5950 if (_ptr_domain_name
) {
5951 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
5953 r
->domain_name
= NULL
;
5955 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
5957 if (ndr_flags
& NDR_BUFFERS
) {
5958 if (r
->domain_name
) {
5959 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5960 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
5961 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
5962 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
5963 size_domain_name_1
= ndr_get_array_size(ndr
, &r
->domain_name
);
5964 length_domain_name_1
= ndr_get_array_length(ndr
, &r
->domain_name
);
5965 if (length_domain_name_1
> size_domain_name_1
) {
5966 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
);
5968 NDR_CHECK(ndr_check_string_terminator(ndr
, length_domain_name_1
, sizeof(uint16_t)));
5969 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, length_domain_name_1
, sizeof(uint16_t), CH_UTF16
));
5970 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
5973 return NDR_ERR_SUCCESS
;
5976 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
5978 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
5980 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
5982 if (r
->domain_name
) {
5983 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
5986 ndr_print_int32(ndr
, "level", r
->level
);
5990 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
5992 if (ndr_flags
& NDR_SCALARS
) {
5993 int level
= ndr_push_get_switch_value(ndr
, r
);
5994 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5997 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6001 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
6004 if (ndr_flags
& NDR_BUFFERS
) {
6005 int level
= ndr_push_get_switch_value(ndr
, r
);
6008 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6012 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
6015 return NDR_ERR_SUCCESS
;
6018 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
6022 level
= ndr_pull_get_switch_value(ndr
, r
);
6023 if (ndr_flags
& NDR_SCALARS
) {
6024 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6025 if (_level
!= level
) {
6026 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
6030 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6034 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
6037 if (ndr_flags
& NDR_BUFFERS
) {
6040 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6044 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
6047 return NDR_ERR_SUCCESS
;
6050 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
6053 level
= ndr_print_get_switch_value(ndr
, r
);
6054 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
6057 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
6061 ndr_print_bad_level(ndr
, name
, level
);
6065 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
6067 if (ndr_flags
& NDR_SCALARS
) {
6068 NDR_CHECK(ndr_push_align(ndr
, 4));
6069 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6070 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6071 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6072 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6073 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6074 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6075 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6077 if (ndr_flags
& NDR_BUFFERS
) {
6078 if (r
->netbios_name
) {
6079 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6080 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6081 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6082 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6085 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6086 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6087 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6088 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6091 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6092 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6093 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6094 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6096 if (r
->computer_dn
) {
6097 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6098 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6099 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6100 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6103 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6105 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6106 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6109 return NDR_ERR_SUCCESS
;
6112 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
6114 uint32_t _ptr_netbios_name
;
6115 uint32_t size_netbios_name_1
= 0;
6116 uint32_t length_netbios_name_1
= 0;
6117 TALLOC_CTX
*_mem_save_netbios_name_0
;
6118 uint32_t _ptr_dns_name
;
6119 uint32_t size_dns_name_1
= 0;
6120 uint32_t length_dns_name_1
= 0;
6121 TALLOC_CTX
*_mem_save_dns_name_0
;
6122 uint32_t _ptr_site_name
;
6123 uint32_t size_site_name_1
= 0;
6124 uint32_t length_site_name_1
= 0;
6125 TALLOC_CTX
*_mem_save_site_name_0
;
6126 uint32_t _ptr_computer_dn
;
6127 uint32_t size_computer_dn_1
= 0;
6128 uint32_t length_computer_dn_1
= 0;
6129 TALLOC_CTX
*_mem_save_computer_dn_0
;
6130 uint32_t _ptr_server_dn
;
6131 uint32_t size_server_dn_1
= 0;
6132 uint32_t length_server_dn_1
= 0;
6133 TALLOC_CTX
*_mem_save_server_dn_0
;
6134 if (ndr_flags
& NDR_SCALARS
) {
6135 NDR_CHECK(ndr_pull_align(ndr
, 4));
6136 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6137 if (_ptr_netbios_name
) {
6138 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
6140 r
->netbios_name
= NULL
;
6142 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
6143 if (_ptr_dns_name
) {
6144 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
6148 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
6149 if (_ptr_site_name
) {
6150 NDR_PULL_ALLOC(ndr
, r
->site_name
);
6152 r
->site_name
= NULL
;
6154 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
6155 if (_ptr_computer_dn
) {
6156 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
6158 r
->computer_dn
= NULL
;
6160 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6161 if (_ptr_server_dn
) {
6162 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6164 r
->server_dn
= NULL
;
6166 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
6167 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
6169 if (ndr_flags
& NDR_BUFFERS
) {
6170 if (r
->netbios_name
) {
6171 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6172 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
6173 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
6174 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
6175 size_netbios_name_1
= ndr_get_array_size(ndr
, &r
->netbios_name
);
6176 length_netbios_name_1
= ndr_get_array_length(ndr
, &r
->netbios_name
);
6177 if (length_netbios_name_1
> size_netbios_name_1
) {
6178 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
);
6180 NDR_CHECK(ndr_check_string_terminator(ndr
, length_netbios_name_1
, sizeof(uint16_t)));
6181 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, length_netbios_name_1
, sizeof(uint16_t), CH_UTF16
));
6182 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
6185 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6186 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
6187 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
6188 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
6189 size_dns_name_1
= ndr_get_array_size(ndr
, &r
->dns_name
);
6190 length_dns_name_1
= ndr_get_array_length(ndr
, &r
->dns_name
);
6191 if (length_dns_name_1
> size_dns_name_1
) {
6192 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
);
6194 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_name_1
, sizeof(uint16_t)));
6195 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, length_dns_name_1
, sizeof(uint16_t), CH_UTF16
));
6196 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
6199 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6200 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
6201 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
6202 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
6203 size_site_name_1
= ndr_get_array_size(ndr
, &r
->site_name
);
6204 length_site_name_1
= ndr_get_array_length(ndr
, &r
->site_name
);
6205 if (length_site_name_1
> size_site_name_1
) {
6206 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
);
6208 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_name_1
, sizeof(uint16_t)));
6209 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, length_site_name_1
, sizeof(uint16_t), CH_UTF16
));
6210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
6212 if (r
->computer_dn
) {
6213 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6214 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
6215 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
6216 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
6217 size_computer_dn_1
= ndr_get_array_size(ndr
, &r
->computer_dn
);
6218 length_computer_dn_1
= ndr_get_array_length(ndr
, &r
->computer_dn
);
6219 if (length_computer_dn_1
> size_computer_dn_1
) {
6220 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
);
6222 NDR_CHECK(ndr_check_string_terminator(ndr
, length_computer_dn_1
, sizeof(uint16_t)));
6223 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, length_computer_dn_1
, sizeof(uint16_t), CH_UTF16
));
6224 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
6227 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6228 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6229 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6230 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6231 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
6232 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
6233 if (length_server_dn_1
> size_server_dn_1
) {
6234 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
);
6236 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
6237 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
6238 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6241 return NDR_ERR_SUCCESS
;
6244 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
6246 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
6248 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
6250 if (r
->netbios_name
) {
6251 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
6254 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
6257 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
6260 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
6263 ndr_print_string(ndr
, "site_name", r
->site_name
);
6266 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
6268 if (r
->computer_dn
) {
6269 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
6272 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6275 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6278 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
6279 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
6283 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
6285 uint32_t cntr_array_1
;
6286 if (ndr_flags
& NDR_SCALARS
) {
6287 NDR_CHECK(ndr_push_align(ndr
, 4));
6288 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6289 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
6291 if (ndr_flags
& NDR_BUFFERS
) {
6293 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6294 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6295 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6297 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6298 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6302 return NDR_ERR_SUCCESS
;
6305 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
6307 uint32_t _ptr_array
;
6308 uint32_t size_array_1
= 0;
6309 uint32_t cntr_array_1
;
6310 TALLOC_CTX
*_mem_save_array_0
;
6311 TALLOC_CTX
*_mem_save_array_1
;
6312 if (ndr_flags
& NDR_SCALARS
) {
6313 NDR_CHECK(ndr_pull_align(ndr
, 4));
6314 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6315 if (r
->count
> 10000) {
6316 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6318 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6320 NDR_PULL_ALLOC(ndr
, r
->array
);
6325 if (ndr_flags
& NDR_BUFFERS
) {
6327 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6328 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6329 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6330 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
6331 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
6332 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6333 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6334 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
6335 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6337 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
6338 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6340 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6341 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6344 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6347 return NDR_ERR_SUCCESS
;
6350 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
6352 uint32_t cntr_array_1
;
6353 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
6355 ndr_print_uint32(ndr
, "count", r
->count
);
6356 ndr_print_ptr(ndr
, "array", r
->array
);
6359 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6361 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6363 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6364 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6374 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
6376 if (ndr_flags
& NDR_SCALARS
) {
6377 NDR_CHECK(ndr_push_align(ndr
, 4));
6378 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6379 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6380 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6381 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
6382 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6383 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6384 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
6385 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6386 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6387 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
6388 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
6389 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
6390 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
6391 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
6393 if (ndr_flags
& NDR_BUFFERS
) {
6394 if (r
->netbios_name
) {
6395 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6396 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6397 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6398 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6401 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6402 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6403 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6404 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6407 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6408 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6409 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6410 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6413 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
6414 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6415 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
6416 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6418 if (r
->computer_dn
) {
6419 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6420 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6421 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6422 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6425 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6426 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6428 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
6432 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6433 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
6434 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6437 return NDR_ERR_SUCCESS
;
6440 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
6442 uint32_t _ptr_netbios_name
;
6443 uint32_t size_netbios_name_1
= 0;
6444 uint32_t length_netbios_name_1
= 0;
6445 TALLOC_CTX
*_mem_save_netbios_name_0
;
6446 uint32_t _ptr_dns_name
;
6447 uint32_t size_dns_name_1
= 0;
6448 uint32_t length_dns_name_1
= 0;
6449 TALLOC_CTX
*_mem_save_dns_name_0
;
6450 uint32_t _ptr_site_name
;
6451 uint32_t size_site_name_1
= 0;
6452 uint32_t length_site_name_1
= 0;
6453 TALLOC_CTX
*_mem_save_site_name_0
;
6454 uint32_t _ptr_site_dn
;
6455 uint32_t size_site_dn_1
= 0;
6456 uint32_t length_site_dn_1
= 0;
6457 TALLOC_CTX
*_mem_save_site_dn_0
;
6458 uint32_t _ptr_computer_dn
;
6459 uint32_t size_computer_dn_1
= 0;
6460 uint32_t length_computer_dn_1
= 0;
6461 TALLOC_CTX
*_mem_save_computer_dn_0
;
6462 uint32_t _ptr_server_dn
;
6463 uint32_t size_server_dn_1
= 0;
6464 uint32_t length_server_dn_1
= 0;
6465 TALLOC_CTX
*_mem_save_server_dn_0
;
6466 uint32_t _ptr_ntds_dn
;
6467 uint32_t size_ntds_dn_1
= 0;
6468 uint32_t length_ntds_dn_1
= 0;
6469 TALLOC_CTX
*_mem_save_ntds_dn_0
;
6470 if (ndr_flags
& NDR_SCALARS
) {
6471 NDR_CHECK(ndr_pull_align(ndr
, 4));
6472 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6473 if (_ptr_netbios_name
) {
6474 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
6476 r
->netbios_name
= NULL
;
6478 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
6479 if (_ptr_dns_name
) {
6480 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
6484 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
6485 if (_ptr_site_name
) {
6486 NDR_PULL_ALLOC(ndr
, r
->site_name
);
6488 r
->site_name
= NULL
;
6490 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
6492 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
6496 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
6497 if (_ptr_computer_dn
) {
6498 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
6500 r
->computer_dn
= NULL
;
6502 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6503 if (_ptr_server_dn
) {
6504 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6506 r
->server_dn
= NULL
;
6508 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
6510 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
6514 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
6515 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
6516 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
6517 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
6518 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
6519 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
6520 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
6522 if (ndr_flags
& NDR_BUFFERS
) {
6523 if (r
->netbios_name
) {
6524 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6525 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
6526 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
6527 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
6528 size_netbios_name_1
= ndr_get_array_size(ndr
, &r
->netbios_name
);
6529 length_netbios_name_1
= ndr_get_array_length(ndr
, &r
->netbios_name
);
6530 if (length_netbios_name_1
> size_netbios_name_1
) {
6531 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
);
6533 NDR_CHECK(ndr_check_string_terminator(ndr
, length_netbios_name_1
, sizeof(uint16_t)));
6534 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, length_netbios_name_1
, sizeof(uint16_t), CH_UTF16
));
6535 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
6538 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6539 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
6540 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
6541 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
6542 size_dns_name_1
= ndr_get_array_size(ndr
, &r
->dns_name
);
6543 length_dns_name_1
= ndr_get_array_length(ndr
, &r
->dns_name
);
6544 if (length_dns_name_1
> size_dns_name_1
) {
6545 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
);
6547 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_name_1
, sizeof(uint16_t)));
6548 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, length_dns_name_1
, sizeof(uint16_t), CH_UTF16
));
6549 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
6552 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6553 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
6554 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
6555 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
6556 size_site_name_1
= ndr_get_array_size(ndr
, &r
->site_name
);
6557 length_site_name_1
= ndr_get_array_length(ndr
, &r
->site_name
);
6558 if (length_site_name_1
> size_site_name_1
) {
6559 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
);
6561 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_name_1
, sizeof(uint16_t)));
6562 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, length_site_name_1
, sizeof(uint16_t), CH_UTF16
));
6563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
6566 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6567 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
6568 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
6569 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
6570 size_site_dn_1
= ndr_get_array_size(ndr
, &r
->site_dn
);
6571 length_site_dn_1
= ndr_get_array_length(ndr
, &r
->site_dn
);
6572 if (length_site_dn_1
> size_site_dn_1
) {
6573 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
);
6575 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_dn_1
, sizeof(uint16_t)));
6576 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, length_site_dn_1
, sizeof(uint16_t), CH_UTF16
));
6577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
6579 if (r
->computer_dn
) {
6580 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6581 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
6582 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
6583 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
6584 size_computer_dn_1
= ndr_get_array_size(ndr
, &r
->computer_dn
);
6585 length_computer_dn_1
= ndr_get_array_length(ndr
, &r
->computer_dn
);
6586 if (length_computer_dn_1
> size_computer_dn_1
) {
6587 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
);
6589 NDR_CHECK(ndr_check_string_terminator(ndr
, length_computer_dn_1
, sizeof(uint16_t)));
6590 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, length_computer_dn_1
, sizeof(uint16_t), CH_UTF16
));
6591 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
6594 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6595 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6596 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6597 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6598 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
6599 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
6600 if (length_server_dn_1
> size_server_dn_1
) {
6601 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
);
6603 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
6604 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
6605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6608 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6609 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
6610 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
6611 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
6612 size_ntds_dn_1
= ndr_get_array_size(ndr
, &r
->ntds_dn
);
6613 length_ntds_dn_1
= ndr_get_array_length(ndr
, &r
->ntds_dn
);
6614 if (length_ntds_dn_1
> size_ntds_dn_1
) {
6615 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
);
6617 NDR_CHECK(ndr_check_string_terminator(ndr
, length_ntds_dn_1
, sizeof(uint16_t)));
6618 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, length_ntds_dn_1
, sizeof(uint16_t), CH_UTF16
));
6619 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
6622 return NDR_ERR_SUCCESS
;
6625 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
6627 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
6629 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
6631 if (r
->netbios_name
) {
6632 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
6635 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
6638 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
6641 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
6644 ndr_print_string(ndr
, "site_name", r
->site_name
);
6647 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
6650 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
6653 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
6655 if (r
->computer_dn
) {
6656 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
6659 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6662 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6665 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
6668 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
6671 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
6672 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
6673 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
6674 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
6675 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
6676 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
6677 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
6681 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
6683 uint32_t cntr_array_1
;
6684 if (ndr_flags
& NDR_SCALARS
) {
6685 NDR_CHECK(ndr_push_align(ndr
, 4));
6686 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6687 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
6689 if (ndr_flags
& NDR_BUFFERS
) {
6691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6692 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6693 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6695 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6696 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6700 return NDR_ERR_SUCCESS
;
6703 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
6705 uint32_t _ptr_array
;
6706 uint32_t size_array_1
= 0;
6707 uint32_t cntr_array_1
;
6708 TALLOC_CTX
*_mem_save_array_0
;
6709 TALLOC_CTX
*_mem_save_array_1
;
6710 if (ndr_flags
& NDR_SCALARS
) {
6711 NDR_CHECK(ndr_pull_align(ndr
, 4));
6712 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6713 if (r
->count
> 10000) {
6714 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6716 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6718 NDR_PULL_ALLOC(ndr
, r
->array
);
6723 if (ndr_flags
& NDR_BUFFERS
) {
6725 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6726 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6727 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6728 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
6729 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
6730 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6731 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6732 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
6733 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6735 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
6736 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6742 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6745 return NDR_ERR_SUCCESS
;
6748 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
6750 uint32_t cntr_array_1
;
6751 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
6753 ndr_print_uint32(ndr
, "count", r
->count
);
6754 ndr_print_ptr(ndr
, "array", r
->array
);
6757 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6759 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6761 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6762 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
6772 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
6774 if (ndr_flags
& NDR_SCALARS
) {
6775 NDR_CHECK(ndr_push_align(ndr
, 4));
6776 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6777 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6778 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6779 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
6780 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6781 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6782 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
6783 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6784 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6785 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
6786 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
6787 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
6788 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
6789 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
6790 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
6792 if (ndr_flags
& NDR_BUFFERS
) {
6793 if (r
->netbios_name
) {
6794 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6795 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6796 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6797 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6800 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6801 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6802 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6803 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6806 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6807 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6808 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6809 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6812 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
6813 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6814 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
6815 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6817 if (r
->computer_dn
) {
6818 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6819 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6820 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6821 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6824 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6825 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6826 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6827 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6830 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
6831 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
6832 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
6833 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6836 return NDR_ERR_SUCCESS
;
6839 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
6841 uint32_t _ptr_netbios_name
;
6842 uint32_t size_netbios_name_1
= 0;
6843 uint32_t length_netbios_name_1
= 0;
6844 TALLOC_CTX
*_mem_save_netbios_name_0
;
6845 uint32_t _ptr_dns_name
;
6846 uint32_t size_dns_name_1
= 0;
6847 uint32_t length_dns_name_1
= 0;
6848 TALLOC_CTX
*_mem_save_dns_name_0
;
6849 uint32_t _ptr_site_name
;
6850 uint32_t size_site_name_1
= 0;
6851 uint32_t length_site_name_1
= 0;
6852 TALLOC_CTX
*_mem_save_site_name_0
;
6853 uint32_t _ptr_site_dn
;
6854 uint32_t size_site_dn_1
= 0;
6855 uint32_t length_site_dn_1
= 0;
6856 TALLOC_CTX
*_mem_save_site_dn_0
;
6857 uint32_t _ptr_computer_dn
;
6858 uint32_t size_computer_dn_1
= 0;
6859 uint32_t length_computer_dn_1
= 0;
6860 TALLOC_CTX
*_mem_save_computer_dn_0
;
6861 uint32_t _ptr_server_dn
;
6862 uint32_t size_server_dn_1
= 0;
6863 uint32_t length_server_dn_1
= 0;
6864 TALLOC_CTX
*_mem_save_server_dn_0
;
6865 uint32_t _ptr_ntds_dn
;
6866 uint32_t size_ntds_dn_1
= 0;
6867 uint32_t length_ntds_dn_1
= 0;
6868 TALLOC_CTX
*_mem_save_ntds_dn_0
;
6869 if (ndr_flags
& NDR_SCALARS
) {
6870 NDR_CHECK(ndr_pull_align(ndr
, 4));
6871 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6872 if (_ptr_netbios_name
) {
6873 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
6875 r
->netbios_name
= NULL
;
6877 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
6878 if (_ptr_dns_name
) {
6879 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
6883 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
6884 if (_ptr_site_name
) {
6885 NDR_PULL_ALLOC(ndr
, r
->site_name
);
6887 r
->site_name
= NULL
;
6889 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
6891 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
6895 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
6896 if (_ptr_computer_dn
) {
6897 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
6899 r
->computer_dn
= NULL
;
6901 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6902 if (_ptr_server_dn
) {
6903 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6905 r
->server_dn
= NULL
;
6907 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
6909 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
6913 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
6914 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
6915 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
6916 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
6917 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
6918 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
6919 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
6920 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
6922 if (ndr_flags
& NDR_BUFFERS
) {
6923 if (r
->netbios_name
) {
6924 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6925 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
6926 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
6927 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
6928 size_netbios_name_1
= ndr_get_array_size(ndr
, &r
->netbios_name
);
6929 length_netbios_name_1
= ndr_get_array_length(ndr
, &r
->netbios_name
);
6930 if (length_netbios_name_1
> size_netbios_name_1
) {
6931 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
);
6933 NDR_CHECK(ndr_check_string_terminator(ndr
, length_netbios_name_1
, sizeof(uint16_t)));
6934 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, length_netbios_name_1
, sizeof(uint16_t), CH_UTF16
));
6935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
6938 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6939 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
6940 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
6941 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
6942 size_dns_name_1
= ndr_get_array_size(ndr
, &r
->dns_name
);
6943 length_dns_name_1
= ndr_get_array_length(ndr
, &r
->dns_name
);
6944 if (length_dns_name_1
> size_dns_name_1
) {
6945 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
);
6947 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_name_1
, sizeof(uint16_t)));
6948 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, length_dns_name_1
, sizeof(uint16_t), CH_UTF16
));
6949 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
6952 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6953 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
6954 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
6955 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
6956 size_site_name_1
= ndr_get_array_size(ndr
, &r
->site_name
);
6957 length_site_name_1
= ndr_get_array_length(ndr
, &r
->site_name
);
6958 if (length_site_name_1
> size_site_name_1
) {
6959 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
);
6961 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_name_1
, sizeof(uint16_t)));
6962 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, length_site_name_1
, sizeof(uint16_t), CH_UTF16
));
6963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
6966 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6967 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
6968 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
6969 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
6970 size_site_dn_1
= ndr_get_array_size(ndr
, &r
->site_dn
);
6971 length_site_dn_1
= ndr_get_array_length(ndr
, &r
->site_dn
);
6972 if (length_site_dn_1
> size_site_dn_1
) {
6973 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
);
6975 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_dn_1
, sizeof(uint16_t)));
6976 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, length_site_dn_1
, sizeof(uint16_t), CH_UTF16
));
6977 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
6979 if (r
->computer_dn
) {
6980 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6981 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
6982 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
6983 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
6984 size_computer_dn_1
= ndr_get_array_size(ndr
, &r
->computer_dn
);
6985 length_computer_dn_1
= ndr_get_array_length(ndr
, &r
->computer_dn
);
6986 if (length_computer_dn_1
> size_computer_dn_1
) {
6987 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
);
6989 NDR_CHECK(ndr_check_string_terminator(ndr
, length_computer_dn_1
, sizeof(uint16_t)));
6990 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, length_computer_dn_1
, sizeof(uint16_t), CH_UTF16
));
6991 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
6994 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6995 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6996 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6997 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6998 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
6999 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
7000 if (length_server_dn_1
> size_server_dn_1
) {
7001 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
);
7003 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
7004 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
7005 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7008 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7009 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7010 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7011 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7012 size_ntds_dn_1
= ndr_get_array_size(ndr
, &r
->ntds_dn
);
7013 length_ntds_dn_1
= ndr_get_array_length(ndr
, &r
->ntds_dn
);
7014 if (length_ntds_dn_1
> size_ntds_dn_1
) {
7015 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
);
7017 NDR_CHECK(ndr_check_string_terminator(ndr
, length_ntds_dn_1
, sizeof(uint16_t)));
7018 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, length_ntds_dn_1
, sizeof(uint16_t), CH_UTF16
));
7019 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7022 return NDR_ERR_SUCCESS
;
7025 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7027 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7029 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7031 if (r
->netbios_name
) {
7032 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7035 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7038 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7041 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7044 ndr_print_string(ndr
, "site_name", r
->site_name
);
7047 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7050 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7053 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7055 if (r
->computer_dn
) {
7056 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7059 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7062 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7065 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7068 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7071 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7072 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7073 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7074 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
7075 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7076 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7077 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7078 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7082 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7084 uint32_t cntr_array_1
;
7085 if (ndr_flags
& NDR_SCALARS
) {
7086 NDR_CHECK(ndr_push_align(ndr
, 4));
7087 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7088 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7090 if (ndr_flags
& NDR_BUFFERS
) {
7092 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7093 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7094 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7096 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7097 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7101 return NDR_ERR_SUCCESS
;
7104 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
7106 uint32_t _ptr_array
;
7107 uint32_t size_array_1
= 0;
7108 uint32_t cntr_array_1
;
7109 TALLOC_CTX
*_mem_save_array_0
;
7110 TALLOC_CTX
*_mem_save_array_1
;
7111 if (ndr_flags
& NDR_SCALARS
) {
7112 NDR_CHECK(ndr_pull_align(ndr
, 4));
7113 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7114 if (r
->count
> 10000) {
7115 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7117 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7119 NDR_PULL_ALLOC(ndr
, r
->array
);
7124 if (ndr_flags
& NDR_BUFFERS
) {
7126 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7127 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7128 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7129 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
7130 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
7131 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7132 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7133 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7134 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7136 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7137 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7139 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7140 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7143 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7146 return NDR_ERR_SUCCESS
;
7149 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7151 uint32_t cntr_array_1
;
7152 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
7154 ndr_print_uint32(ndr
, "count", r
->count
);
7155 ndr_print_ptr(ndr
, "array", r
->array
);
7158 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7160 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7162 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7163 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
7173 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
7175 if (ndr_flags
& NDR_SCALARS
) {
7176 NDR_CHECK(ndr_push_align(ndr
, 4));
7178 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7179 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7180 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
7181 ndr
->flags
= _flags_save_ipv4address
;
7183 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7184 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
7185 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
7186 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
7187 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
7188 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
7190 if (ndr_flags
& NDR_BUFFERS
) {
7191 if (r
->client_account
) {
7192 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
7194 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7195 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7198 return NDR_ERR_SUCCESS
;
7201 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
7203 uint32_t _ptr_client_account
;
7204 uint32_t size_client_account_1
= 0;
7205 uint32_t length_client_account_1
= 0;
7206 TALLOC_CTX
*_mem_save_client_account_0
;
7207 if (ndr_flags
& NDR_SCALARS
) {
7208 NDR_CHECK(ndr_pull_align(ndr
, 4));
7210 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7211 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7212 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
7213 ndr
->flags
= _flags_save_ipv4address
;
7215 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
7216 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
7217 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
7218 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
7219 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
7220 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
7221 if (_ptr_client_account
) {
7222 NDR_PULL_ALLOC(ndr
, r
->client_account
);
7224 r
->client_account
= NULL
;
7227 if (ndr_flags
& NDR_BUFFERS
) {
7228 if (r
->client_account
) {
7229 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7230 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
7231 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
7232 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
7233 size_client_account_1
= ndr_get_array_size(ndr
, &r
->client_account
);
7234 length_client_account_1
= ndr_get_array_length(ndr
, &r
->client_account
);
7235 if (length_client_account_1
> size_client_account_1
) {
7236 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
);
7238 NDR_CHECK(ndr_check_string_terminator(ndr
, length_client_account_1
, sizeof(uint16_t)));
7239 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, length_client_account_1
, sizeof(uint16_t), CH_UTF16
));
7240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
7243 return NDR_ERR_SUCCESS
;
7246 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
7248 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
7250 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
7251 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
7252 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
7253 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
7254 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
7255 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
7256 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
7258 if (r
->client_account
) {
7259 ndr_print_string(ndr
, "client_account", r
->client_account
);
7265 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
7267 uint32_t cntr_array_1
;
7268 if (ndr_flags
& NDR_SCALARS
) {
7269 NDR_CHECK(ndr_push_align(ndr
, 4));
7270 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7271 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7273 if (ndr_flags
& NDR_BUFFERS
) {
7275 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7276 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7277 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7279 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7280 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7284 return NDR_ERR_SUCCESS
;
7287 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
7289 uint32_t _ptr_array
;
7290 uint32_t size_array_1
= 0;
7291 uint32_t cntr_array_1
;
7292 TALLOC_CTX
*_mem_save_array_0
;
7293 TALLOC_CTX
*_mem_save_array_1
;
7294 if (ndr_flags
& NDR_SCALARS
) {
7295 NDR_CHECK(ndr_pull_align(ndr
, 4));
7296 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7297 if (r
->count
> 10000) {
7298 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7300 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7302 NDR_PULL_ALLOC(ndr
, r
->array
);
7307 if (ndr_flags
& NDR_BUFFERS
) {
7309 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7310 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7311 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7312 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
7313 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
7314 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7315 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7316 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7317 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7319 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7320 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7322 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7323 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7326 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7329 return NDR_ERR_SUCCESS
;
7332 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
7334 uint32_t cntr_array_1
;
7335 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
7337 ndr_print_uint32(ndr
, "count", r
->count
);
7338 ndr_print_ptr(ndr
, "array", r
->array
);
7341 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7343 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7345 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7346 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
7356 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
7358 if (ndr_flags
& NDR_SCALARS
) {
7359 int level
= ndr_push_get_switch_value(ndr
, r
);
7360 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
7362 case DRSUAPI_DC_INFO_CTR_1
: {
7363 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
7366 case DRSUAPI_DC_INFO_CTR_2
: {
7367 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
7370 case DRSUAPI_DC_INFO_CTR_3
: {
7371 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
7374 case DRSUAPI_DC_CONNECTION_CTR_01
: {
7375 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
7379 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7382 if (ndr_flags
& NDR_BUFFERS
) {
7383 int level
= ndr_push_get_switch_value(ndr
, r
);
7385 case DRSUAPI_DC_INFO_CTR_1
:
7386 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
7389 case DRSUAPI_DC_INFO_CTR_2
:
7390 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
7393 case DRSUAPI_DC_INFO_CTR_3
:
7394 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
7397 case DRSUAPI_DC_CONNECTION_CTR_01
:
7398 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
7402 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7405 return NDR_ERR_SUCCESS
;
7408 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
7412 level
= ndr_pull_get_switch_value(ndr
, r
);
7413 if (ndr_flags
& NDR_SCALARS
) {
7414 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
7415 if (_level
!= level
) {
7416 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
7419 case DRSUAPI_DC_INFO_CTR_1
: {
7420 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
7423 case DRSUAPI_DC_INFO_CTR_2
: {
7424 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
7427 case DRSUAPI_DC_INFO_CTR_3
: {
7428 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
7431 case DRSUAPI_DC_CONNECTION_CTR_01
: {
7432 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
7436 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7439 if (ndr_flags
& NDR_BUFFERS
) {
7441 case DRSUAPI_DC_INFO_CTR_1
:
7442 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
7445 case DRSUAPI_DC_INFO_CTR_2
:
7446 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
7449 case DRSUAPI_DC_INFO_CTR_3
:
7450 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
7453 case DRSUAPI_DC_CONNECTION_CTR_01
:
7454 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
7458 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7461 return NDR_ERR_SUCCESS
;
7464 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
7467 level
= ndr_print_get_switch_value(ndr
, r
);
7468 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
7470 case DRSUAPI_DC_INFO_CTR_1
:
7471 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
7474 case DRSUAPI_DC_INFO_CTR_2
:
7475 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
7478 case DRSUAPI_DC_INFO_CTR_3
:
7479 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
7482 case DRSUAPI_DC_CONNECTION_CTR_01
:
7483 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
7487 ndr_print_bad_level(ndr
, name
, level
);
7491 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
7493 if (ndr_flags
& NDR_SCALARS
) {
7494 NDR_CHECK(ndr_push_align(ndr
, 4));
7495 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
7496 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
7498 if (ndr_flags
& NDR_BUFFERS
) {
7499 if (r
->next_object
) {
7500 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
7502 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
7504 return NDR_ERR_SUCCESS
;
7507 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
7509 uint32_t _ptr_next_object
;
7510 TALLOC_CTX
*_mem_save_next_object_0
;
7511 if (ndr_flags
& NDR_SCALARS
) {
7512 NDR_CHECK(ndr_pull_align(ndr
, 4));
7513 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
7514 if (_ptr_next_object
) {
7515 NDR_PULL_ALLOC(ndr
, r
->next_object
);
7517 r
->next_object
= NULL
;
7519 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
7521 if (ndr_flags
& NDR_BUFFERS
) {
7522 if (r
->next_object
) {
7523 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7524 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
7525 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
7526 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
7528 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
7530 return NDR_ERR_SUCCESS
;
7533 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
7535 if (ndr_flags
& NDR_SCALARS
) {
7536 NDR_CHECK(ndr_push_align(ndr
, 4));
7537 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
7539 if (ndr_flags
& NDR_BUFFERS
) {
7540 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
7542 return NDR_ERR_SUCCESS
;
7545 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
7547 if (ndr_flags
& NDR_SCALARS
) {
7548 NDR_CHECK(ndr_pull_align(ndr
, 4));
7549 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
7551 if (ndr_flags
& NDR_BUFFERS
) {
7552 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
7554 return NDR_ERR_SUCCESS
;
7557 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
7559 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
7561 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
7565 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
7567 if (ndr_flags
& NDR_SCALARS
) {
7568 int level
= ndr_push_get_switch_value(ndr
, r
);
7569 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
7572 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
7576 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7579 if (ndr_flags
& NDR_BUFFERS
) {
7580 int level
= ndr_push_get_switch_value(ndr
, r
);
7583 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
7587 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7590 return NDR_ERR_SUCCESS
;
7593 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
7597 level
= ndr_pull_get_switch_value(ndr
, r
);
7598 if (ndr_flags
& NDR_SCALARS
) {
7599 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
7600 if (_level
!= level
) {
7601 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
7605 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
7609 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7612 if (ndr_flags
& NDR_BUFFERS
) {
7615 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
7619 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7622 return NDR_ERR_SUCCESS
;
7625 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
7628 level
= ndr_print_get_switch_value(ndr
, r
);
7629 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
7632 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
7636 ndr_print_bad_level(ndr
, name
, level
);
7640 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
7642 if (ndr_flags
& NDR_SCALARS
) {
7643 NDR_CHECK(ndr_push_align(ndr
, 4));
7644 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
7645 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
7646 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7647 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
7649 if (ndr_flags
& NDR_BUFFERS
) {
7651 return NDR_ERR_SUCCESS
;
7654 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
7656 if (ndr_flags
& NDR_SCALARS
) {
7657 NDR_CHECK(ndr_pull_align(ndr
, 4));
7658 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
7659 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
7660 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
7661 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
7663 if (ndr_flags
& NDR_BUFFERS
) {
7665 return NDR_ERR_SUCCESS
;
7668 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
7670 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
7672 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
7673 ndr_print_WERROR(ndr
, "status", r
->status
);
7674 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
7675 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
7679 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
7681 if (ndr_flags
& NDR_SCALARS
) {
7682 NDR_CHECK(ndr_push_align(ndr
, 4));
7683 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
7684 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
7686 if (ndr_flags
& NDR_BUFFERS
) {
7688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
7689 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
7692 return NDR_ERR_SUCCESS
;
7695 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
7698 uint32_t size_data_1
= 0;
7699 TALLOC_CTX
*_mem_save_data_0
;
7700 if (ndr_flags
& NDR_SCALARS
) {
7701 NDR_CHECK(ndr_pull_align(ndr
, 4));
7702 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
7703 if (r
->size
> 10485760) {
7704 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7706 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
7708 NDR_PULL_ALLOC(ndr
, r
->data
);
7713 if (ndr_flags
& NDR_BUFFERS
) {
7715 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7716 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
7717 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
7718 size_data_1
= ndr_get_array_size(ndr
, &r
->data
);
7719 NDR_PULL_ALLOC_N(ndr
, r
->data
, size_data_1
);
7720 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_1
));
7721 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
7724 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
7727 return NDR_ERR_SUCCESS
;
7730 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
7732 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
7734 ndr_print_uint32(ndr
, "size", r
->size
);
7735 ndr_print_ptr(ndr
, "data", r
->data
);
7738 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
7744 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
7746 if (ndr_flags
& NDR_SCALARS
) {
7747 NDR_CHECK(ndr_push_align(ndr
, 4));
7748 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
7749 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
7750 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7751 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
7753 if (ndr_flags
& NDR_BUFFERS
) {
7754 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
7756 return NDR_ERR_SUCCESS
;
7759 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
7761 if (ndr_flags
& NDR_SCALARS
) {
7762 NDR_CHECK(ndr_pull_align(ndr
, 4));
7763 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
7764 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
7765 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
7766 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
7768 if (ndr_flags
& NDR_BUFFERS
) {
7769 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
7771 return NDR_ERR_SUCCESS
;
7774 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
7776 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
7778 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
7779 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
7780 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
7781 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
7785 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
7787 if (ndr_flags
& NDR_SCALARS
) {
7788 NDR_CHECK(ndr_push_align(ndr
, 4));
7789 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
7790 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
7792 if (ndr_flags
& NDR_BUFFERS
) {
7794 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
7796 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
7798 return NDR_ERR_SUCCESS
;
7801 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
7804 TALLOC_CTX
*_mem_save_next_0
;
7805 if (ndr_flags
& NDR_SCALARS
) {
7806 NDR_CHECK(ndr_pull_align(ndr
, 4));
7807 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
7809 NDR_PULL_ALLOC(ndr
, r
->next
);
7813 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
7815 if (ndr_flags
& NDR_BUFFERS
) {
7817 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7818 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
7819 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
7820 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
7822 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
7824 return NDR_ERR_SUCCESS
;
7827 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
7829 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
7831 ndr_print_ptr(ndr
, "next", r
->next
);
7834 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
7837 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
7841 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
7843 if (ndr_flags
& NDR_SCALARS
) {
7844 NDR_CHECK(ndr_push_align(ndr
, 4));
7845 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
7846 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
7847 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
7849 if (ndr_flags
& NDR_BUFFERS
) {
7851 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
7853 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
7855 return NDR_ERR_SUCCESS
;
7858 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
7861 TALLOC_CTX
*_mem_save_id_0
;
7862 if (ndr_flags
& NDR_SCALARS
) {
7863 NDR_CHECK(ndr_pull_align(ndr
, 4));
7864 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
7866 NDR_PULL_ALLOC(ndr
, r
->id
);
7870 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
7871 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
7873 if (ndr_flags
& NDR_BUFFERS
) {
7875 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7876 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
7877 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
7878 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
7880 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
7882 return NDR_ERR_SUCCESS
;
7885 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
7887 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
7889 ndr_print_ptr(ndr
, "id", r
->id
);
7892 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
7895 ndr_print_WERROR(ndr
, "status", r
->status
);
7896 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
7900 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
7902 if (ndr_flags
& NDR_SCALARS
) {
7903 int level
= ndr_push_get_switch_value(ndr
, r
);
7904 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
7907 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
7911 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7915 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7919 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7923 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7927 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7930 if (ndr_flags
& NDR_BUFFERS
) {
7931 int level
= ndr_push_get_switch_value(ndr
, r
);
7934 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
7950 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7953 return NDR_ERR_SUCCESS
;
7956 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
7960 level
= ndr_pull_get_switch_value(ndr
, r
);
7961 if (ndr_flags
& NDR_SCALARS
) {
7962 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
7963 if (_level
!= level
) {
7964 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
7968 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
7972 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7976 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7980 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7984 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
7988 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
7991 if (ndr_flags
& NDR_BUFFERS
) {
7994 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8010 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8013 return NDR_ERR_SUCCESS
;
8016 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8019 level
= ndr_print_get_switch_value(ndr
, r
);
8020 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
8023 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
8027 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8031 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8035 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8039 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8043 ndr_print_bad_level(ndr
, name
, level
);
8047 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
8049 if (ndr_flags
& NDR_SCALARS
) {
8050 NDR_CHECK(ndr_push_align(ndr
, 4));
8051 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8052 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8053 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
8055 if (ndr_flags
& NDR_BUFFERS
) {
8057 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
8058 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8061 return NDR_ERR_SUCCESS
;
8064 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
8067 TALLOC_CTX
*_mem_save_info_0
;
8068 if (ndr_flags
& NDR_SCALARS
) {
8069 NDR_CHECK(ndr_pull_align(ndr
, 4));
8070 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8071 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
8072 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8074 NDR_PULL_ALLOC(ndr
, r
->info
);
8079 if (ndr_flags
& NDR_BUFFERS
) {
8081 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8082 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
8083 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
8084 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8085 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
8088 return NDR_ERR_SUCCESS
;
8091 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
8093 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
8095 ndr_print_WERROR(ndr
, "status", r
->status
);
8096 ndr_print_uint32(ndr
, "level", r
->level
);
8097 ndr_print_ptr(ndr
, "info", r
->info
);
8100 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
8101 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
8107 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
8109 if (ndr_flags
& NDR_SCALARS
) {
8110 int level
= ndr_push_get_switch_value(ndr
, r
);
8111 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8114 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8118 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8121 if (ndr_flags
& NDR_BUFFERS
) {
8122 int level
= ndr_push_get_switch_value(ndr
, r
);
8125 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8129 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8132 return NDR_ERR_SUCCESS
;
8135 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
8139 level
= ndr_pull_get_switch_value(ndr
, r
);
8140 if (ndr_flags
& NDR_SCALARS
) {
8141 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8142 if (_level
!= level
) {
8143 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
8147 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8151 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8154 if (ndr_flags
& NDR_BUFFERS
) {
8157 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8161 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8164 return NDR_ERR_SUCCESS
;
8167 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
8170 level
= ndr_print_get_switch_value(ndr
, r
);
8171 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
8174 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
8178 ndr_print_bad_level(ndr
, name
, level
);
8182 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
8184 if (ndr_flags
& NDR_SCALARS
) {
8185 NDR_CHECK(ndr_push_align(ndr
, 4));
8186 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
8187 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
8189 if (ndr_flags
& NDR_BUFFERS
) {
8190 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
8192 return NDR_ERR_SUCCESS
;
8195 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
8197 if (ndr_flags
& NDR_SCALARS
) {
8198 NDR_CHECK(ndr_pull_align(ndr
, 4));
8199 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
8200 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
8202 if (ndr_flags
& NDR_BUFFERS
) {
8203 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
8205 return NDR_ERR_SUCCESS
;
8208 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
8210 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
8212 ndr_print_GUID(ndr
, "guid", &r
->guid
);
8213 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
8217 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
8219 uint32_t cntr_objects_1
;
8220 if (ndr_flags
& NDR_SCALARS
) {
8221 NDR_CHECK(ndr_push_align(ndr
, 4));
8222 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8223 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8224 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8225 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8226 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
8228 if (ndr_flags
& NDR_BUFFERS
) {
8230 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8233 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8234 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
8235 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
8237 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
8238 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
8242 return NDR_ERR_SUCCESS
;
8245 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
8248 TALLOC_CTX
*_mem_save_id_0
;
8249 uint32_t _ptr_objects
;
8250 uint32_t size_objects_1
= 0;
8251 uint32_t cntr_objects_1
;
8252 TALLOC_CTX
*_mem_save_objects_0
;
8253 TALLOC_CTX
*_mem_save_objects_1
;
8254 if (ndr_flags
& NDR_SCALARS
) {
8255 NDR_CHECK(ndr_pull_align(ndr
, 4));
8256 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8258 NDR_PULL_ALLOC(ndr
, r
->id
);
8262 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8263 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8264 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8265 if (r
->count
> 10000) {
8266 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8268 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
8270 NDR_PULL_ALLOC(ndr
, r
->objects
);
8275 if (ndr_flags
& NDR_BUFFERS
) {
8277 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8278 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8279 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8280 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8283 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8284 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
8285 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
8286 size_objects_1
= ndr_get_array_size(ndr
, &r
->objects
);
8287 NDR_PULL_ALLOC_N(ndr
, r
->objects
, size_objects_1
);
8288 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8289 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
8290 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
8291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
8293 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
8294 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
8296 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
8297 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
8300 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
8303 return NDR_ERR_SUCCESS
;
8306 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
8308 uint32_t cntr_objects_1
;
8309 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
8311 ndr_print_ptr(ndr
, "id", r
->id
);
8314 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8317 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8318 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8319 ndr_print_uint32(ndr
, "count", r
->count
);
8320 ndr_print_ptr(ndr
, "objects", r
->objects
);
8323 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
8325 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
8327 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
8328 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
8338 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
8340 uint32_t cntr_objects_1
;
8341 if (ndr_flags
& NDR_SCALARS
) {
8342 NDR_CHECK(ndr_push_align(ndr
, 4));
8343 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8344 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8345 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
8346 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8347 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
8349 if (ndr_flags
& NDR_BUFFERS
) {
8351 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8354 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
8355 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
8358 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8359 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
8360 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
8362 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
8363 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
8367 return NDR_ERR_SUCCESS
;
8370 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
8373 TALLOC_CTX
*_mem_save_id_0
;
8374 uint32_t _ptr_error
;
8375 TALLOC_CTX
*_mem_save_error_0
;
8376 uint32_t _ptr_objects
;
8377 uint32_t size_objects_1
= 0;
8378 uint32_t cntr_objects_1
;
8379 TALLOC_CTX
*_mem_save_objects_0
;
8380 TALLOC_CTX
*_mem_save_objects_1
;
8381 if (ndr_flags
& NDR_SCALARS
) {
8382 NDR_CHECK(ndr_pull_align(ndr
, 4));
8383 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8385 NDR_PULL_ALLOC(ndr
, r
->id
);
8389 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
8390 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
8392 NDR_PULL_ALLOC(ndr
, r
->error
);
8396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8397 if (r
->count
> 10000) {
8398 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8400 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
8402 NDR_PULL_ALLOC(ndr
, r
->objects
);
8407 if (ndr_flags
& NDR_BUFFERS
) {
8409 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8410 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8411 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8412 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8415 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8416 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
8417 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
8418 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
8419 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
8422 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8423 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
8424 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
8425 size_objects_1
= ndr_get_array_size(ndr
, &r
->objects
);
8426 NDR_PULL_ALLOC_N(ndr
, r
->objects
, size_objects_1
);
8427 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8428 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
8429 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
8430 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
8432 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
8433 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
8435 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
8436 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
8439 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
8442 return NDR_ERR_SUCCESS
;
8445 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
8447 uint32_t cntr_objects_1
;
8448 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
8450 ndr_print_ptr(ndr
, "id", r
->id
);
8453 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8456 ndr_print_uint32(ndr
, "level", r
->level
);
8457 ndr_print_ptr(ndr
, "error", r
->error
);
8460 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
8461 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
8464 ndr_print_uint32(ndr
, "count", r
->count
);
8465 ndr_print_ptr(ndr
, "objects", r
->objects
);
8468 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
8470 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
8472 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
8473 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
8483 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
8485 if (ndr_flags
& NDR_SCALARS
) {
8486 int level
= ndr_push_get_switch_value(ndr
, r
);
8487 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8490 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8494 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8498 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8501 if (ndr_flags
& NDR_BUFFERS
) {
8502 int level
= ndr_push_get_switch_value(ndr
, r
);
8505 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8509 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8513 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8516 return NDR_ERR_SUCCESS
;
8519 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
8523 level
= ndr_pull_get_switch_value(ndr
, r
);
8524 if (ndr_flags
& NDR_SCALARS
) {
8525 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8526 if (_level
!= level
) {
8527 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
8531 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8535 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8539 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8542 if (ndr_flags
& NDR_BUFFERS
) {
8545 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8549 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8553 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8556 return NDR_ERR_SUCCESS
;
8559 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
8562 level
= ndr_print_get_switch_value(ndr
, r
);
8563 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
8566 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
8570 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
8574 ndr_print_bad_level(ndr
, name
, level
);
8578 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
8580 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
8581 return NDR_ERR_SUCCESS
;
8584 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
8587 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
8589 return NDR_ERR_SUCCESS
;
8592 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
8594 const char *val
= NULL
;
8597 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
8598 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
8600 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
8603 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
8605 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
8606 return NDR_ERR_SUCCESS
;
8609 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
8612 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
8614 return NDR_ERR_SUCCESS
;
8617 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
8619 const char *val
= NULL
;
8622 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
8623 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
8624 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
8625 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
8626 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
8627 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
8628 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
8629 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
8630 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
8631 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
8632 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
8633 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
8634 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: val
= "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
8635 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
8636 case DRSUAPI_DS_REPLICA_INFO_06
: val
= "DRSUAPI_DS_REPLICA_INFO_06"; break;
8638 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
8641 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
8643 if (ndr_flags
& NDR_SCALARS
) {
8644 NDR_CHECK(ndr_push_align(ndr
, 4));
8645 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
8646 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
8647 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
8649 if (ndr_flags
& NDR_BUFFERS
) {
8651 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
8652 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8653 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
8654 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8657 return NDR_ERR_SUCCESS
;
8660 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
8662 uint32_t _ptr_object_dn
;
8663 uint32_t size_object_dn_1
= 0;
8664 uint32_t length_object_dn_1
= 0;
8665 TALLOC_CTX
*_mem_save_object_dn_0
;
8666 if (ndr_flags
& NDR_SCALARS
) {
8667 NDR_CHECK(ndr_pull_align(ndr
, 4));
8668 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
8669 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
8670 if (_ptr_object_dn
) {
8671 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
8673 r
->object_dn
= NULL
;
8675 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
8677 if (ndr_flags
& NDR_BUFFERS
) {
8679 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8680 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
8681 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
8682 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
8683 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
8684 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
8685 if (length_object_dn_1
> size_object_dn_1
) {
8686 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
);
8688 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
8689 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
8690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
8693 return NDR_ERR_SUCCESS
;
8696 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
8698 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
8700 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
8701 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
8704 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
8707 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
8711 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
8713 if (ndr_flags
& NDR_SCALARS
) {
8714 NDR_CHECK(ndr_push_align(ndr
, 4));
8715 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
8716 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
8717 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
8718 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8719 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string1
));
8720 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string2
));
8721 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8723 if (ndr_flags
& NDR_BUFFERS
) {
8725 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
8726 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8727 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
8728 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8731 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
8732 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8733 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
8734 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string1
, ndr_charset_length(r
->string1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8737 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
8738 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8739 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
8740 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string2
, ndr_charset_length(r
->string2
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8743 return NDR_ERR_SUCCESS
;
8746 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
8748 uint32_t _ptr_object_dn
;
8749 uint32_t size_object_dn_1
= 0;
8750 uint32_t length_object_dn_1
= 0;
8751 TALLOC_CTX
*_mem_save_object_dn_0
;
8752 uint32_t _ptr_string1
;
8753 uint32_t size_string1_1
= 0;
8754 uint32_t length_string1_1
= 0;
8755 TALLOC_CTX
*_mem_save_string1_0
;
8756 uint32_t _ptr_string2
;
8757 uint32_t size_string2_1
= 0;
8758 uint32_t length_string2_1
= 0;
8759 TALLOC_CTX
*_mem_save_string2_0
;
8760 if (ndr_flags
& NDR_SCALARS
) {
8761 NDR_CHECK(ndr_pull_align(ndr
, 4));
8762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
8763 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
8764 if (_ptr_object_dn
) {
8765 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
8767 r
->object_dn
= NULL
;
8769 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
8770 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8771 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string1
));
8773 NDR_PULL_ALLOC(ndr
, r
->string1
);
8777 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string2
));
8779 NDR_PULL_ALLOC(ndr
, r
->string2
);
8783 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8785 if (ndr_flags
& NDR_BUFFERS
) {
8787 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8788 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
8789 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
8790 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
8791 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
8792 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
8793 if (length_object_dn_1
> size_object_dn_1
) {
8794 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
);
8796 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
8797 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
8798 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
8801 _mem_save_string1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8802 NDR_PULL_SET_MEM_CTX(ndr
, r
->string1
, 0);
8803 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string1
));
8804 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string1
));
8805 size_string1_1
= ndr_get_array_size(ndr
, &r
->string1
);
8806 length_string1_1
= ndr_get_array_length(ndr
, &r
->string1
);
8807 if (length_string1_1
> size_string1_1
) {
8808 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_string1_1
, length_string1_1
);
8810 NDR_CHECK(ndr_check_string_terminator(ndr
, length_string1_1
, sizeof(uint16_t)));
8811 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string1
, length_string1_1
, sizeof(uint16_t), CH_UTF16
));
8812 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string1_0
, 0);
8815 _mem_save_string2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8816 NDR_PULL_SET_MEM_CTX(ndr
, r
->string2
, 0);
8817 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string2
));
8818 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string2
));
8819 size_string2_1
= ndr_get_array_size(ndr
, &r
->string2
);
8820 length_string2_1
= ndr_get_array_length(ndr
, &r
->string2
);
8821 if (length_string2_1
> size_string2_1
) {
8822 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_string2_1
, length_string2_1
);
8824 NDR_CHECK(ndr_check_string_terminator(ndr
, length_string2_1
, sizeof(uint16_t)));
8825 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string2
, length_string2_1
, sizeof(uint16_t), CH_UTF16
));
8826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string2_0
, 0);
8829 return NDR_ERR_SUCCESS
;
8832 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
8834 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
8836 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
8837 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
8840 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
8843 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
8844 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8845 ndr_print_ptr(ndr
, "string1", r
->string1
);
8848 ndr_print_string(ndr
, "string1", r
->string1
);
8851 ndr_print_ptr(ndr
, "string2", r
->string2
);
8854 ndr_print_string(ndr
, "string2", r
->string2
);
8857 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8861 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
8863 if (ndr_flags
& NDR_SCALARS
) {
8864 int level
= ndr_push_get_switch_value(ndr
, r
);
8865 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
8867 case DRSUAPI_DS_REPLICA_GET_INFO
: {
8868 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
8871 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
8872 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8876 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8879 if (ndr_flags
& NDR_BUFFERS
) {
8880 int level
= ndr_push_get_switch_value(ndr
, r
);
8882 case DRSUAPI_DS_REPLICA_GET_INFO
:
8883 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
8886 case DRSUAPI_DS_REPLICA_GET_INFO2
:
8887 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8891 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8894 return NDR_ERR_SUCCESS
;
8897 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
8901 level
= ndr_pull_get_switch_value(ndr
, r
);
8902 if (ndr_flags
& NDR_SCALARS
) {
8903 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8904 if (_level
!= level
) {
8905 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
8908 case DRSUAPI_DS_REPLICA_GET_INFO
: {
8909 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
8912 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
8913 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8917 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8920 if (ndr_flags
& NDR_BUFFERS
) {
8922 case DRSUAPI_DS_REPLICA_GET_INFO
:
8923 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
8926 case DRSUAPI_DS_REPLICA_GET_INFO2
:
8927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8931 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
8934 return NDR_ERR_SUCCESS
;
8937 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
8940 level
= ndr_print_get_switch_value(ndr
, r
);
8941 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
8943 case DRSUAPI_DS_REPLICA_GET_INFO
:
8944 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
8947 case DRSUAPI_DS_REPLICA_GET_INFO2
:
8948 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
8952 ndr_print_bad_level(ndr
, name
, level
);
8956 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
8958 if (ndr_flags
& NDR_SCALARS
) {
8959 NDR_CHECK(ndr_push_align(ndr
, 8));
8960 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
8961 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
8962 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
8963 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
8964 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
8965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
8966 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
8967 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
8968 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
8969 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
8970 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
8971 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
8972 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
8973 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
8974 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
8975 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
8977 if (ndr_flags
& NDR_BUFFERS
) {
8978 if (r
->naming_context_dn
) {
8979 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
8980 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8981 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
8982 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
));
8984 if (r
->source_dsa_obj_dn
) {
8985 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
8986 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8987 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
8988 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
));
8990 if (r
->source_dsa_address
) {
8991 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
8992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
8994 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
));
8996 if (r
->transport_obj_dn
) {
8997 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
8998 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8999 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9000 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
));
9003 return NDR_ERR_SUCCESS
;
9006 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
9008 uint32_t _ptr_naming_context_dn
;
9009 uint32_t size_naming_context_dn_1
= 0;
9010 uint32_t length_naming_context_dn_1
= 0;
9011 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
9012 uint32_t _ptr_source_dsa_obj_dn
;
9013 uint32_t size_source_dsa_obj_dn_1
= 0;
9014 uint32_t length_source_dsa_obj_dn_1
= 0;
9015 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
9016 uint32_t _ptr_source_dsa_address
;
9017 uint32_t size_source_dsa_address_1
= 0;
9018 uint32_t length_source_dsa_address_1
= 0;
9019 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
9020 uint32_t _ptr_transport_obj_dn
;
9021 uint32_t size_transport_obj_dn_1
= 0;
9022 uint32_t length_transport_obj_dn_1
= 0;
9023 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
9024 if (ndr_flags
& NDR_SCALARS
) {
9025 NDR_CHECK(ndr_pull_align(ndr
, 8));
9026 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
9027 if (_ptr_naming_context_dn
) {
9028 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
9030 r
->naming_context_dn
= NULL
;
9032 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
9033 if (_ptr_source_dsa_obj_dn
) {
9034 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
9036 r
->source_dsa_obj_dn
= NULL
;
9038 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
9039 if (_ptr_source_dsa_address
) {
9040 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
9042 r
->source_dsa_address
= NULL
;
9044 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
9045 if (_ptr_transport_obj_dn
) {
9046 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
9048 r
->transport_obj_dn
= NULL
;
9050 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
9051 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9052 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9053 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9054 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9055 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9056 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
9057 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
9058 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
9059 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
9060 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
9061 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
9063 if (ndr_flags
& NDR_BUFFERS
) {
9064 if (r
->naming_context_dn
) {
9065 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9066 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
9067 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
9068 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
9069 size_naming_context_dn_1
= ndr_get_array_size(ndr
, &r
->naming_context_dn
);
9070 length_naming_context_dn_1
= ndr_get_array_length(ndr
, &r
->naming_context_dn
);
9071 if (length_naming_context_dn_1
> size_naming_context_dn_1
) {
9072 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
);
9074 NDR_CHECK(ndr_check_string_terminator(ndr
, length_naming_context_dn_1
, sizeof(uint16_t)));
9075 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->naming_context_dn
, length_naming_context_dn_1
, sizeof(uint16_t), CH_UTF16
));
9076 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
9078 if (r
->source_dsa_obj_dn
) {
9079 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9080 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
9081 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
9082 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
9083 size_source_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
);
9084 length_source_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
);
9085 if (length_source_dsa_obj_dn_1
> size_source_dsa_obj_dn_1
) {
9086 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
);
9088 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_obj_dn_1
, sizeof(uint16_t)));
9089 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_dn
, length_source_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
9090 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
9092 if (r
->source_dsa_address
) {
9093 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9094 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
9095 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
9096 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
9097 size_source_dsa_address_1
= ndr_get_array_size(ndr
, &r
->source_dsa_address
);
9098 length_source_dsa_address_1
= ndr_get_array_length(ndr
, &r
->source_dsa_address
);
9099 if (length_source_dsa_address_1
> size_source_dsa_address_1
) {
9100 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
);
9102 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_address_1
, sizeof(uint16_t)));
9103 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, length_source_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
9104 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
9106 if (r
->transport_obj_dn
) {
9107 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9108 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
9109 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
9110 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
9111 size_transport_obj_dn_1
= ndr_get_array_size(ndr
, &r
->transport_obj_dn
);
9112 length_transport_obj_dn_1
= ndr_get_array_length(ndr
, &r
->transport_obj_dn
);
9113 if (length_transport_obj_dn_1
> size_transport_obj_dn_1
) {
9114 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
);
9116 NDR_CHECK(ndr_check_string_terminator(ndr
, length_transport_obj_dn_1
, sizeof(uint16_t)));
9117 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->transport_obj_dn
, length_transport_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
9118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
9121 return NDR_ERR_SUCCESS
;
9124 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
9126 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
9128 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
9130 if (r
->naming_context_dn
) {
9131 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
9134 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
9136 if (r
->source_dsa_obj_dn
) {
9137 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
9140 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
9142 if (r
->source_dsa_address
) {
9143 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
9146 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
9148 if (r
->transport_obj_dn
) {
9149 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
9152 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
9153 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
9154 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
9155 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
9156 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
9157 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
9158 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
9159 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
9160 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
9161 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
9162 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
9163 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
9167 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
9169 uint32_t cntr_array_0
;
9170 if (ndr_flags
& NDR_SCALARS
) {
9171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9172 NDR_CHECK(ndr_push_align(ndr
, 8));
9173 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9174 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9175 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9176 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9179 if (ndr_flags
& NDR_BUFFERS
) {
9180 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9184 return NDR_ERR_SUCCESS
;
9187 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
9189 uint32_t size_array_0
= 0;
9190 uint32_t cntr_array_0
;
9191 TALLOC_CTX
*_mem_save_array_0
;
9192 if (ndr_flags
& NDR_SCALARS
) {
9193 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
9194 NDR_CHECK(ndr_pull_align(ndr
, 8));
9195 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9196 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9197 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9198 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
9199 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9200 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9201 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9202 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9206 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
9209 if (ndr_flags
& NDR_BUFFERS
) {
9210 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9211 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9212 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9213 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9214 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9216 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9218 return NDR_ERR_SUCCESS
;
9221 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
9223 uint32_t cntr_array_0
;
9224 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
9226 ndr_print_uint32(ndr
, "count", r
->count
);
9227 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
9228 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
9230 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
9232 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
9233 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
9241 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
9243 uint32_t cntr_array_0
;
9244 if (ndr_flags
& NDR_SCALARS
) {
9245 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9246 NDR_CHECK(ndr_push_align(ndr
, 8));
9247 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9248 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9249 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9250 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9253 if (ndr_flags
& NDR_BUFFERS
) {
9255 return NDR_ERR_SUCCESS
;
9258 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
9260 uint32_t size_array_0
= 0;
9261 uint32_t cntr_array_0
;
9262 TALLOC_CTX
*_mem_save_array_0
;
9263 if (ndr_flags
& NDR_SCALARS
) {
9264 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
9265 NDR_CHECK(ndr_pull_align(ndr
, 8));
9266 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9267 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9268 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9269 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
9270 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9271 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9272 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9273 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9275 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9277 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
9280 if (ndr_flags
& NDR_BUFFERS
) {
9282 return NDR_ERR_SUCCESS
;
9285 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
9287 uint32_t cntr_array_0
;
9288 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
9290 ndr_print_uint32(ndr
, "count", r
->count
);
9291 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
9292 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
9294 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
9296 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
9297 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
9305 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
9307 if (ndr_flags
& NDR_SCALARS
) {
9308 NDR_CHECK(ndr_push_align(ndr
, 8));
9309 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
9310 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
9311 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
9312 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
9313 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
9314 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
9316 if (ndr_flags
& NDR_BUFFERS
) {
9317 if (r
->attribute_name
) {
9318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
9319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9320 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
9321 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9324 return NDR_ERR_SUCCESS
;
9327 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
9329 uint32_t _ptr_attribute_name
;
9330 uint32_t size_attribute_name_1
= 0;
9331 uint32_t length_attribute_name_1
= 0;
9332 TALLOC_CTX
*_mem_save_attribute_name_0
;
9333 if (ndr_flags
& NDR_SCALARS
) {
9334 NDR_CHECK(ndr_pull_align(ndr
, 8));
9335 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
9336 if (_ptr_attribute_name
) {
9337 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
9339 r
->attribute_name
= NULL
;
9341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
9342 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
9343 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
9344 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
9345 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
9347 if (ndr_flags
& NDR_BUFFERS
) {
9348 if (r
->attribute_name
) {
9349 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9350 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
9351 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
9352 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
9353 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
9354 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
9355 if (length_attribute_name_1
> size_attribute_name_1
) {
9356 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
);
9358 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
9359 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
9360 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
9363 return NDR_ERR_SUCCESS
;
9366 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
9368 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
9370 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
9372 if (r
->attribute_name
) {
9373 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
9376 ndr_print_uint32(ndr
, "version", r
->version
);
9377 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
9378 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
9379 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
9380 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
9384 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
9386 uint32_t cntr_array_0
;
9387 if (ndr_flags
& NDR_SCALARS
) {
9388 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9389 NDR_CHECK(ndr_push_align(ndr
, 8));
9390 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9391 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9392 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9393 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9396 if (ndr_flags
& NDR_BUFFERS
) {
9397 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9398 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9401 return NDR_ERR_SUCCESS
;
9404 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
9406 uint32_t size_array_0
= 0;
9407 uint32_t cntr_array_0
;
9408 TALLOC_CTX
*_mem_save_array_0
;
9409 if (ndr_flags
& NDR_SCALARS
) {
9410 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
9411 NDR_CHECK(ndr_pull_align(ndr
, 8));
9412 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9413 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9414 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9415 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
9416 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9417 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9418 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9419 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9421 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9423 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
9426 if (ndr_flags
& NDR_BUFFERS
) {
9427 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9428 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9429 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9430 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9431 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9433 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9435 return NDR_ERR_SUCCESS
;
9438 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
9440 uint32_t cntr_array_0
;
9441 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
9443 ndr_print_uint32(ndr
, "count", r
->count
);
9444 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
9445 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
9447 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
9449 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
9450 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
9458 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
9460 if (ndr_flags
& NDR_SCALARS
) {
9461 NDR_CHECK(ndr_push_align(ndr
, 4));
9462 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
9463 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
9464 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
9465 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
9466 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
9468 if (ndr_flags
& NDR_BUFFERS
) {
9469 if (r
->dsa_obj_dn
) {
9470 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
9471 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9472 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
9473 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
));
9476 return NDR_ERR_SUCCESS
;
9479 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
9481 uint32_t _ptr_dsa_obj_dn
;
9482 uint32_t size_dsa_obj_dn_1
= 0;
9483 uint32_t length_dsa_obj_dn_1
= 0;
9484 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
9485 if (ndr_flags
& NDR_SCALARS
) {
9486 NDR_CHECK(ndr_pull_align(ndr
, 4));
9487 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
9488 if (_ptr_dsa_obj_dn
) {
9489 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
9491 r
->dsa_obj_dn
= NULL
;
9493 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
9494 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
9495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
9496 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
9498 if (ndr_flags
& NDR_BUFFERS
) {
9499 if (r
->dsa_obj_dn
) {
9500 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9501 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
9502 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
9503 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
9504 size_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->dsa_obj_dn
);
9505 length_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->dsa_obj_dn
);
9506 if (length_dsa_obj_dn_1
> size_dsa_obj_dn_1
) {
9507 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
);
9509 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dsa_obj_dn_1
, sizeof(uint16_t)));
9510 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dsa_obj_dn
, length_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
9511 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
9514 return NDR_ERR_SUCCESS
;
9517 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
9519 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
9521 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
9523 if (r
->dsa_obj_dn
) {
9524 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
9527 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
9528 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
9529 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
9530 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
9534 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
9536 uint32_t cntr_array_0
;
9537 if (ndr_flags
& NDR_SCALARS
) {
9538 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9539 NDR_CHECK(ndr_push_align(ndr
, 4));
9540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9541 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9542 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9543 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9546 if (ndr_flags
& NDR_BUFFERS
) {
9547 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9548 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9551 return NDR_ERR_SUCCESS
;
9554 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
9556 uint32_t size_array_0
= 0;
9557 uint32_t cntr_array_0
;
9558 TALLOC_CTX
*_mem_save_array_0
;
9559 if (ndr_flags
& NDR_SCALARS
) {
9560 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
9561 NDR_CHECK(ndr_pull_align(ndr
, 4));
9562 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9563 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9564 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9565 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
9566 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9567 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9568 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9569 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9571 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9573 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
9576 if (ndr_flags
& NDR_BUFFERS
) {
9577 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9578 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9579 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9580 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9581 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9583 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9585 return NDR_ERR_SUCCESS
;
9588 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
9590 uint32_t cntr_array_0
;
9591 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
9593 ndr_print_uint32(ndr
, "count", r
->count
);
9594 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
9595 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
9597 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
9599 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
9600 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
9608 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
9610 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
9611 return NDR_ERR_SUCCESS
;
9614 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
9617 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
9619 return NDR_ERR_SUCCESS
;
9622 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
9624 const char *val
= NULL
;
9627 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
9628 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
9629 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
9630 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
9631 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
9633 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9636 static enum ndr_err_code
ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRplicaOpOptions
*r
)
9638 if (ndr_flags
& NDR_SCALARS
) {
9639 int level
= ndr_push_get_switch_value(ndr
, r
);
9640 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, level
));
9642 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
9643 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->sync
));
9646 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
9647 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->add
));
9650 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
9651 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->op_delete
));
9654 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
9655 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->modify
));
9658 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
9659 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->update_refs
));
9663 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
9668 if (ndr_flags
& NDR_BUFFERS
) {
9669 int level
= ndr_push_get_switch_value(ndr
, r
);
9671 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
9674 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
9677 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
9680 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
9683 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
9691 return NDR_ERR_SUCCESS
;
9694 static enum ndr_err_code
ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRplicaOpOptions
*r
)
9698 level
= ndr_pull_get_switch_value(ndr
, r
);
9699 if (ndr_flags
& NDR_SCALARS
) {
9700 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
9701 if (_level
!= level
) {
9702 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
9705 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
9706 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->sync
));
9709 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
9710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->add
));
9713 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
9714 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->op_delete
));
9717 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
9718 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->modify
));
9721 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
9722 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->update_refs
));
9726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
9731 if (ndr_flags
& NDR_BUFFERS
) {
9733 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
9736 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
9739 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
9742 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
9745 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
9753 return NDR_ERR_SUCCESS
;
9756 _PUBLIC_
void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRplicaOpOptions
*r
)
9759 level
= ndr_print_get_switch_value(ndr
, r
);
9760 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRplicaOpOptions");
9762 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
9763 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "sync", r
->sync
);
9766 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
9767 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "add", r
->add
);
9770 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
9771 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "op_delete", r
->op_delete
);
9774 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
9775 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "modify", r
->modify
);
9778 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
9779 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "update_refs", r
->update_refs
);
9783 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
9789 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
9791 if (ndr_flags
& NDR_SCALARS
) {
9792 NDR_CHECK(ndr_push_align(ndr
, 4));
9793 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
9794 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
9795 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
9796 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
9797 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
9798 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
9799 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
9800 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
9801 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
9802 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
9803 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
9805 if (ndr_flags
& NDR_BUFFERS
) {
9807 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
9808 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9809 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
9810 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9812 if (r
->remote_dsa_obj_dn
) {
9813 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
9814 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9815 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
9816 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
));
9818 if (r
->remote_dsa_address
) {
9819 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
9820 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9821 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
9822 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
));
9825 return NDR_ERR_SUCCESS
;
9828 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
9830 uint32_t _ptr_nc_dn
;
9831 uint32_t size_nc_dn_1
= 0;
9832 uint32_t length_nc_dn_1
= 0;
9833 TALLOC_CTX
*_mem_save_nc_dn_0
;
9834 uint32_t _ptr_remote_dsa_obj_dn
;
9835 uint32_t size_remote_dsa_obj_dn_1
= 0;
9836 uint32_t length_remote_dsa_obj_dn_1
= 0;
9837 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
9838 uint32_t _ptr_remote_dsa_address
;
9839 uint32_t size_remote_dsa_address_1
= 0;
9840 uint32_t length_remote_dsa_address_1
= 0;
9841 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
9842 if (ndr_flags
& NDR_SCALARS
) {
9843 NDR_CHECK(ndr_pull_align(ndr
, 4));
9844 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
9845 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
9846 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
9847 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
9848 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
9849 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
9850 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
9852 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
9856 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
9857 if (_ptr_remote_dsa_obj_dn
) {
9858 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
9860 r
->remote_dsa_obj_dn
= NULL
;
9862 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
9863 if (_ptr_remote_dsa_address
) {
9864 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
9866 r
->remote_dsa_address
= NULL
;
9868 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
9869 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
9871 if (ndr_flags
& NDR_BUFFERS
) {
9873 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9874 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
9875 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
9876 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
9877 size_nc_dn_1
= ndr_get_array_size(ndr
, &r
->nc_dn
);
9878 length_nc_dn_1
= ndr_get_array_length(ndr
, &r
->nc_dn
);
9879 if (length_nc_dn_1
> size_nc_dn_1
) {
9880 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
);
9882 NDR_CHECK(ndr_check_string_terminator(ndr
, length_nc_dn_1
, sizeof(uint16_t)));
9883 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, length_nc_dn_1
, sizeof(uint16_t), CH_UTF16
));
9884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
9886 if (r
->remote_dsa_obj_dn
) {
9887 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9888 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
9890 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
9891 size_remote_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
);
9892 length_remote_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
);
9893 if (length_remote_dsa_obj_dn_1
> size_remote_dsa_obj_dn_1
) {
9894 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
);
9896 NDR_CHECK(ndr_check_string_terminator(ndr
, length_remote_dsa_obj_dn_1
, sizeof(uint16_t)));
9897 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_dn
, length_remote_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
9898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
9900 if (r
->remote_dsa_address
) {
9901 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9902 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
9903 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
9904 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
9905 size_remote_dsa_address_1
= ndr_get_array_size(ndr
, &r
->remote_dsa_address
);
9906 length_remote_dsa_address_1
= ndr_get_array_length(ndr
, &r
->remote_dsa_address
);
9907 if (length_remote_dsa_address_1
> size_remote_dsa_address_1
) {
9908 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
);
9910 NDR_CHECK(ndr_check_string_terminator(ndr
, length_remote_dsa_address_1
, sizeof(uint16_t)));
9911 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->remote_dsa_address
, length_remote_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
9912 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
9915 return NDR_ERR_SUCCESS
;
9918 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
9920 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
9922 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
9923 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
9924 ndr_print_uint32(ndr
, "priority", r
->priority
);
9925 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
9926 ndr_print_set_switch_value(ndr
, &r
->options
, r
->operation_type
);
9927 ndr_print_drsuapi_DsRplicaOpOptions(ndr
, "options", &r
->options
);
9928 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
9931 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
9934 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
9936 if (r
->remote_dsa_obj_dn
) {
9937 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
9940 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
9942 if (r
->remote_dsa_address
) {
9943 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
9946 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
9947 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
9951 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
9953 uint32_t cntr_array_0
;
9954 if (ndr_flags
& NDR_SCALARS
) {
9955 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9956 NDR_CHECK(ndr_push_align(ndr
, 4));
9957 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
9958 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9959 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9960 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9963 if (ndr_flags
& NDR_BUFFERS
) {
9964 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
9965 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
9968 return NDR_ERR_SUCCESS
;
9971 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
9973 uint32_t size_array_0
= 0;
9974 uint32_t cntr_array_0
;
9975 TALLOC_CTX
*_mem_save_array_0
;
9976 if (ndr_flags
& NDR_SCALARS
) {
9977 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
9978 NDR_CHECK(ndr_pull_align(ndr
, 4));
9979 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
9980 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9981 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9982 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
9983 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9984 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9985 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9986 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
9988 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
9990 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
9993 if (ndr_flags
& NDR_BUFFERS
) {
9994 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
9995 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9996 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
9997 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
9998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10000 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10002 return NDR_ERR_SUCCESS
;
10005 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
10007 uint32_t cntr_array_0
;
10008 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
10010 ndr_print_NTTIME(ndr
, "time", r
->time
);
10011 ndr_print_uint32(ndr
, "count", r
->count
);
10012 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10014 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10016 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10017 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
10025 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10027 if (ndr_flags
& NDR_SCALARS
) {
10028 NDR_CHECK(ndr_push_align(ndr
, 8));
10029 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10030 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10031 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
10032 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
10033 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
10034 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
10035 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10036 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10037 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10038 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10039 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10041 if (ndr_flags
& NDR_BUFFERS
) {
10042 if (r
->attribute_name
) {
10043 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10044 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10045 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10046 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10048 if (r
->object_dn
) {
10049 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10050 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10051 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10052 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10055 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
10058 return NDR_ERR_SUCCESS
;
10061 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
10063 uint32_t _ptr_attribute_name
;
10064 uint32_t size_attribute_name_1
= 0;
10065 uint32_t length_attribute_name_1
= 0;
10066 TALLOC_CTX
*_mem_save_attribute_name_0
;
10067 uint32_t _ptr_object_dn
;
10068 uint32_t size_object_dn_1
= 0;
10069 uint32_t length_object_dn_1
= 0;
10070 TALLOC_CTX
*_mem_save_object_dn_0
;
10071 uint32_t _ptr_binary
;
10072 TALLOC_CTX
*_mem_save_binary_0
;
10073 if (ndr_flags
& NDR_SCALARS
) {
10074 NDR_CHECK(ndr_pull_align(ndr
, 8));
10075 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10076 if (_ptr_attribute_name
) {
10077 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10079 r
->attribute_name
= NULL
;
10081 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10082 if (_ptr_object_dn
) {
10083 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10085 r
->object_dn
= NULL
;
10087 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
10088 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
10090 NDR_PULL_ALLOC(ndr
, r
->binary
);
10094 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
10095 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
10096 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10097 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10098 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10099 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10100 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10102 if (ndr_flags
& NDR_BUFFERS
) {
10103 if (r
->attribute_name
) {
10104 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10105 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10106 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10107 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10108 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
10109 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
10110 if (length_attribute_name_1
> size_attribute_name_1
) {
10111 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
);
10113 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
10114 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
10115 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10117 if (r
->object_dn
) {
10118 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10119 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10120 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10121 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10122 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
10123 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
10124 if (length_object_dn_1
> size_object_dn_1
) {
10125 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
);
10127 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
10128 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
10129 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10132 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10133 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
10134 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
10135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
10138 return NDR_ERR_SUCCESS
;
10141 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10143 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
10145 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10147 if (r
->attribute_name
) {
10148 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10151 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10153 if (r
->object_dn
) {
10154 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10157 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
);
10158 ndr_print_ptr(ndr
, "binary", r
->binary
);
10161 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
10164 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
10165 ndr_print_NTTIME(ndr
, "created", r
->created
);
10166 ndr_print_uint32(ndr
, "version", r
->version
);
10167 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10168 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10169 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10170 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10174 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10176 uint32_t cntr_array_0
;
10177 if (ndr_flags
& NDR_SCALARS
) {
10178 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10179 NDR_CHECK(ndr_push_align(ndr
, 8));
10180 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10181 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10182 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10183 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10186 if (ndr_flags
& NDR_BUFFERS
) {
10187 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10188 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10191 return NDR_ERR_SUCCESS
;
10194 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10196 uint32_t size_array_0
= 0;
10197 uint32_t cntr_array_0
;
10198 TALLOC_CTX
*_mem_save_array_0
;
10199 if (ndr_flags
& NDR_SCALARS
) {
10200 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10201 NDR_CHECK(ndr_pull_align(ndr
, 8));
10202 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10203 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10204 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10205 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10206 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10207 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10208 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10209 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10211 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10213 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10216 if (ndr_flags
& NDR_BUFFERS
) {
10217 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10218 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10219 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10220 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10221 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10225 return NDR_ERR_SUCCESS
;
10228 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10230 uint32_t cntr_array_0
;
10231 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
10233 ndr_print_uint32(ndr
, "count", r
->count
);
10234 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
10235 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10237 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10239 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10240 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10248 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
10250 uint32_t cntr_array_0
;
10251 if (ndr_flags
& NDR_SCALARS
) {
10252 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10253 NDR_CHECK(ndr_push_align(ndr
, 8));
10254 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10255 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10256 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10257 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10260 if (ndr_flags
& NDR_BUFFERS
) {
10262 return NDR_ERR_SUCCESS
;
10265 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
10267 uint32_t size_array_0
= 0;
10268 uint32_t cntr_array_0
;
10269 TALLOC_CTX
*_mem_save_array_0
;
10270 if (ndr_flags
& NDR_SCALARS
) {
10271 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10272 NDR_CHECK(ndr_pull_align(ndr
, 8));
10273 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10274 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10275 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10276 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10277 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10278 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10279 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10284 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10287 if (ndr_flags
& NDR_BUFFERS
) {
10289 return NDR_ERR_SUCCESS
;
10292 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
10294 uint32_t cntr_array_0
;
10295 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
10297 ndr_print_uint32(ndr
, "count", r
->count
);
10298 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
10299 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10301 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10303 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10304 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
10312 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
10314 if (ndr_flags
& NDR_SCALARS
) {
10315 NDR_CHECK(ndr_push_align(ndr
, 8));
10316 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10317 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
10318 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
10319 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
10321 if (ndr_flags
& NDR_BUFFERS
) {
10322 if (r
->source_dsa_obj_dn
) {
10323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10324 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10325 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10326 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
));
10329 return NDR_ERR_SUCCESS
;
10332 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
10334 uint32_t _ptr_source_dsa_obj_dn
;
10335 uint32_t size_source_dsa_obj_dn_1
= 0;
10336 uint32_t length_source_dsa_obj_dn_1
= 0;
10337 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
10338 if (ndr_flags
& NDR_SCALARS
) {
10339 NDR_CHECK(ndr_pull_align(ndr
, 8));
10340 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10341 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
10342 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
10343 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
10344 if (_ptr_source_dsa_obj_dn
) {
10345 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
10347 r
->source_dsa_obj_dn
= NULL
;
10350 if (ndr_flags
& NDR_BUFFERS
) {
10351 if (r
->source_dsa_obj_dn
) {
10352 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10353 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10354 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10355 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10356 size_source_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
);
10357 length_source_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
);
10358 if (length_source_dsa_obj_dn_1
> size_source_dsa_obj_dn_1
) {
10359 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
);
10361 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_obj_dn_1
, sizeof(uint16_t)));
10362 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_dn
, length_source_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
10363 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10366 return NDR_ERR_SUCCESS
;
10369 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
10371 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
10373 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10374 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10375 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
10376 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10378 if (r
->source_dsa_obj_dn
) {
10379 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10385 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
10387 uint32_t cntr_array_0
;
10388 if (ndr_flags
& NDR_SCALARS
) {
10389 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10390 NDR_CHECK(ndr_push_align(ndr
, 8));
10391 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10392 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10393 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10394 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10397 if (ndr_flags
& NDR_BUFFERS
) {
10398 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10399 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10402 return NDR_ERR_SUCCESS
;
10405 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
10407 uint32_t size_array_0
= 0;
10408 uint32_t cntr_array_0
;
10409 TALLOC_CTX
*_mem_save_array_0
;
10410 if (ndr_flags
& NDR_SCALARS
) {
10411 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10412 NDR_CHECK(ndr_pull_align(ndr
, 8));
10413 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10414 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10415 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10416 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10417 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10418 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10419 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10420 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10424 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10427 if (ndr_flags
& NDR_BUFFERS
) {
10428 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10429 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10430 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10431 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10432 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10434 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10436 return NDR_ERR_SUCCESS
;
10439 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
10441 uint32_t cntr_array_0
;
10442 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
10444 ndr_print_uint32(ndr
, "count", r
->count
);
10445 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
10446 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10448 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10450 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10451 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
10459 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
10461 if (ndr_flags
& NDR_SCALARS
) {
10462 NDR_CHECK(ndr_push_align(ndr
, 8));
10463 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10464 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10465 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10466 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10467 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10468 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10469 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
10471 if (ndr_flags
& NDR_BUFFERS
) {
10472 if (r
->attribute_name
) {
10473 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10476 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10478 if (r
->originating_dsa_dn
) {
10479 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
10480 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10481 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
10482 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
));
10485 return NDR_ERR_SUCCESS
;
10488 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
10490 uint32_t _ptr_attribute_name
;
10491 uint32_t size_attribute_name_1
= 0;
10492 uint32_t length_attribute_name_1
= 0;
10493 TALLOC_CTX
*_mem_save_attribute_name_0
;
10494 uint32_t _ptr_originating_dsa_dn
;
10495 uint32_t size_originating_dsa_dn_1
= 0;
10496 uint32_t length_originating_dsa_dn_1
= 0;
10497 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
10498 if (ndr_flags
& NDR_SCALARS
) {
10499 NDR_CHECK(ndr_pull_align(ndr
, 8));
10500 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10501 if (_ptr_attribute_name
) {
10502 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10504 r
->attribute_name
= NULL
;
10506 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10507 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10508 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10509 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10510 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10511 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
10512 if (_ptr_originating_dsa_dn
) {
10513 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
10515 r
->originating_dsa_dn
= NULL
;
10518 if (ndr_flags
& NDR_BUFFERS
) {
10519 if (r
->attribute_name
) {
10520 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10521 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10522 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10523 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10524 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
10525 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
10526 if (length_attribute_name_1
> size_attribute_name_1
) {
10527 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
);
10529 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
10530 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
10531 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10533 if (r
->originating_dsa_dn
) {
10534 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10535 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
10536 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
10537 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
10538 size_originating_dsa_dn_1
= ndr_get_array_size(ndr
, &r
->originating_dsa_dn
);
10539 length_originating_dsa_dn_1
= ndr_get_array_length(ndr
, &r
->originating_dsa_dn
);
10540 if (length_originating_dsa_dn_1
> size_originating_dsa_dn_1
) {
10541 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
);
10543 NDR_CHECK(ndr_check_string_terminator(ndr
, length_originating_dsa_dn_1
, sizeof(uint16_t)));
10544 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->originating_dsa_dn
, length_originating_dsa_dn_1
, sizeof(uint16_t), CH_UTF16
));
10545 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
10548 return NDR_ERR_SUCCESS
;
10551 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
10553 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
10555 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10557 if (r
->attribute_name
) {
10558 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10561 ndr_print_uint32(ndr
, "version", r
->version
);
10562 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10563 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10564 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10565 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10566 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
10568 if (r
->originating_dsa_dn
) {
10569 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
10575 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
10577 uint32_t cntr_array_0
;
10578 if (ndr_flags
& NDR_SCALARS
) {
10579 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10580 NDR_CHECK(ndr_push_align(ndr
, 8));
10581 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10582 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10583 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10584 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10587 if (ndr_flags
& NDR_BUFFERS
) {
10588 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10592 return NDR_ERR_SUCCESS
;
10595 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
10597 uint32_t size_array_0
= 0;
10598 uint32_t cntr_array_0
;
10599 TALLOC_CTX
*_mem_save_array_0
;
10600 if (ndr_flags
& NDR_SCALARS
) {
10601 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10602 NDR_CHECK(ndr_pull_align(ndr
, 8));
10603 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10604 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10605 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10606 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10607 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10608 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10609 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10612 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10614 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10617 if (ndr_flags
& NDR_BUFFERS
) {
10618 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10619 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10620 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10621 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10622 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10626 return NDR_ERR_SUCCESS
;
10629 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
10631 uint32_t cntr_array_0
;
10632 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
10634 ndr_print_uint32(ndr
, "count", r
->count
);
10635 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
10636 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10638 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10640 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10641 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
10649 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
10651 if (ndr_flags
& NDR_SCALARS
) {
10652 NDR_CHECK(ndr_push_align(ndr
, 8));
10653 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10654 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10655 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
10656 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
10657 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
10658 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
10659 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10660 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10661 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10662 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10663 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10664 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
10666 if (ndr_flags
& NDR_BUFFERS
) {
10667 if (r
->attribute_name
) {
10668 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10669 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10670 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10671 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10673 if (r
->object_dn
) {
10674 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10676 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10677 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10680 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
10682 if (r
->originating_dsa_dn
) {
10683 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
10684 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
10685 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
10686 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
));
10689 return NDR_ERR_SUCCESS
;
10692 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
10694 uint32_t _ptr_attribute_name
;
10695 uint32_t size_attribute_name_1
= 0;
10696 uint32_t length_attribute_name_1
= 0;
10697 TALLOC_CTX
*_mem_save_attribute_name_0
;
10698 uint32_t _ptr_object_dn
;
10699 uint32_t size_object_dn_1
= 0;
10700 uint32_t length_object_dn_1
= 0;
10701 TALLOC_CTX
*_mem_save_object_dn_0
;
10702 uint32_t _ptr_binary
;
10703 TALLOC_CTX
*_mem_save_binary_0
;
10704 uint32_t _ptr_originating_dsa_dn
;
10705 uint32_t size_originating_dsa_dn_1
= 0;
10706 uint32_t length_originating_dsa_dn_1
= 0;
10707 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
10708 if (ndr_flags
& NDR_SCALARS
) {
10709 NDR_CHECK(ndr_pull_align(ndr
, 8));
10710 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10711 if (_ptr_attribute_name
) {
10712 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10714 r
->attribute_name
= NULL
;
10716 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10717 if (_ptr_object_dn
) {
10718 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10720 r
->object_dn
= NULL
;
10722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
10723 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
10725 NDR_PULL_ALLOC(ndr
, r
->binary
);
10729 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
10730 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
10731 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10732 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10733 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10734 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10735 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10736 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
10737 if (_ptr_originating_dsa_dn
) {
10738 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
10740 r
->originating_dsa_dn
= NULL
;
10743 if (ndr_flags
& NDR_BUFFERS
) {
10744 if (r
->attribute_name
) {
10745 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10746 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10747 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10748 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10749 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
10750 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
10751 if (length_attribute_name_1
> size_attribute_name_1
) {
10752 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
);
10754 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
10755 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
10756 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10758 if (r
->object_dn
) {
10759 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10760 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10761 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10762 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10763 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
10764 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
10765 if (length_object_dn_1
> size_object_dn_1
) {
10766 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
);
10768 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
10769 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
10770 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10773 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10774 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
10775 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
10776 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
10778 if (r
->originating_dsa_dn
) {
10779 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10780 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
10781 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
10782 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
10783 size_originating_dsa_dn_1
= ndr_get_array_size(ndr
, &r
->originating_dsa_dn
);
10784 length_originating_dsa_dn_1
= ndr_get_array_length(ndr
, &r
->originating_dsa_dn
);
10785 if (length_originating_dsa_dn_1
> size_originating_dsa_dn_1
) {
10786 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
);
10788 NDR_CHECK(ndr_check_string_terminator(ndr
, length_originating_dsa_dn_1
, sizeof(uint16_t)));
10789 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->originating_dsa_dn
, length_originating_dsa_dn_1
, sizeof(uint16_t), CH_UTF16
));
10790 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
10793 return NDR_ERR_SUCCESS
;
10796 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
10798 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
10800 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10802 if (r
->attribute_name
) {
10803 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10806 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10808 if (r
->object_dn
) {
10809 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10812 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
);
10813 ndr_print_ptr(ndr
, "binary", r
->binary
);
10816 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
10819 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
10820 ndr_print_NTTIME(ndr
, "created", r
->created
);
10821 ndr_print_uint32(ndr
, "version", r
->version
);
10822 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10823 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10824 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10825 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10826 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
10828 if (r
->originating_dsa_dn
) {
10829 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
10835 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
10837 uint32_t cntr_array_0
;
10838 if (ndr_flags
& NDR_SCALARS
) {
10839 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10840 NDR_CHECK(ndr_push_align(ndr
, 8));
10841 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10842 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10843 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10844 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10847 if (ndr_flags
& NDR_BUFFERS
) {
10848 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10849 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10852 return NDR_ERR_SUCCESS
;
10855 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
10857 uint32_t size_array_0
= 0;
10858 uint32_t cntr_array_0
;
10859 TALLOC_CTX
*_mem_save_array_0
;
10860 if (ndr_flags
& NDR_SCALARS
) {
10861 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10862 NDR_CHECK(ndr_pull_align(ndr
, 8));
10863 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10864 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10865 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10866 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10867 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10868 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10869 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10870 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10874 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10877 if (ndr_flags
& NDR_BUFFERS
) {
10878 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10879 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10880 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10881 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10882 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10886 return NDR_ERR_SUCCESS
;
10889 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
10891 uint32_t cntr_array_0
;
10892 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
10894 ndr_print_uint32(ndr
, "count", r
->count
);
10895 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
10896 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10898 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10900 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10901 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
10909 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
10911 if (ndr_flags
& NDR_SCALARS
) {
10912 NDR_CHECK(ndr_push_align(ndr
, 8));
10913 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
10914 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
10915 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
10916 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
10917 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
10919 uint32_t _flags_save_ipv4address
= ndr
->flags
;
10920 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
10921 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
10922 ndr
->flags
= _flags_save_ipv4address
;
10924 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
10926 if (ndr_flags
& NDR_BUFFERS
) {
10928 return NDR_ERR_SUCCESS
;
10931 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
10933 if (ndr_flags
& NDR_SCALARS
) {
10934 NDR_CHECK(ndr_pull_align(ndr
, 8));
10935 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
10936 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
10937 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
10938 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
10939 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
10941 uint32_t _flags_save_ipv4address
= ndr
->flags
;
10942 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
10943 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
10944 ndr
->flags
= _flags_save_ipv4address
;
10946 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
10948 if (ndr_flags
& NDR_BUFFERS
) {
10950 return NDR_ERR_SUCCESS
;
10953 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
10955 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
10957 ndr_print_hyper(ndr
, "u1", r
->u1
);
10958 ndr_print_uint32(ndr
, "u2", r
->u2
);
10959 ndr_print_uint32(ndr
, "u3", r
->u3
);
10960 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
10961 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
10962 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
10963 ndr_print_uint32(ndr
, "u5", r
->u5
);
10967 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
10969 uint32_t cntr_array_0
;
10970 if (ndr_flags
& NDR_SCALARS
) {
10971 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10972 NDR_CHECK(ndr_push_align(ndr
, 8));
10973 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10974 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10975 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10976 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10979 if (ndr_flags
& NDR_BUFFERS
) {
10981 return NDR_ERR_SUCCESS
;
10984 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
10986 uint32_t size_array_0
= 0;
10987 uint32_t cntr_array_0
;
10988 TALLOC_CTX
*_mem_save_array_0
;
10989 if (ndr_flags
& NDR_SCALARS
) {
10990 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10991 NDR_CHECK(ndr_pull_align(ndr
, 8));
10992 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10993 if (r
->count
> 10000) {
10994 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
10996 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10997 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10998 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10999 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11000 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11001 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11002 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11004 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11006 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11009 if (ndr_flags
& NDR_BUFFERS
) {
11011 return NDR_ERR_SUCCESS
;
11014 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11016 uint32_t cntr_array_0
;
11017 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
11019 ndr_print_uint32(ndr
, "count", r
->count
);
11020 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11021 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11023 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11025 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11026 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
11034 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
11036 if (ndr_flags
& NDR_SCALARS
) {
11037 NDR_CHECK(ndr_push_align(ndr
, 8));
11038 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
11039 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
11040 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11041 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11042 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
11043 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11044 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
11045 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
11047 if (ndr_flags
& NDR_BUFFERS
) {
11049 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11050 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
11051 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11052 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11055 return NDR_ERR_SUCCESS
;
11058 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
11060 uint32_t _ptr_str1
;
11061 uint32_t size_str1_1
= 0;
11062 uint32_t length_str1_1
= 0;
11063 TALLOC_CTX
*_mem_save_str1_0
;
11064 if (ndr_flags
& NDR_SCALARS
) {
11065 NDR_CHECK(ndr_pull_align(ndr
, 8));
11066 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
11068 NDR_PULL_ALLOC(ndr
, r
->str1
);
11072 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
11073 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11074 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11075 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
11076 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11077 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
11078 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
11080 if (ndr_flags
& NDR_BUFFERS
) {
11082 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11083 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
11084 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
11085 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
11086 size_str1_1
= ndr_get_array_size(ndr
, &r
->str1
);
11087 length_str1_1
= ndr_get_array_length(ndr
, &r
->str1
);
11088 if (length_str1_1
> size_str1_1
) {
11089 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_str1_1
, length_str1_1
);
11091 NDR_CHECK(ndr_check_string_terminator(ndr
, length_str1_1
, sizeof(uint16_t)));
11092 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, length_str1_1
, sizeof(uint16_t), CH_UTF16
));
11093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
11096 return NDR_ERR_SUCCESS
;
11099 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
11101 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
11103 ndr_print_ptr(ndr
, "str1", r
->str1
);
11106 ndr_print_string(ndr
, "str1", r
->str1
);
11109 ndr_print_uint32(ndr
, "u1", r
->u1
);
11110 ndr_print_uint32(ndr
, "u2", r
->u2
);
11111 ndr_print_uint32(ndr
, "u3", r
->u3
);
11112 ndr_print_uint32(ndr
, "u4", r
->u4
);
11113 ndr_print_uint32(ndr
, "u5", r
->u5
);
11114 ndr_print_hyper(ndr
, "u6", r
->u6
);
11115 ndr_print_uint32(ndr
, "u7", r
->u7
);
11119 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
11121 uint32_t cntr_array_0
;
11122 if (ndr_flags
& NDR_SCALARS
) {
11123 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11124 NDR_CHECK(ndr_push_align(ndr
, 8));
11125 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11126 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11127 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11128 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11131 if (ndr_flags
& NDR_BUFFERS
) {
11132 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11133 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11136 return NDR_ERR_SUCCESS
;
11139 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
11141 uint32_t size_array_0
= 0;
11142 uint32_t cntr_array_0
;
11143 TALLOC_CTX
*_mem_save_array_0
;
11144 if (ndr_flags
& NDR_SCALARS
) {
11145 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11146 NDR_CHECK(ndr_pull_align(ndr
, 8));
11147 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11148 if (r
->count
> 256) {
11149 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11151 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11152 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11153 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
11154 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11155 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11156 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11157 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11159 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11161 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11164 if (ndr_flags
& NDR_BUFFERS
) {
11165 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11166 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11167 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11168 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11169 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11173 return NDR_ERR_SUCCESS
;
11176 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
11178 uint32_t cntr_array_0
;
11179 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
11181 ndr_print_uint32(ndr
, "count", r
->count
);
11182 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11183 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11185 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11187 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11188 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
11196 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
11198 if (ndr_flags
& NDR_SCALARS
) {
11199 int level
= ndr_push_get_switch_value(ndr
, r
);
11200 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
11202 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
11203 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
11206 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
11207 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
11210 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
11211 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
11214 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
11215 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
11218 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
11219 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
11222 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
11223 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
11226 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
11227 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
11230 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
11231 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
11234 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
11235 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
11238 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
11239 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
11242 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
11243 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
11246 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
11247 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours02
));
11250 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
11251 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connections04
));
11254 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
11255 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors05
));
11258 case DRSUAPI_DS_REPLICA_INFO_06
: {
11259 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->i06
));
11263 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11266 if (ndr_flags
& NDR_BUFFERS
) {
11267 int level
= ndr_push_get_switch_value(ndr
, r
);
11269 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
11270 if (r
->neighbours
) {
11271 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
11275 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
11277 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
11281 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
11282 if (r
->objmetadata
) {
11283 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
11287 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
11288 if (r
->connectfailures
) {
11289 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
11293 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
11294 if (r
->linkfailures
) {
11295 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
11299 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
11300 if (r
->pendingops
) {
11301 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
11305 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
11306 if (r
->attrvalmetadata
) {
11307 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
11311 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
11313 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
11317 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
11319 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
11323 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
11324 if (r
->objmetadata2
) {
11325 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
11329 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
11330 if (r
->attrvalmetadata2
) {
11331 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
11335 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
11336 if (r
->neighbours02
) {
11337 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
11341 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
11342 if (r
->connections04
) {
11343 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
11347 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
11348 if (r
->cursors05
) {
11349 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
11353 case DRSUAPI_DS_REPLICA_INFO_06
:
11355 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
11360 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11363 return NDR_ERR_SUCCESS
;
11366 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
11370 TALLOC_CTX
*_mem_save_neighbours_0
;
11371 uint32_t _ptr_neighbours
;
11372 TALLOC_CTX
*_mem_save_cursors_0
;
11373 uint32_t _ptr_cursors
;
11374 TALLOC_CTX
*_mem_save_objmetadata_0
;
11375 uint32_t _ptr_objmetadata
;
11376 TALLOC_CTX
*_mem_save_connectfailures_0
;
11377 uint32_t _ptr_connectfailures
;
11378 TALLOC_CTX
*_mem_save_linkfailures_0
;
11379 uint32_t _ptr_linkfailures
;
11380 TALLOC_CTX
*_mem_save_pendingops_0
;
11381 uint32_t _ptr_pendingops
;
11382 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
11383 uint32_t _ptr_attrvalmetadata
;
11384 TALLOC_CTX
*_mem_save_cursors2_0
;
11385 uint32_t _ptr_cursors2
;
11386 TALLOC_CTX
*_mem_save_cursors3_0
;
11387 uint32_t _ptr_cursors3
;
11388 TALLOC_CTX
*_mem_save_objmetadata2_0
;
11389 uint32_t _ptr_objmetadata2
;
11390 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
11391 uint32_t _ptr_attrvalmetadata2
;
11392 TALLOC_CTX
*_mem_save_neighbours02_0
;
11393 uint32_t _ptr_neighbours02
;
11394 TALLOC_CTX
*_mem_save_connections04_0
;
11395 uint32_t _ptr_connections04
;
11396 TALLOC_CTX
*_mem_save_cursors05_0
;
11397 uint32_t _ptr_cursors05
;
11398 TALLOC_CTX
*_mem_save_i06_0
;
11400 level
= ndr_pull_get_switch_value(ndr
, r
);
11401 if (ndr_flags
& NDR_SCALARS
) {
11402 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
11403 if (_level
!= level
) {
11404 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
11407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
11408 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
11409 if (_ptr_neighbours
) {
11410 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
11412 r
->neighbours
= NULL
;
11416 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
11417 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
11418 if (_ptr_cursors
) {
11419 NDR_PULL_ALLOC(ndr
, r
->cursors
);
11425 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
11426 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
11427 if (_ptr_objmetadata
) {
11428 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
11430 r
->objmetadata
= NULL
;
11434 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
11435 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
11436 if (_ptr_connectfailures
) {
11437 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
11439 r
->connectfailures
= NULL
;
11443 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
11444 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
11445 if (_ptr_linkfailures
) {
11446 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
11448 r
->linkfailures
= NULL
;
11452 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
11453 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
11454 if (_ptr_pendingops
) {
11455 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
11457 r
->pendingops
= NULL
;
11461 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
11462 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
11463 if (_ptr_attrvalmetadata
) {
11464 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
11466 r
->attrvalmetadata
= NULL
;
11470 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
11471 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
11472 if (_ptr_cursors2
) {
11473 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
11475 r
->cursors2
= NULL
;
11479 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
11480 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
11481 if (_ptr_cursors3
) {
11482 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
11484 r
->cursors3
= NULL
;
11488 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
11489 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
11490 if (_ptr_objmetadata2
) {
11491 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
11493 r
->objmetadata2
= NULL
;
11497 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
11498 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
11499 if (_ptr_attrvalmetadata2
) {
11500 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
11502 r
->attrvalmetadata2
= NULL
;
11506 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
11507 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours02
));
11508 if (_ptr_neighbours02
) {
11509 NDR_PULL_ALLOC(ndr
, r
->neighbours02
);
11511 r
->neighbours02
= NULL
;
11515 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
11516 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connections04
));
11517 if (_ptr_connections04
) {
11518 NDR_PULL_ALLOC(ndr
, r
->connections04
);
11520 r
->connections04
= NULL
;
11524 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
11525 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors05
));
11526 if (_ptr_cursors05
) {
11527 NDR_PULL_ALLOC(ndr
, r
->cursors05
);
11529 r
->cursors05
= NULL
;
11533 case DRSUAPI_DS_REPLICA_INFO_06
: {
11534 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_i06
));
11536 NDR_PULL_ALLOC(ndr
, r
->i06
);
11543 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11546 if (ndr_flags
& NDR_BUFFERS
) {
11548 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
11549 if (r
->neighbours
) {
11550 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11551 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
11552 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
11553 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
11557 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
11559 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11560 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
11561 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
11562 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
11566 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
11567 if (r
->objmetadata
) {
11568 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11569 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
11570 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
11571 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
11575 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
11576 if (r
->connectfailures
) {
11577 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11578 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
11579 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
11580 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
11584 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
11585 if (r
->linkfailures
) {
11586 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11587 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
11588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
11589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
11593 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
11594 if (r
->pendingops
) {
11595 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11596 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
11597 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
11598 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
11602 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
11603 if (r
->attrvalmetadata
) {
11604 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11605 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
11606 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
11607 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
11611 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
11613 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11614 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
11615 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
11616 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
11620 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
11622 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11623 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
11624 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
11625 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
11629 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
11630 if (r
->objmetadata2
) {
11631 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11632 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
11633 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
11634 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
11638 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
11639 if (r
->attrvalmetadata2
) {
11640 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11641 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
11642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
11643 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
11647 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
11648 if (r
->neighbours02
) {
11649 _mem_save_neighbours02_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11650 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours02
, 0);
11651 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
11652 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours02_0
, 0);
11656 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
11657 if (r
->connections04
) {
11658 _mem_save_connections04_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11659 NDR_PULL_SET_MEM_CTX(ndr
, r
->connections04
, 0);
11660 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
11661 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connections04_0
, 0);
11665 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
11666 if (r
->cursors05
) {
11667 _mem_save_cursors05_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11668 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors05
, 0);
11669 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
11670 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors05_0
, 0);
11674 case DRSUAPI_DS_REPLICA_INFO_06
:
11676 _mem_save_i06_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11677 NDR_PULL_SET_MEM_CTX(ndr
, r
->i06
, 0);
11678 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
11679 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_i06_0
, 0);
11684 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11687 return NDR_ERR_SUCCESS
;
11690 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
11693 level
= ndr_print_get_switch_value(ndr
, r
);
11694 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
11696 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
11697 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
11699 if (r
->neighbours
) {
11700 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
11705 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
11706 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
11709 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
11714 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
11715 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
11717 if (r
->objmetadata
) {
11718 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
11723 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
11724 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
11726 if (r
->connectfailures
) {
11727 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
11732 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
11733 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
11735 if (r
->linkfailures
) {
11736 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
11741 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
11742 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
11744 if (r
->pendingops
) {
11745 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
11750 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
11751 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
11753 if (r
->attrvalmetadata
) {
11754 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
11759 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
11760 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
11763 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
11768 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
11769 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
11772 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
11777 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
11778 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
11780 if (r
->objmetadata2
) {
11781 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
11786 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
11787 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
11789 if (r
->attrvalmetadata2
) {
11790 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
11795 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
11796 ndr_print_ptr(ndr
, "neighbours02", r
->neighbours02
);
11798 if (r
->neighbours02
) {
11799 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours02", r
->neighbours02
);
11804 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
11805 ndr_print_ptr(ndr
, "connections04", r
->connections04
);
11807 if (r
->connections04
) {
11808 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "connections04", r
->connections04
);
11813 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
11814 ndr_print_ptr(ndr
, "cursors05", r
->cursors05
);
11816 if (r
->cursors05
) {
11817 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "cursors05", r
->cursors05
);
11822 case DRSUAPI_DS_REPLICA_INFO_06
:
11823 ndr_print_ptr(ndr
, "i06", r
->i06
);
11826 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "i06", r
->i06
);
11832 ndr_print_bad_level(ndr
, name
, level
);
11836 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
11838 if (ndr_flags
& NDR_SCALARS
) {
11839 int level
= ndr_push_get_switch_value(ndr
, r
);
11840 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
11843 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
11847 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11850 if (ndr_flags
& NDR_BUFFERS
) {
11851 int level
= ndr_push_get_switch_value(ndr
, r
);
11854 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
11858 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11861 return NDR_ERR_SUCCESS
;
11864 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
11868 level
= ndr_pull_get_switch_value(ndr
, r
);
11869 if (ndr_flags
& NDR_SCALARS
) {
11870 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
11871 if (_level
!= level
) {
11872 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
11876 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
11880 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11883 if (ndr_flags
& NDR_BUFFERS
) {
11886 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
11890 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
11893 return NDR_ERR_SUCCESS
;
11896 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
11899 level
= ndr_print_get_switch_value(ndr
, r
);
11900 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
11903 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
11907 ndr_print_bad_level(ndr
, name
, level
);
11911 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
11913 uint32_t cntr_req_array_1
;
11914 if (ndr_flags
& NDR_SCALARS
) {
11915 NDR_CHECK(ndr_push_align(ndr
, 4));
11916 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
11917 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
11919 if (ndr_flags
& NDR_BUFFERS
) {
11920 if (r
->req_array
) {
11921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
11922 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
11923 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
11925 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
11926 if (r
->req_array
[cntr_req_array_1
]) {
11927 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
11932 return NDR_ERR_SUCCESS
;
11935 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
11937 uint32_t _ptr_req_array
;
11938 uint32_t size_req_array_1
= 0;
11939 uint32_t cntr_req_array_1
;
11940 TALLOC_CTX
*_mem_save_req_array_0
;
11941 TALLOC_CTX
*_mem_save_req_array_1
;
11942 TALLOC_CTX
*_mem_save_req_array_2
;
11943 if (ndr_flags
& NDR_SCALARS
) {
11944 NDR_CHECK(ndr_pull_align(ndr
, 4));
11945 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
11946 if (r
->num_req
< 1 || r
->num_req
> 10000) {
11947 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11949 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
11950 if (_ptr_req_array
) {
11951 NDR_PULL_ALLOC(ndr
, r
->req_array
);
11953 r
->req_array
= NULL
;
11956 if (ndr_flags
& NDR_BUFFERS
) {
11957 if (r
->req_array
) {
11958 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11959 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
11960 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
11961 size_req_array_1
= ndr_get_array_size(ndr
, &r
->req_array
);
11962 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, size_req_array_1
);
11963 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11964 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
11965 for (cntr_req_array_1
= 0; cntr_req_array_1
< size_req_array_1
; cntr_req_array_1
++) {
11966 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
11967 if (_ptr_req_array
) {
11968 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
11970 r
->req_array
[cntr_req_array_1
] = NULL
;
11973 for (cntr_req_array_1
= 0; cntr_req_array_1
< size_req_array_1
; cntr_req_array_1
++) {
11974 if (r
->req_array
[cntr_req_array_1
]) {
11975 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
11976 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
11977 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
11978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
11981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
11982 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
11984 if (r
->req_array
) {
11985 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
11988 return NDR_ERR_SUCCESS
;
11991 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
11993 uint32_t cntr_req_array_1
;
11994 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
11996 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
11997 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
11999 if (r
->req_array
) {
12000 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
12002 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
12004 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
12005 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12007 if (r
->req_array
[cntr_req_array_1
]) {
12008 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12020 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
12022 if (ndr_flags
& NDR_SCALARS
) {
12023 int level
= ndr_push_get_switch_value(ndr
, r
);
12024 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12027 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12031 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12034 if (ndr_flags
& NDR_BUFFERS
) {
12035 int level
= ndr_push_get_switch_value(ndr
, r
);
12038 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12042 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12045 return NDR_ERR_SUCCESS
;
12048 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
12052 level
= ndr_pull_get_switch_value(ndr
, r
);
12053 if (ndr_flags
& NDR_SCALARS
) {
12054 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12055 if (_level
!= level
) {
12056 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
12060 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12064 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12067 if (ndr_flags
& NDR_BUFFERS
) {
12070 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12074 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12077 return NDR_ERR_SUCCESS
;
12080 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
12083 level
= ndr_print_get_switch_value(ndr
, r
);
12084 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
12087 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
12091 ndr_print_bad_level(ndr
, name
, level
);
12095 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
12097 if (ndr_flags
& NDR_SCALARS
) {
12098 NDR_CHECK(ndr_push_align(ndr
, 4));
12099 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
12100 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
12102 if (ndr_flags
& NDR_BUFFERS
) {
12104 return NDR_ERR_SUCCESS
;
12107 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
12109 if (ndr_flags
& NDR_SCALARS
) {
12110 NDR_CHECK(ndr_pull_align(ndr
, 4));
12111 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
12112 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
12114 if (ndr_flags
& NDR_BUFFERS
) {
12116 return NDR_ERR_SUCCESS
;
12119 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
12121 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
12123 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
12124 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
12128 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12130 uint32_t cntr_info_1
;
12131 if (ndr_flags
& NDR_SCALARS
) {
12132 NDR_CHECK(ndr_push_align(ndr
, 4));
12133 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
12134 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
12135 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
12137 if (ndr_flags
& NDR_BUFFERS
) {
12139 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
12140 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12141 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12145 return NDR_ERR_SUCCESS
;
12148 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
12150 uint32_t _ptr_info
;
12151 uint32_t size_info_1
= 0;
12152 uint32_t cntr_info_1
;
12153 TALLOC_CTX
*_mem_save_info_0
;
12154 TALLOC_CTX
*_mem_save_info_1
;
12155 if (ndr_flags
& NDR_SCALARS
) {
12156 NDR_CHECK(ndr_pull_align(ndr
, 4));
12157 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
12158 if (r
->num_info
> 10000) {
12159 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12161 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
12163 NDR_PULL_ALLOC(ndr
, r
->info
);
12167 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
12169 if (ndr_flags
& NDR_BUFFERS
) {
12171 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12172 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12173 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
12174 size_info_1
= ndr_get_array_size(ndr
, &r
->info
);
12175 NDR_PULL_ALLOC_N(ndr
, r
->info
, size_info_1
);
12176 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12177 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12178 for (cntr_info_1
= 0; cntr_info_1
< size_info_1
; cntr_info_1
++) {
12179 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
12182 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
12185 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
12188 return NDR_ERR_SUCCESS
;
12191 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12193 uint32_t cntr_info_1
;
12194 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
12196 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
12197 ndr_print_ptr(ndr
, "info", r
->info
);
12200 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
12202 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
12204 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
12205 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
12212 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
12216 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
12218 if (ndr_flags
& NDR_SCALARS
) {
12219 int level
= ndr_push_get_switch_value(ndr
, r
);
12220 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12223 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12227 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12230 if (ndr_flags
& NDR_BUFFERS
) {
12231 int level
= ndr_push_get_switch_value(ndr
, r
);
12234 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12238 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12241 return NDR_ERR_SUCCESS
;
12244 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
12248 level
= ndr_pull_get_switch_value(ndr
, r
);
12249 if (ndr_flags
& NDR_SCALARS
) {
12250 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12251 if (_level
!= level
) {
12252 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
12256 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12260 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12263 if (ndr_flags
& NDR_BUFFERS
) {
12266 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12270 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12273 return NDR_ERR_SUCCESS
;
12276 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
12279 level
= ndr_print_get_switch_value(ndr
, r
);
12280 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
12283 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
12287 ndr_print_bad_level(ndr
, name
, level
);
12291 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
12293 uint32_t cntr_site_to_1
;
12294 if (ndr_flags
& NDR_SCALARS
) {
12295 NDR_CHECK(ndr_push_align(ndr
, 4));
12296 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
12297 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12298 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
12299 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
12301 if (ndr_flags
& NDR_BUFFERS
) {
12302 if (r
->site_from
) {
12303 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
12304 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
12305 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
12306 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12309 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12310 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
12311 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
12313 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
12314 if (r
->site_to
[cntr_site_to_1
]) {
12315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
12316 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
12317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
12318 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
));
12323 return NDR_ERR_SUCCESS
;
12326 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
12328 uint32_t _ptr_site_from
;
12329 uint32_t size_site_from_1
= 0;
12330 uint32_t length_site_from_1
= 0;
12331 TALLOC_CTX
*_mem_save_site_from_0
;
12332 uint32_t _ptr_site_to
;
12333 uint32_t size_site_to_1
= 0;
12334 uint32_t cntr_site_to_1
;
12335 uint32_t size_site_to_3
= 0;
12336 uint32_t length_site_to_3
= 0;
12337 TALLOC_CTX
*_mem_save_site_to_0
;
12338 TALLOC_CTX
*_mem_save_site_to_1
;
12339 TALLOC_CTX
*_mem_save_site_to_2
;
12340 if (ndr_flags
& NDR_SCALARS
) {
12341 NDR_CHECK(ndr_pull_align(ndr
, 4));
12342 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
12343 if (_ptr_site_from
) {
12344 NDR_PULL_ALLOC(ndr
, r
->site_from
);
12346 r
->site_from
= NULL
;
12348 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
12349 if (r
->num_req
< 1 || r
->num_req
> 10000) {
12350 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12352 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
12353 if (_ptr_site_to
) {
12354 NDR_PULL_ALLOC(ndr
, r
->site_to
);
12358 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
12360 if (ndr_flags
& NDR_BUFFERS
) {
12361 if (r
->site_from
) {
12362 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12363 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
12364 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
12365 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
12366 size_site_from_1
= ndr_get_array_size(ndr
, &r
->site_from
);
12367 length_site_from_1
= ndr_get_array_length(ndr
, &r
->site_from
);
12368 if (length_site_from_1
> size_site_from_1
) {
12369 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
);
12371 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_from_1
, sizeof(uint16_t)));
12372 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, length_site_from_1
, sizeof(uint16_t), CH_UTF16
));
12373 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
12376 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12377 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
12378 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
12379 size_site_to_1
= ndr_get_array_size(ndr
, &r
->site_to
);
12380 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, size_site_to_1
);
12381 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12382 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
12383 for (cntr_site_to_1
= 0; cntr_site_to_1
< size_site_to_1
; cntr_site_to_1
++) {
12384 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
12385 if (_ptr_site_to
) {
12386 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
12388 r
->site_to
[cntr_site_to_1
] = NULL
;
12391 for (cntr_site_to_1
= 0; cntr_site_to_1
< size_site_to_1
; cntr_site_to_1
++) {
12392 if (r
->site_to
[cntr_site_to_1
]) {
12393 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
12394 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
12395 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
12396 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
12397 size_site_to_3
= ndr_get_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]);
12398 length_site_to_3
= ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]);
12399 if (length_site_to_3
> size_site_to_3
) {
12400 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
);
12402 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_to_3
, sizeof(uint16_t)));
12403 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_to
[cntr_site_to_1
], length_site_to_3
, sizeof(uint16_t), CH_UTF16
));
12404 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
12407 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
12408 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
12411 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
12414 return NDR_ERR_SUCCESS
;
12417 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
12419 uint32_t cntr_site_to_1
;
12420 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
12422 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
12424 if (r
->site_from
) {
12425 ndr_print_string(ndr
, "site_from", r
->site_from
);
12428 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
12429 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
12432 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
12434 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
12436 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
12437 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
12439 if (r
->site_to
[cntr_site_to_1
]) {
12440 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
12449 ndr_print_uint32(ndr
, "flags", r
->flags
);
12453 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
12455 if (ndr_flags
& NDR_SCALARS
) {
12456 int level
= ndr_push_get_switch_value(ndr
, r
);
12457 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12460 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
12464 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12467 if (ndr_flags
& NDR_BUFFERS
) {
12468 int level
= ndr_push_get_switch_value(ndr
, r
);
12471 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
12475 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12478 return NDR_ERR_SUCCESS
;
12481 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
12485 level
= ndr_pull_get_switch_value(ndr
, r
);
12486 if (ndr_flags
& NDR_SCALARS
) {
12487 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12488 if (_level
!= level
) {
12489 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
12493 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
12497 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12500 if (ndr_flags
& NDR_BUFFERS
) {
12503 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
12507 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
12510 return NDR_ERR_SUCCESS
;
12513 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
12516 level
= ndr_print_get_switch_value(ndr
, r
);
12517 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
12520 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
12524 ndr_print_bad_level(ndr
, name
, level
);
12528 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
12530 if (flags
& NDR_IN
) {
12531 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
12532 if (r
->in
.bind_guid
) {
12533 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
12535 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
12536 if (r
->in
.bind_info
) {
12537 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
12540 if (flags
& NDR_OUT
) {
12541 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
12542 if (r
->out
.bind_info
) {
12543 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
12545 if (r
->out
.bind_handle
== NULL
) {
12546 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12548 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
12549 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
12551 return NDR_ERR_SUCCESS
;
12554 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
12556 uint32_t _ptr_bind_guid
;
12557 uint32_t _ptr_bind_info
;
12558 TALLOC_CTX
*_mem_save_bind_guid_0
;
12559 TALLOC_CTX
*_mem_save_bind_info_0
;
12560 TALLOC_CTX
*_mem_save_bind_handle_0
;
12561 if (flags
& NDR_IN
) {
12562 ZERO_STRUCT(r
->out
);
12564 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
12565 if (_ptr_bind_guid
) {
12566 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
12568 r
->in
.bind_guid
= NULL
;
12570 if (r
->in
.bind_guid
) {
12571 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12572 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
12573 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
12574 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
12576 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
12577 if (_ptr_bind_info
) {
12578 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
12580 r
->in
.bind_info
= NULL
;
12582 if (r
->in
.bind_info
) {
12583 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12584 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
12585 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
12586 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
12588 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
12589 ZERO_STRUCTP(r
->out
.bind_handle
);
12591 if (flags
& NDR_OUT
) {
12592 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
12593 if (_ptr_bind_info
) {
12594 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
12596 r
->out
.bind_info
= NULL
;
12598 if (r
->out
.bind_info
) {
12599 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12600 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
12601 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
12602 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
12604 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12605 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
12607 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12608 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
12609 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
12610 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12611 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
12613 return NDR_ERR_SUCCESS
;
12616 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
12618 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
12620 if (flags
& NDR_SET_VALUES
) {
12621 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12623 if (flags
& NDR_IN
) {
12624 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
12626 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
12628 if (r
->in
.bind_guid
) {
12629 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
12632 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
12634 if (r
->in
.bind_info
) {
12635 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
12640 if (flags
& NDR_OUT
) {
12641 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
12643 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
12645 if (r
->out
.bind_info
) {
12646 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
12649 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
12651 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
12653 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
12659 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
12661 if (flags
& NDR_IN
) {
12662 if (r
->in
.bind_handle
== NULL
) {
12663 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12665 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12667 if (flags
& NDR_OUT
) {
12668 if (r
->out
.bind_handle
== NULL
) {
12669 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12671 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
12672 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
12674 return NDR_ERR_SUCCESS
;
12677 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
12679 TALLOC_CTX
*_mem_save_bind_handle_0
;
12680 if (flags
& NDR_IN
) {
12681 ZERO_STRUCT(r
->out
);
12683 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12684 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
12686 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12687 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
12688 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12689 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12690 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
12691 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
12693 if (flags
& NDR_OUT
) {
12694 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12695 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
12697 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12698 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
12699 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
12700 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12701 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
12703 return NDR_ERR_SUCCESS
;
12706 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
12708 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
12710 if (flags
& NDR_SET_VALUES
) {
12711 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12713 if (flags
& NDR_IN
) {
12714 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
12716 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
12718 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
12722 if (flags
& NDR_OUT
) {
12723 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
12725 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
12727 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
12729 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
12735 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
12737 if (flags
& NDR_IN
) {
12738 if (r
->in
.bind_handle
== NULL
) {
12739 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12741 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12742 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
12743 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
12744 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
12746 if (flags
& NDR_OUT
) {
12747 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
12749 return NDR_ERR_SUCCESS
;
12752 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
12754 TALLOC_CTX
*_mem_save_bind_handle_0
;
12755 if (flags
& NDR_IN
) {
12756 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12757 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
12759 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12760 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
12761 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12763 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
12764 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
12765 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
12767 if (flags
& NDR_OUT
) {
12768 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
12770 return NDR_ERR_SUCCESS
;
12773 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
12775 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
12777 if (flags
& NDR_SET_VALUES
) {
12778 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12780 if (flags
& NDR_IN
) {
12781 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
12783 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
12785 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
12787 ndr_print_int32(ndr
, "level", r
->in
.level
);
12788 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
12789 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", &r
->in
.req
);
12792 if (flags
& NDR_OUT
) {
12793 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
12795 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
12801 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
12803 if (flags
& NDR_IN
) {
12804 if (r
->in
.bind_handle
== NULL
) {
12805 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12807 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12808 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
12809 if (r
->in
.req
== NULL
) {
12810 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12812 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12813 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12815 if (flags
& NDR_OUT
) {
12816 if (r
->out
.level_out
== NULL
) {
12817 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12819 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
12820 if (r
->out
.ctr
== NULL
) {
12821 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12823 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
12824 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
12825 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
12827 return NDR_ERR_SUCCESS
;
12830 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
12832 TALLOC_CTX
*_mem_save_bind_handle_0
;
12833 TALLOC_CTX
*_mem_save_req_0
;
12834 TALLOC_CTX
*_mem_save_level_out_0
;
12835 TALLOC_CTX
*_mem_save_ctr_0
;
12836 if (flags
& NDR_IN
) {
12837 ZERO_STRUCT(r
->out
);
12839 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12840 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
12842 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12843 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
12844 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12845 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12846 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
12847 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12848 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
12850 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12851 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
12852 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
12853 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
12854 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
12855 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12856 ZERO_STRUCTP(r
->out
.level_out
);
12857 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
12858 ZERO_STRUCTP(r
->out
.ctr
);
12860 if (flags
& NDR_OUT
) {
12861 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12862 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
12864 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12865 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
12866 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
12867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
12868 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12869 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
12871 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12872 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
12873 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
12874 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
12875 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
12876 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
12878 return NDR_ERR_SUCCESS
;
12881 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
12883 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
12885 if (flags
& NDR_SET_VALUES
) {
12886 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12888 if (flags
& NDR_IN
) {
12889 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
12891 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
12893 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
12895 ndr_print_int32(ndr
, "level", r
->in
.level
);
12896 ndr_print_ptr(ndr
, "req", r
->in
.req
);
12898 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
12899 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
12903 if (flags
& NDR_OUT
) {
12904 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
12906 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
12908 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
12910 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
12912 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
12913 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
12915 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
12921 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
12923 if (flags
& NDR_IN
) {
12924 if (r
->in
.bind_handle
== NULL
) {
12925 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12927 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12928 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
12929 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
12930 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
12932 if (flags
& NDR_OUT
) {
12933 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
12935 return NDR_ERR_SUCCESS
;
12938 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
12940 TALLOC_CTX
*_mem_save_bind_handle_0
;
12941 if (flags
& NDR_IN
) {
12942 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12943 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
12945 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12946 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
12947 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
12948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12949 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
12950 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
12951 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
12953 if (flags
& NDR_OUT
) {
12954 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
12956 return NDR_ERR_SUCCESS
;
12959 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
12961 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
12963 if (flags
& NDR_SET_VALUES
) {
12964 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12966 if (flags
& NDR_IN
) {
12967 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
12969 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
12971 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
12973 ndr_print_int32(ndr
, "level", r
->in
.level
);
12974 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
12975 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
12978 if (flags
& NDR_OUT
) {
12979 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
12981 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
12987 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_ADD(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_ADD
*r
)
12989 if (flags
& NDR_IN
) {
12991 if (flags
& NDR_OUT
) {
12992 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
12994 return NDR_ERR_SUCCESS
;
12997 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_ADD(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_ADD
*r
)
12999 if (flags
& NDR_IN
) {
13001 if (flags
& NDR_OUT
) {
13002 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13004 return NDR_ERR_SUCCESS
;
13007 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_ADD(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_ADD
*r
)
13009 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_ADD");
13011 if (flags
& NDR_SET_VALUES
) {
13012 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13014 if (flags
& NDR_IN
) {
13015 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_ADD");
13019 if (flags
& NDR_OUT
) {
13020 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_ADD");
13022 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13028 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_DEL(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_DEL
*r
)
13030 if (flags
& NDR_IN
) {
13032 if (flags
& NDR_OUT
) {
13033 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13035 return NDR_ERR_SUCCESS
;
13038 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_DEL(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_DEL
*r
)
13040 if (flags
& NDR_IN
) {
13042 if (flags
& NDR_OUT
) {
13043 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13045 return NDR_ERR_SUCCESS
;
13048 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_DEL(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_DEL
*r
)
13050 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_DEL");
13052 if (flags
& NDR_SET_VALUES
) {
13053 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13055 if (flags
& NDR_IN
) {
13056 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_DEL");
13060 if (flags
& NDR_OUT
) {
13061 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_DEL");
13063 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13069 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_MODIFY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_MODIFY
*r
)
13071 if (flags
& NDR_IN
) {
13073 if (flags
& NDR_OUT
) {
13074 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13076 return NDR_ERR_SUCCESS
;
13079 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_MODIFY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_MODIFY
*r
)
13081 if (flags
& NDR_IN
) {
13083 if (flags
& NDR_OUT
) {
13084 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13086 return NDR_ERR_SUCCESS
;
13089 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_MODIFY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_MODIFY
*r
)
13091 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_MODIFY");
13093 if (flags
& NDR_SET_VALUES
) {
13094 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13096 if (flags
& NDR_IN
) {
13097 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_MODIFY");
13101 if (flags
& NDR_OUT
) {
13102 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_MODIFY");
13104 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13110 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13112 if (flags
& NDR_IN
) {
13114 if (flags
& NDR_OUT
) {
13115 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13117 return NDR_ERR_SUCCESS
;
13120 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
13122 if (flags
& NDR_IN
) {
13124 if (flags
& NDR_OUT
) {
13125 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13127 return NDR_ERR_SUCCESS
;
13130 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13132 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
13134 if (flags
& NDR_SET_VALUES
) {
13135 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13137 if (flags
& NDR_IN
) {
13138 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
13142 if (flags
& NDR_OUT
) {
13143 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
13145 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13151 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
13153 if (flags
& NDR_IN
) {
13154 if (r
->in
.bind_handle
== NULL
) {
13155 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13157 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13158 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13159 if (r
->in
.req
== NULL
) {
13160 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13162 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13163 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13165 if (flags
& NDR_OUT
) {
13166 if (r
->out
.level_out
== NULL
) {
13167 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13169 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13170 if (r
->out
.ctr
== NULL
) {
13171 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13173 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13174 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13175 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13177 return NDR_ERR_SUCCESS
;
13180 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
13182 TALLOC_CTX
*_mem_save_bind_handle_0
;
13183 TALLOC_CTX
*_mem_save_req_0
;
13184 TALLOC_CTX
*_mem_save_level_out_0
;
13185 TALLOC_CTX
*_mem_save_ctr_0
;
13186 if (flags
& NDR_IN
) {
13187 ZERO_STRUCT(r
->out
);
13189 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13190 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13192 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13193 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13194 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13195 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13196 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13197 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13198 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13200 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13201 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13202 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13203 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13205 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13206 ZERO_STRUCTP(r
->out
.level_out
);
13207 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13208 ZERO_STRUCTP(r
->out
.ctr
);
13210 if (flags
& NDR_OUT
) {
13211 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13212 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13214 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13215 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13216 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13217 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13218 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13219 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13221 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13222 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13223 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13224 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13225 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13226 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13228 return NDR_ERR_SUCCESS
;
13231 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
13233 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
13235 if (flags
& NDR_SET_VALUES
) {
13236 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13238 if (flags
& NDR_IN
) {
13239 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
13241 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13243 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13245 ndr_print_int32(ndr
, "level", r
->in
.level
);
13246 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13248 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13249 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
13253 if (flags
& NDR_OUT
) {
13254 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
13256 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13258 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13260 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13262 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13263 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
13265 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13271 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
13273 if (flags
& NDR_IN
) {
13275 if (flags
& NDR_OUT
) {
13276 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13278 return NDR_ERR_SUCCESS
;
13281 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
13283 if (flags
& NDR_IN
) {
13285 if (flags
& NDR_OUT
) {
13286 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13288 return NDR_ERR_SUCCESS
;
13291 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
13293 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
13295 if (flags
& NDR_SET_VALUES
) {
13296 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13298 if (flags
& NDR_IN
) {
13299 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
13303 if (flags
& NDR_OUT
) {
13304 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
13306 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13312 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
13314 if (flags
& NDR_IN
) {
13315 if (r
->in
.bind_handle
== NULL
) {
13316 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13318 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13320 if (r
->in
.req
== NULL
) {
13321 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13323 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13324 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13326 if (flags
& NDR_OUT
) {
13327 if (r
->out
.level_out
== NULL
) {
13328 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13330 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13331 if (r
->out
.info
== NULL
) {
13332 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13334 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
13335 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
13336 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13338 return NDR_ERR_SUCCESS
;
13341 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
13343 TALLOC_CTX
*_mem_save_bind_handle_0
;
13344 TALLOC_CTX
*_mem_save_req_0
;
13345 TALLOC_CTX
*_mem_save_level_out_0
;
13346 TALLOC_CTX
*_mem_save_info_0
;
13347 if (flags
& NDR_IN
) {
13348 ZERO_STRUCT(r
->out
);
13350 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13351 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13353 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13354 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13355 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13356 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13357 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13358 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13359 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13361 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13362 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13363 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13364 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13365 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13366 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13367 ZERO_STRUCTP(r
->out
.level_out
);
13368 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
13369 ZERO_STRUCTP(r
->out
.info
);
13371 if (flags
& NDR_OUT
) {
13372 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13373 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13375 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13376 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13377 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13379 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13380 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
13382 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13383 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
13384 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
13385 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
13386 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
13387 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13389 return NDR_ERR_SUCCESS
;
13392 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
13394 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
13396 if (flags
& NDR_SET_VALUES
) {
13397 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13399 if (flags
& NDR_IN
) {
13400 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
13402 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13404 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13406 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13407 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13409 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13410 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
13414 if (flags
& NDR_OUT
) {
13415 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
13417 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13419 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
13421 ndr_print_ptr(ndr
, "info", r
->out
.info
);
13423 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
13424 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
13426 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13432 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
13434 if (flags
& NDR_IN
) {
13435 if (r
->in
.bind_handle
== NULL
) {
13436 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13438 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13439 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13440 if (r
->in
.req
== NULL
) {
13441 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13443 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13444 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13446 if (flags
& NDR_OUT
) {
13447 if (r
->out
.level_out
== NULL
) {
13448 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13450 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13451 if (r
->out
.ctr
== NULL
) {
13452 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13454 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13455 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13456 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13458 return NDR_ERR_SUCCESS
;
13461 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
13463 TALLOC_CTX
*_mem_save_bind_handle_0
;
13464 TALLOC_CTX
*_mem_save_req_0
;
13465 TALLOC_CTX
*_mem_save_level_out_0
;
13466 TALLOC_CTX
*_mem_save_ctr_0
;
13467 if (flags
& NDR_IN
) {
13468 ZERO_STRUCT(r
->out
);
13470 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13471 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13473 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13474 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13475 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13476 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13477 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13478 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13479 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13481 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13482 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13483 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13484 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13485 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13486 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13487 ZERO_STRUCTP(r
->out
.level_out
);
13488 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13489 ZERO_STRUCTP(r
->out
.ctr
);
13491 if (flags
& NDR_OUT
) {
13492 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13493 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13495 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13496 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13497 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13498 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13499 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13500 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13502 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13503 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13504 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13505 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13506 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13507 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13509 return NDR_ERR_SUCCESS
;
13512 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
13514 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
13516 if (flags
& NDR_SET_VALUES
) {
13517 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13519 if (flags
& NDR_IN
) {
13520 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
13522 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13524 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13526 ndr_print_int32(ndr
, "level", r
->in
.level
);
13527 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13529 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13530 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
13534 if (flags
& NDR_OUT
) {
13535 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
13537 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13539 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13541 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13543 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13544 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
13546 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13552 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
13554 if (flags
& NDR_IN
) {
13555 if (r
->in
.bind_handle
== NULL
) {
13556 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13558 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13559 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13560 if (r
->in
.req
== NULL
) {
13561 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13563 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13564 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13566 if (flags
& NDR_OUT
) {
13567 if (r
->out
.level_out
== NULL
) {
13568 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13570 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13571 if (r
->out
.res
== NULL
) {
13572 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13574 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
13575 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
13576 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13578 return NDR_ERR_SUCCESS
;
13581 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
13583 TALLOC_CTX
*_mem_save_bind_handle_0
;
13584 TALLOC_CTX
*_mem_save_req_0
;
13585 TALLOC_CTX
*_mem_save_level_out_0
;
13586 TALLOC_CTX
*_mem_save_res_0
;
13587 if (flags
& NDR_IN
) {
13588 ZERO_STRUCT(r
->out
);
13590 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13591 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13593 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13594 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13595 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13596 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13597 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13598 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13599 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13601 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13602 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13603 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13604 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13606 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13607 ZERO_STRUCTP(r
->out
.level_out
);
13608 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
13609 ZERO_STRUCTP(r
->out
.res
);
13611 if (flags
& NDR_OUT
) {
13612 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13613 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13615 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13616 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13617 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13618 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13619 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13620 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
13622 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13623 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
13624 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
13625 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
13626 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
13627 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13629 return NDR_ERR_SUCCESS
;
13632 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
13634 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
13636 if (flags
& NDR_SET_VALUES
) {
13637 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13639 if (flags
& NDR_IN
) {
13640 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
13642 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13644 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13646 ndr_print_int32(ndr
, "level", r
->in
.level
);
13647 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13649 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13650 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
13654 if (flags
& NDR_OUT
) {
13655 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
13657 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13659 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13661 ndr_print_ptr(ndr
, "res", r
->out
.res
);
13663 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
13664 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
13666 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13672 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
13674 if (flags
& NDR_IN
) {
13675 if (r
->in
.bind_handle
== NULL
) {
13676 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13678 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13679 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13680 if (r
->in
.req
== NULL
) {
13681 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13683 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13684 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13686 if (flags
& NDR_OUT
) {
13687 if (r
->out
.level_out
== NULL
) {
13688 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13690 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13691 if (r
->out
.res
== NULL
) {
13692 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13694 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
13695 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
13696 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13698 return NDR_ERR_SUCCESS
;
13701 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
13703 TALLOC_CTX
*_mem_save_bind_handle_0
;
13704 TALLOC_CTX
*_mem_save_req_0
;
13705 TALLOC_CTX
*_mem_save_level_out_0
;
13706 TALLOC_CTX
*_mem_save_res_0
;
13707 if (flags
& NDR_IN
) {
13708 ZERO_STRUCT(r
->out
);
13710 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13711 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13713 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13714 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13715 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13716 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13717 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13718 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13719 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13721 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13722 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13723 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13724 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13725 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13726 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13727 ZERO_STRUCTP(r
->out
.level_out
);
13728 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
13729 ZERO_STRUCTP(r
->out
.res
);
13731 if (flags
& NDR_OUT
) {
13732 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13733 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13735 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13736 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13737 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13739 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13740 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
13742 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13743 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
13744 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
13745 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
13746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
13747 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13749 return NDR_ERR_SUCCESS
;
13752 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
13754 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
13756 if (flags
& NDR_SET_VALUES
) {
13757 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13759 if (flags
& NDR_IN
) {
13760 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
13762 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13764 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13766 ndr_print_int32(ndr
, "level", r
->in
.level
);
13767 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13769 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13770 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
13774 if (flags
& NDR_OUT
) {
13775 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
13777 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13779 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13781 ndr_print_ptr(ndr
, "res", r
->out
.res
);
13783 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
13784 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
13786 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13792 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
13794 if (flags
& NDR_IN
) {
13796 if (flags
& NDR_OUT
) {
13797 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13799 return NDR_ERR_SUCCESS
;
13802 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
13804 if (flags
& NDR_IN
) {
13806 if (flags
& NDR_OUT
) {
13807 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13809 return NDR_ERR_SUCCESS
;
13812 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
13814 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
13816 if (flags
& NDR_SET_VALUES
) {
13817 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13819 if (flags
& NDR_IN
) {
13820 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
13824 if (flags
& NDR_OUT
) {
13825 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
13827 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13833 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
13835 if (flags
& NDR_IN
) {
13836 if (r
->in
.bind_handle
== NULL
) {
13837 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13839 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13840 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13841 if (r
->in
.req
== NULL
) {
13842 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13844 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13845 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13847 if (flags
& NDR_OUT
) {
13848 if (r
->out
.level_out
== NULL
) {
13849 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13851 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13852 if (r
->out
.ctr
== NULL
) {
13853 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13855 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13856 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13857 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13859 return NDR_ERR_SUCCESS
;
13862 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
13864 TALLOC_CTX
*_mem_save_bind_handle_0
;
13865 TALLOC_CTX
*_mem_save_req_0
;
13866 TALLOC_CTX
*_mem_save_level_out_0
;
13867 TALLOC_CTX
*_mem_save_ctr_0
;
13868 if (flags
& NDR_IN
) {
13869 ZERO_STRUCT(r
->out
);
13871 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13872 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13874 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13875 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13876 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13877 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13878 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13879 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13880 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13882 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13883 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13884 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13885 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13886 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13887 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13888 ZERO_STRUCTP(r
->out
.level_out
);
13889 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13890 ZERO_STRUCTP(r
->out
.ctr
);
13892 if (flags
& NDR_OUT
) {
13893 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13894 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13896 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13897 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13898 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13899 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13900 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13901 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13903 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13904 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13905 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13906 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13907 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13908 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13910 return NDR_ERR_SUCCESS
;
13913 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
13915 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
13917 if (flags
& NDR_SET_VALUES
) {
13918 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13920 if (flags
& NDR_IN
) {
13921 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
13923 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13925 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13927 ndr_print_int32(ndr
, "level", r
->in
.level
);
13928 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13930 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13931 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
13935 if (flags
& NDR_OUT
) {
13936 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
13938 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13940 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13942 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13944 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13945 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
13947 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13953 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
13955 if (flags
& NDR_IN
) {
13956 if (r
->in
.bind_handle
== NULL
) {
13957 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13959 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13960 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13961 if (r
->in
.req
== NULL
) {
13962 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13964 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13965 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13967 if (flags
& NDR_OUT
) {
13968 if (r
->out
.level_out
== NULL
) {
13969 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13971 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13972 if (r
->out
.ctr
== NULL
) {
13973 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13975 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13976 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13977 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13979 return NDR_ERR_SUCCESS
;
13982 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
13984 TALLOC_CTX
*_mem_save_bind_handle_0
;
13985 TALLOC_CTX
*_mem_save_req_0
;
13986 TALLOC_CTX
*_mem_save_level_out_0
;
13987 TALLOC_CTX
*_mem_save_ctr_0
;
13988 if (flags
& NDR_IN
) {
13989 ZERO_STRUCT(r
->out
);
13991 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13992 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13994 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13995 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13996 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13997 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13998 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13999 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14000 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14002 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14003 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14004 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14005 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14006 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14007 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14008 ZERO_STRUCTP(r
->out
.level_out
);
14009 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14010 ZERO_STRUCTP(r
->out
.ctr
);
14012 if (flags
& NDR_OUT
) {
14013 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14014 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14016 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14017 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14018 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14019 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14020 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14021 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14023 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14024 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14025 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14026 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14028 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14030 return NDR_ERR_SUCCESS
;
14033 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14035 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
14037 if (flags
& NDR_SET_VALUES
) {
14038 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14040 if (flags
& NDR_IN
) {
14041 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
14043 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14045 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14047 ndr_print_int32(ndr
, "level", r
->in
.level
);
14048 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14050 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14051 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
14055 if (flags
& NDR_OUT
) {
14056 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
14058 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14060 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14062 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14064 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14065 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
14067 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14073 static enum ndr_err_code
ndr_push_DRSUAPI_EXECUTE_KCC(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_EXECUTE_KCC
*r
)
14075 if (flags
& NDR_IN
) {
14077 if (flags
& NDR_OUT
) {
14078 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14080 return NDR_ERR_SUCCESS
;
14083 static enum ndr_err_code
ndr_pull_DRSUAPI_EXECUTE_KCC(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_EXECUTE_KCC
*r
)
14085 if (flags
& NDR_IN
) {
14087 if (flags
& NDR_OUT
) {
14088 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14090 return NDR_ERR_SUCCESS
;
14093 _PUBLIC_
void ndr_print_DRSUAPI_EXECUTE_KCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_EXECUTE_KCC
*r
)
14095 ndr_print_struct(ndr
, name
, "DRSUAPI_EXECUTE_KCC");
14097 if (flags
& NDR_SET_VALUES
) {
14098 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14100 if (flags
& NDR_IN
) {
14101 ndr_print_struct(ndr
, "in", "DRSUAPI_EXECUTE_KCC");
14105 if (flags
& NDR_OUT
) {
14106 ndr_print_struct(ndr
, "out", "DRSUAPI_EXECUTE_KCC");
14108 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14114 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
14116 if (flags
& NDR_IN
) {
14117 if (r
->in
.bind_handle
== NULL
) {
14118 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14120 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14121 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
14122 if (r
->in
.req
== NULL
) {
14123 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14125 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14126 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14128 if (flags
& NDR_OUT
) {
14129 if (r
->out
.info_type
== NULL
) {
14130 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14132 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
14133 if (r
->out
.info
== NULL
) {
14134 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14136 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
14137 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14138 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14140 return NDR_ERR_SUCCESS
;
14143 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
14145 TALLOC_CTX
*_mem_save_bind_handle_0
;
14146 TALLOC_CTX
*_mem_save_req_0
;
14147 TALLOC_CTX
*_mem_save_info_type_0
;
14148 TALLOC_CTX
*_mem_save_info_0
;
14149 if (flags
& NDR_IN
) {
14150 ZERO_STRUCT(r
->out
);
14152 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14153 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14155 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14156 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14157 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14158 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14159 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
14160 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14161 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14163 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14164 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14165 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14168 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
14169 ZERO_STRUCTP(r
->out
.info_type
);
14170 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14171 ZERO_STRUCTP(r
->out
.info
);
14173 if (flags
& NDR_OUT
) {
14174 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14175 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
14177 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14178 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
14179 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
14180 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
14181 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14182 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14184 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14185 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14186 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
14187 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14188 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14189 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14191 return NDR_ERR_SUCCESS
;
14194 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
14196 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
14198 if (flags
& NDR_SET_VALUES
) {
14199 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14201 if (flags
& NDR_IN
) {
14202 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
14204 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14206 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14208 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
14209 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14211 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14212 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
14216 if (flags
& NDR_OUT
) {
14217 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
14219 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
14221 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
14223 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14225 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
14226 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
14228 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14234 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
14236 if (flags
& NDR_IN
) {
14238 if (flags
& NDR_OUT
) {
14239 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14241 return NDR_ERR_SUCCESS
;
14244 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
14246 if (flags
& NDR_IN
) {
14248 if (flags
& NDR_OUT
) {
14249 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14251 return NDR_ERR_SUCCESS
;
14254 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
14256 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
14258 if (flags
& NDR_SET_VALUES
) {
14259 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14261 if (flags
& NDR_IN
) {
14262 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
14266 if (flags
& NDR_OUT
) {
14267 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
14269 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14275 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
14277 if (flags
& NDR_IN
) {
14278 if (r
->in
.bind_handle
== NULL
) {
14279 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14281 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14282 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14283 if (r
->in
.req
== NULL
) {
14284 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14286 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14287 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14289 if (flags
& NDR_OUT
) {
14290 if (r
->out
.level_out
== NULL
) {
14291 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14293 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14294 if (r
->out
.ctr
== NULL
) {
14295 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14297 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14298 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14299 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14301 return NDR_ERR_SUCCESS
;
14304 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
14306 TALLOC_CTX
*_mem_save_bind_handle_0
;
14307 TALLOC_CTX
*_mem_save_req_0
;
14308 TALLOC_CTX
*_mem_save_level_out_0
;
14309 TALLOC_CTX
*_mem_save_ctr_0
;
14310 if (flags
& NDR_IN
) {
14311 ZERO_STRUCT(r
->out
);
14313 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14314 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14316 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14317 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14318 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14320 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14321 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14322 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14324 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14325 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14326 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14327 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14328 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14329 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14330 ZERO_STRUCTP(r
->out
.level_out
);
14331 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14332 ZERO_STRUCTP(r
->out
.ctr
);
14334 if (flags
& NDR_OUT
) {
14335 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14336 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14338 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14339 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14340 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14341 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14342 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14343 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14345 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14346 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14347 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14348 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14349 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14350 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14352 return NDR_ERR_SUCCESS
;
14355 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
14357 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
14359 if (flags
& NDR_SET_VALUES
) {
14360 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14362 if (flags
& NDR_IN
) {
14363 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
14365 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14367 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14369 ndr_print_int32(ndr
, "level", r
->in
.level
);
14370 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14372 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14373 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
14377 if (flags
& NDR_OUT
) {
14378 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
14380 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14382 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14384 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14386 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14387 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
14389 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14395 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
14397 if (flags
& NDR_IN
) {
14399 if (flags
& NDR_OUT
) {
14400 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14402 return NDR_ERR_SUCCESS
;
14405 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
14407 if (flags
& NDR_IN
) {
14409 if (flags
& NDR_OUT
) {
14410 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14412 return NDR_ERR_SUCCESS
;
14415 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
14417 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14419 if (flags
& NDR_SET_VALUES
) {
14420 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14422 if (flags
& NDR_IN
) {
14423 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14427 if (flags
& NDR_OUT
) {
14428 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14430 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14436 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
14438 if (flags
& NDR_IN
) {
14440 if (flags
& NDR_OUT
) {
14441 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14443 return NDR_ERR_SUCCESS
;
14446 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
14448 if (flags
& NDR_IN
) {
14450 if (flags
& NDR_OUT
) {
14451 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14453 return NDR_ERR_SUCCESS
;
14456 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
14458 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
14460 if (flags
& NDR_SET_VALUES
) {
14461 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14463 if (flags
& NDR_IN
) {
14464 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
14468 if (flags
& NDR_OUT
) {
14469 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
14471 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14477 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
14479 if (flags
& NDR_IN
) {
14480 if (r
->in
.bind_handle
== NULL
) {
14481 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14483 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14484 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14485 if (r
->in
.req
== NULL
) {
14486 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14488 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14489 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14491 if (flags
& NDR_OUT
) {
14492 if (r
->out
.level_out
== NULL
) {
14493 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14495 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14496 if (r
->out
.ctr
== NULL
) {
14497 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14499 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14500 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14501 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14503 return NDR_ERR_SUCCESS
;
14506 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
14508 TALLOC_CTX
*_mem_save_bind_handle_0
;
14509 TALLOC_CTX
*_mem_save_req_0
;
14510 TALLOC_CTX
*_mem_save_level_out_0
;
14511 TALLOC_CTX
*_mem_save_ctr_0
;
14512 if (flags
& NDR_IN
) {
14513 ZERO_STRUCT(r
->out
);
14515 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14516 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14518 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14519 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14520 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14522 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14523 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14524 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14526 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14527 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14528 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14529 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14530 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14531 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14532 ZERO_STRUCTP(r
->out
.level_out
);
14533 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14534 ZERO_STRUCTP(r
->out
.ctr
);
14536 if (flags
& NDR_OUT
) {
14537 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14538 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14540 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14541 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14542 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14543 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14544 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14545 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14547 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14548 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14549 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14550 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14551 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14552 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14554 return NDR_ERR_SUCCESS
;
14557 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
14559 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
14561 if (flags
& NDR_SET_VALUES
) {
14562 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14564 if (flags
& NDR_IN
) {
14565 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
14567 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14569 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14571 ndr_print_int32(ndr
, "level", r
->in
.level
);
14572 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14574 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14575 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
14579 if (flags
& NDR_OUT
) {
14580 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
14582 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14584 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14586 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14588 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14589 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
14591 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14597 static const struct ndr_interface_call drsuapi_calls
[] = {
14600 sizeof(struct drsuapi_DsBind
),
14601 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
14602 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
14603 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
14607 "drsuapi_DsUnbind",
14608 sizeof(struct drsuapi_DsUnbind
),
14609 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
14610 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
14611 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
14615 "drsuapi_DsReplicaSync",
14616 sizeof(struct drsuapi_DsReplicaSync
),
14617 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
14618 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
14619 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
14623 "drsuapi_DsGetNCChanges",
14624 sizeof(struct drsuapi_DsGetNCChanges
),
14625 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
14626 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
14627 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
14631 "drsuapi_DsReplicaUpdateRefs",
14632 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
14633 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
14634 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
14635 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
14639 "DRSUAPI_REPLICA_ADD",
14640 sizeof(struct DRSUAPI_REPLICA_ADD
),
14641 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_ADD
,
14642 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_ADD
,
14643 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_ADD
,
14647 "DRSUAPI_REPLICA_DEL",
14648 sizeof(struct DRSUAPI_REPLICA_DEL
),
14649 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_DEL
,
14650 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_DEL
,
14651 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_DEL
,
14655 "DRSUAPI_REPLICA_MODIFY",
14656 sizeof(struct DRSUAPI_REPLICA_MODIFY
),
14657 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_MODIFY
,
14658 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_MODIFY
,
14659 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_MODIFY
,
14663 "DRSUAPI_VERIFY_NAMES",
14664 sizeof(struct DRSUAPI_VERIFY_NAMES
),
14665 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
14666 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
14667 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
14671 "drsuapi_DsGetMemberships",
14672 sizeof(struct drsuapi_DsGetMemberships
),
14673 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
14674 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
14675 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
14679 "DRSUAPI_INTER_DOMAIN_MOVE",
14680 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
14681 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
14682 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
14683 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
14687 "drsuapi_DsGetNT4ChangeLog",
14688 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
14689 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
14690 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
14691 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
14695 "drsuapi_DsCrackNames",
14696 sizeof(struct drsuapi_DsCrackNames
),
14697 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
14698 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
14699 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
14703 "drsuapi_DsWriteAccountSpn",
14704 sizeof(struct drsuapi_DsWriteAccountSpn
),
14705 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
14706 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
14707 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
14711 "drsuapi_DsRemoveDSServer",
14712 sizeof(struct drsuapi_DsRemoveDSServer
),
14713 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
14714 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
14715 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
14719 "DRSUAPI_REMOVE_DS_DOMAIN",
14720 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
14721 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
14722 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
14723 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
14727 "drsuapi_DsGetDomainControllerInfo",
14728 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
14729 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
14730 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
14731 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
14735 "drsuapi_DsAddEntry",
14736 sizeof(struct drsuapi_DsAddEntry
),
14737 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
14738 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
14739 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
14743 "DRSUAPI_EXECUTE_KCC",
14744 sizeof(struct DRSUAPI_EXECUTE_KCC
),
14745 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_EXECUTE_KCC
,
14746 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_EXECUTE_KCC
,
14747 (ndr_print_function_t
) ndr_print_DRSUAPI_EXECUTE_KCC
,
14751 "drsuapi_DsReplicaGetInfo",
14752 sizeof(struct drsuapi_DsReplicaGetInfo
),
14753 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
14754 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
14755 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
14759 "DRSUAPI_ADD_SID_HISTORY",
14760 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
14761 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
14762 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
14763 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
14767 "drsuapi_DsGetMemberships2",
14768 sizeof(struct drsuapi_DsGetMemberships2
),
14769 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
14770 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
14771 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
14775 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
14776 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
14777 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
14778 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
14779 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
14783 "DRSUAPI_GET_OBJECT_EXISTENCE",
14784 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
14785 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
14786 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
14787 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
14791 "drsuapi_QuerySitesByCost",
14792 sizeof(struct drsuapi_QuerySitesByCost
),
14793 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
14794 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
14795 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
14798 { NULL
, 0, NULL
, NULL
, NULL
, false }
14801 static const char * const drsuapi_endpoint_strings
[] = {
14802 "ncacn_np:[\\pipe\\lsass]",
14803 "ncacn_np:[\\pipe\\protected_storage]",
14808 static const struct ndr_interface_string_array drsuapi_endpoints
= {
14810 .names
= drsuapi_endpoint_strings
14813 static const char * const drsuapi_authservice_strings
[] = {
14817 static const struct ndr_interface_string_array drsuapi_authservices
= {
14819 .names
= drsuapi_authservice_strings
14823 const struct ndr_interface_table ndr_table_drsuapi
= {
14826 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
14827 NDR_DRSUAPI_VERSION
14829 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
14831 .calls
= drsuapi_calls
,
14832 .endpoints
= &drsuapi_endpoints
,
14833 .authservices
= &drsuapi_authservices