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
));
95 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
97 if (ndr_flags
& NDR_BUFFERS
) {
99 return NDR_ERR_SUCCESS
;
102 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo24
*r
)
104 if (ndr_flags
& NDR_SCALARS
) {
105 NDR_CHECK(ndr_pull_align(ndr
, 4));
106 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
107 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
108 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
109 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
111 if (ndr_flags
& NDR_BUFFERS
) {
113 return NDR_ERR_SUCCESS
;
116 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo24(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo24
*r
)
118 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo24");
120 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
121 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
122 ndr_print_uint32(ndr
, "pid", r
->pid
);
126 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo28(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo28
*r
)
128 if (ndr_flags
& NDR_SCALARS
) {
129 NDR_CHECK(ndr_push_align(ndr
, 4));
130 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
131 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
132 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
133 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
134 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
136 if (ndr_flags
& NDR_BUFFERS
) {
138 return NDR_ERR_SUCCESS
;
141 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo28
*r
)
143 if (ndr_flags
& NDR_SCALARS
) {
144 NDR_CHECK(ndr_pull_align(ndr
, 4));
145 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
146 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
147 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
148 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
149 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
151 if (ndr_flags
& NDR_BUFFERS
) {
153 return NDR_ERR_SUCCESS
;
156 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo28(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo28
*r
)
158 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo28");
160 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
161 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
162 ndr_print_uint32(ndr
, "pid", r
->pid
);
163 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
167 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo48(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo48
*r
)
169 if (ndr_flags
& NDR_SCALARS
) {
170 NDR_CHECK(ndr_push_align(ndr
, 4));
171 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
172 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
173 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
174 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
175 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, r
->supported_extensions_ext
));
176 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
177 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
179 if (ndr_flags
& NDR_BUFFERS
) {
181 return NDR_ERR_SUCCESS
;
184 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo48
*r
)
186 if (ndr_flags
& NDR_SCALARS
) {
187 NDR_CHECK(ndr_pull_align(ndr
, 4));
188 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
189 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
190 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
191 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
192 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, &r
->supported_extensions_ext
));
193 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
194 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
196 if (ndr_flags
& NDR_BUFFERS
) {
198 return NDR_ERR_SUCCESS
;
201 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo48(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo48
*r
)
203 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo48");
205 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
206 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
207 ndr_print_uint32(ndr
, "pid", r
->pid
);
208 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
209 ndr_print_drsuapi_SupportedExtensionsExt(ndr
, "supported_extensions_ext", r
->supported_extensions_ext
);
210 ndr_print_GUID(ndr
, "config_dn_guid", &r
->config_dn_guid
);
214 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoFallBack
*r
)
216 if (ndr_flags
& NDR_SCALARS
) {
217 NDR_CHECK(ndr_push_align(ndr
, 4));
219 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
220 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
221 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->info
));
222 ndr
->flags
= _flags_save_DATA_BLOB
;
224 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
226 if (ndr_flags
& NDR_BUFFERS
) {
228 return NDR_ERR_SUCCESS
;
231 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoFallBack
*r
)
233 if (ndr_flags
& NDR_SCALARS
) {
234 NDR_CHECK(ndr_pull_align(ndr
, 4));
236 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
237 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
238 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->info
));
239 ndr
->flags
= _flags_save_DATA_BLOB
;
241 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
243 if (ndr_flags
& NDR_BUFFERS
) {
245 return NDR_ERR_SUCCESS
;
248 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoFallBack
*r
)
250 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoFallBack");
252 ndr_print_DATA_BLOB(ndr
, "info", r
->info
);
256 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsBindInfo
*r
)
258 if (ndr_flags
& NDR_SCALARS
) {
259 int level
= ndr_push_get_switch_value(ndr
, r
);
260 NDR_CHECK(ndr_push_union_align(ndr
, 1));
264 struct ndr_push
*_ndr_info24
;
265 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
266 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
267 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info24
, 4, -1));
273 struct ndr_push
*_ndr_info28
;
274 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
275 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
276 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info28
, 4, -1));
282 struct ndr_push
*_ndr_info48
;
283 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
284 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
285 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info48
, 4, -1));
291 struct ndr_push
*_ndr_FallBack
;
292 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
293 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
294 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
300 if (ndr_flags
& NDR_BUFFERS
) {
301 int level
= ndr_push_get_switch_value(ndr
, r
);
317 return NDR_ERR_SUCCESS
;
320 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsBindInfo
*r
)
323 level
= ndr_pull_get_switch_value(ndr
, r
);
324 if (ndr_flags
& NDR_SCALARS
) {
325 NDR_CHECK(ndr_pull_union_align(ndr
, 1));
329 struct ndr_pull
*_ndr_info24
;
330 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
331 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
332 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info24
, 4, -1));
338 struct ndr_pull
*_ndr_info28
;
339 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
340 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
341 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info28
, 4, -1));
347 struct ndr_pull
*_ndr_info48
;
348 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
349 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
350 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info48
, 4, -1));
356 struct ndr_pull
*_ndr_FallBack
;
357 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
358 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
359 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
365 if (ndr_flags
& NDR_BUFFERS
) {
381 return NDR_ERR_SUCCESS
;
384 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsBindInfo
*r
)
387 level
= ndr_print_get_switch_value(ndr
, r
);
388 ndr_print_union(ndr
, name
, level
, "drsuapi_DsBindInfo");
391 ndr_print_drsuapi_DsBindInfo24(ndr
, "info24", &r
->info24
);
395 ndr_print_drsuapi_DsBindInfo28(ndr
, "info28", &r
->info28
);
399 ndr_print_drsuapi_DsBindInfo48(ndr
, "info48", &r
->info48
);
403 ndr_print_drsuapi_DsBindInfoFallBack(ndr
, "FallBack", &r
->FallBack
);
409 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoCtr
*r
)
411 if (ndr_flags
& NDR_SCALARS
) {
412 NDR_CHECK(ndr_push_align(ndr
, 4));
413 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
414 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->length
));
415 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
416 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
418 if (ndr_flags
& NDR_BUFFERS
) {
420 return NDR_ERR_SUCCESS
;
423 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoCtr
*r
)
425 if (ndr_flags
& NDR_SCALARS
) {
426 NDR_CHECK(ndr_pull_align(ndr
, 4));
427 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
428 if (r
->length
< 1 || r
->length
> 10000) {
429 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
431 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->length
));
432 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
433 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
435 if (ndr_flags
& NDR_BUFFERS
) {
437 return NDR_ERR_SUCCESS
;
440 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoCtr
*r
)
442 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoCtr");
444 ndr_print_uint32(ndr
, "length", r
->length
);
445 ndr_print_set_switch_value(ndr
, &r
->info
, r
->length
);
446 ndr_print_drsuapi_DsBindInfo(ndr
, "info", &r
->info
);
450 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
452 if (ndr_flags
& NDR_SCALARS
) {
453 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->dn
) + 1));
454 NDR_CHECK(ndr_push_align(ndr
, 4));
455 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
456 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
457 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
458 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
459 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
460 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
461 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
463 if (ndr_flags
& NDR_BUFFERS
) {
464 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
466 return NDR_ERR_SUCCESS
;
469 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier
*r
)
471 uint32_t size_dn_0
= 0;
472 if (ndr_flags
& NDR_SCALARS
) {
473 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dn
));
474 NDR_CHECK(ndr_pull_align(ndr
, 4));
475 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
476 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
477 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
478 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
479 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
480 size_dn_0
= ndr_get_array_size(ndr
, &r
->dn
);
481 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, size_dn_0
, sizeof(uint16_t), CH_UTF16
));
483 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->dn
, r
->__ndr_size_dn
+ 1));
485 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
487 if (ndr_flags
& NDR_BUFFERS
) {
488 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
490 return NDR_ERR_SUCCESS
;
493 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
495 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier");
497 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
);
498 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
);
499 ndr_print_GUID(ndr
, "guid", &r
->guid
);
500 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
501 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
502 ndr_print_string(ndr
, "dn", r
->dn
);
506 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier
*r
, struct smb_iconv_convenience
*ic
, int flags
)
508 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier
, ic
);
511 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
513 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
514 return NDR_ERR_SUCCESS
;
517 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
520 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
522 return NDR_ERR_SUCCESS
;
525 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
527 ndr_print_uint32(ndr
, name
, r
);
529 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION
, r
);
530 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE
, r
);
531 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC
, r
);
532 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING
, r
);
533 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES
, r
);
534 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL
, r
);
535 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT
, r
);
536 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD
, r
);
537 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE
, r
);
538 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE
, r
);
539 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED
, r
);
540 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY
, r
);
541 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY
, r
);
542 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL
, r
);
543 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION
, r
);
544 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED
, r
);
545 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS
, r
);
546 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET
, r
);
547 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE
, r
);
548 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION
, r
);
549 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA
, r
);
550 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL
, r
);
551 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS
, r
);
552 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED
, r
);
556 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
558 if (ndr_flags
& NDR_SCALARS
) {
559 NDR_CHECK(ndr_push_align(ndr
, 5));
560 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
561 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
563 uint32_t _flags_save_string
= ndr
->flags
;
564 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
565 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->other_info
));
566 ndr
->flags
= _flags_save_string
;
568 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->options
));
569 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
571 if (ndr_flags
& NDR_BUFFERS
) {
572 if (r
->naming_context
) {
573 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
576 uint32_t _flags_save_string
= ndr
->flags
;
577 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
579 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->other_info
));
581 ndr
->flags
= _flags_save_string
;
584 return NDR_ERR_SUCCESS
;
587 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
589 uint32_t _ptr_naming_context
;
590 TALLOC_CTX
*_mem_save_naming_context_0
;
591 uint32_t _ptr_other_info
;
592 TALLOC_CTX
*_mem_save_other_info_0
;
593 if (ndr_flags
& NDR_SCALARS
) {
594 NDR_CHECK(ndr_pull_align(ndr
, 5));
595 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
596 if (_ptr_naming_context
) {
597 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
599 r
->naming_context
= NULL
;
601 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
603 uint32_t _flags_save_string
= ndr
->flags
;
604 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
605 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
606 if (_ptr_other_info
) {
607 NDR_PULL_ALLOC(ndr
, r
->other_info
);
609 r
->other_info
= NULL
;
611 ndr
->flags
= _flags_save_string
;
613 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->options
));
614 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
616 if (ndr_flags
& NDR_BUFFERS
) {
617 if (r
->naming_context
) {
618 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
619 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
620 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
621 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
624 uint32_t _flags_save_string
= ndr
->flags
;
625 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
627 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
628 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
629 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->other_info
));
630 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
632 ndr
->flags
= _flags_save_string
;
635 return NDR_ERR_SUCCESS
;
638 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
640 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
642 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
644 if (r
->naming_context
) {
645 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
648 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
649 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
652 ndr_print_string(ndr
, "other_info", r
->other_info
);
655 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "options", r
->options
);
659 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
661 if (ndr_flags
& NDR_SCALARS
) {
662 int level
= ndr_push_get_switch_value(ndr
, r
);
663 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
664 NDR_CHECK(ndr_push_union_align(ndr
, 5));
667 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
671 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
674 if (ndr_flags
& NDR_BUFFERS
) {
675 int level
= ndr_push_get_switch_value(ndr
, r
);
678 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
682 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
685 return NDR_ERR_SUCCESS
;
688 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
692 level
= ndr_pull_get_switch_value(ndr
, r
);
693 if (ndr_flags
& NDR_SCALARS
) {
694 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
695 if (_level
!= level
) {
696 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
698 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
701 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
705 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
708 if (ndr_flags
& NDR_BUFFERS
) {
711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
715 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
718 return NDR_ERR_SUCCESS
;
721 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
724 level
= ndr_print_get_switch_value(ndr
, r
);
725 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
728 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
732 ndr_print_bad_level(ndr
, name
, level
);
736 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
738 if (ndr_flags
& NDR_SCALARS
) {
739 NDR_CHECK(ndr_push_align(ndr
, 8));
740 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
741 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
742 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
743 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
745 if (ndr_flags
& NDR_BUFFERS
) {
747 return NDR_ERR_SUCCESS
;
750 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
752 if (ndr_flags
& NDR_SCALARS
) {
753 NDR_CHECK(ndr_pull_align(ndr
, 8));
754 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
755 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
756 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
757 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
759 if (ndr_flags
& NDR_BUFFERS
) {
761 return NDR_ERR_SUCCESS
;
764 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
766 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
768 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
769 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
770 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
774 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
776 if (ndr_flags
& NDR_SCALARS
) {
777 NDR_CHECK(ndr_push_align(ndr
, 8));
778 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
779 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
780 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
782 if (ndr_flags
& NDR_BUFFERS
) {
784 return NDR_ERR_SUCCESS
;
787 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
789 if (ndr_flags
& NDR_SCALARS
) {
790 NDR_CHECK(ndr_pull_align(ndr
, 8));
791 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
792 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
793 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
795 if (ndr_flags
& NDR_BUFFERS
) {
797 return NDR_ERR_SUCCESS
;
800 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
802 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
804 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
805 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
809 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
811 uint32_t cntr_cursors_0
;
812 if (ndr_flags
& NDR_SCALARS
) {
813 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
814 NDR_CHECK(ndr_push_align(ndr
, 8));
815 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
816 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
817 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
818 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
819 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
820 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
822 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
824 if (ndr_flags
& NDR_BUFFERS
) {
826 return NDR_ERR_SUCCESS
;
829 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
831 uint32_t size_cursors_0
= 0;
832 uint32_t cntr_cursors_0
;
833 TALLOC_CTX
*_mem_save_cursors_0
;
834 if (ndr_flags
& NDR_SCALARS
) {
835 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
836 NDR_CHECK(ndr_pull_align(ndr
, 8));
837 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
838 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
839 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
840 if (r
->count
> 0x100000) {
841 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
843 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
844 size_cursors_0
= ndr_get_array_size(ndr
, &r
->cursors
);
845 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, size_cursors_0
);
846 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
847 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
848 for (cntr_cursors_0
= 0; cntr_cursors_0
< size_cursors_0
; cntr_cursors_0
++) {
849 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
851 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
853 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
855 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
857 if (ndr_flags
& NDR_BUFFERS
) {
859 return NDR_ERR_SUCCESS
;
862 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
864 uint32_t cntr_cursors_0
;
865 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
867 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
868 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
869 ndr_print_uint32(ndr
, "count", r
->count
);
870 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
871 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
873 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
875 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
876 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
884 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
886 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
887 return NDR_ERR_SUCCESS
;
890 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
893 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
895 return NDR_ERR_SUCCESS
;
898 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
900 ndr_print_uint32(ndr
, name
, r
);
902 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE
, r
);
903 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
, r
);
904 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS
, r
);
905 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
);
906 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP", DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP
, r
);
907 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR
, r
);
908 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC
, r
);
909 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY", DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY
, r
);
910 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS
, r
);
911 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS
, r
);
912 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET
, r
);
913 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED
, r
);
914 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING", DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING
, r
);
915 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED
, r
);
916 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS
, r
);
917 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC
, r
);
918 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES
, r
);
919 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS
, r
);
920 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET
, r
);
924 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
927 uint32_t _flags_save_ENUM
= ndr
->flags
;
928 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
929 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
930 ndr
->flags
= _flags_save_ENUM
;
932 return NDR_ERR_SUCCESS
;
935 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
939 uint32_t _flags_save_ENUM
= ndr
->flags
;
940 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
941 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
943 ndr
->flags
= _flags_save_ENUM
;
945 return NDR_ERR_SUCCESS
;
948 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
950 const char *val
= NULL
;
953 uint32_t _flags_save_ENUM
= ndr
->flags
;
954 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
956 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
957 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
958 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
959 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
960 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
961 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
962 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
963 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
965 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
966 ndr
->flags
= _flags_save_ENUM
;
970 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError r
)
973 uint32_t _flags_save_ENUM
= ndr
->flags
;
974 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
975 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
976 ndr
->flags
= _flags_save_ENUM
;
978 return NDR_ERR_SUCCESS
;
981 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*r
)
985 uint32_t _flags_save_ENUM
= ndr
->flags
;
986 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
987 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
989 ndr
->flags
= _flags_save_ENUM
;
991 return NDR_ERR_SUCCESS
;
994 _PUBLIC_
void ndr_print_drsuapi_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError r
)
996 const char *val
= NULL
;
999 uint32_t _flags_save_ENUM
= ndr
->flags
;
1000 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1002 case DRSUAPI_EXOP_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
1003 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1004 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1005 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1006 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1007 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1008 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1009 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1010 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1011 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1012 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1013 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1014 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1015 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1016 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1017 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1018 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1020 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1021 ndr
->flags
= _flags_save_ENUM
;
1025 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1027 if (ndr_flags
& NDR_SCALARS
) {
1028 NDR_CHECK(ndr_push_align(ndr
, 8));
1029 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1030 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1031 if (r
->naming_context
== NULL
) {
1032 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1034 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1035 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1036 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1037 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1038 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1039 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1040 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1041 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1042 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1044 if (ndr_flags
& NDR_BUFFERS
) {
1045 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1046 if (r
->uptodateness_vector
) {
1047 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1050 return NDR_ERR_SUCCESS
;
1053 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1055 uint32_t _ptr_naming_context
;
1056 TALLOC_CTX
*_mem_save_naming_context_0
;
1057 uint32_t _ptr_uptodateness_vector
;
1058 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1059 if (ndr_flags
& NDR_SCALARS
) {
1060 NDR_CHECK(ndr_pull_align(ndr
, 8));
1061 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1062 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1063 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1064 if (_ptr_naming_context
) {
1065 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1067 r
->naming_context
= NULL
;
1069 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1070 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1071 if (_ptr_uptodateness_vector
) {
1072 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1074 r
->uptodateness_vector
= NULL
;
1076 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1077 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1078 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1079 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1080 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1081 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1083 if (ndr_flags
& NDR_BUFFERS
) {
1084 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1085 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1086 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1087 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1088 if (r
->uptodateness_vector
) {
1089 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1090 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1091 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1095 return NDR_ERR_SUCCESS
;
1098 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1100 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1102 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1103 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1104 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1106 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1108 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1109 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1111 if (r
->uptodateness_vector
) {
1112 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1115 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1116 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1117 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1118 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1119 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1123 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOID(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOID
*r
)
1125 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOID");
1127 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaOID_oid(r
->oid
, 0):r
->__ndr_size
);
1128 ndr_print_ptr(ndr
, "oid", r
->oid
);
1131 ndr_print_string(ndr
, "oid", r
->oid
);
1137 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1139 if (ndr_flags
& NDR_SCALARS
) {
1140 NDR_CHECK(ndr_push_align(ndr
, 5));
1141 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1142 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1143 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1145 if (ndr_flags
& NDR_BUFFERS
) {
1146 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1148 return NDR_ERR_SUCCESS
;
1151 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1153 if (ndr_flags
& NDR_SCALARS
) {
1154 NDR_CHECK(ndr_pull_align(ndr
, 5));
1155 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1156 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1157 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1159 if (ndr_flags
& NDR_BUFFERS
) {
1160 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1162 return NDR_ERR_SUCCESS
;
1165 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1167 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1169 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1170 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1174 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1176 uint32_t cntr_mappings_1
;
1177 if (ndr_flags
& NDR_SCALARS
) {
1178 NDR_CHECK(ndr_push_align(ndr
, 5));
1179 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1180 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1181 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1183 if (ndr_flags
& NDR_BUFFERS
) {
1185 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_mappings
));
1186 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1187 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1189 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1190 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1194 return NDR_ERR_SUCCESS
;
1197 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1199 uint32_t _ptr_mappings
;
1200 uint32_t size_mappings_1
= 0;
1201 uint32_t cntr_mappings_1
;
1202 TALLOC_CTX
*_mem_save_mappings_0
;
1203 TALLOC_CTX
*_mem_save_mappings_1
;
1204 if (ndr_flags
& NDR_SCALARS
) {
1205 NDR_CHECK(ndr_pull_align(ndr
, 5));
1206 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1207 if (r
->num_mappings
> 0x100000) {
1208 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1210 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1211 if (_ptr_mappings
) {
1212 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1216 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1218 if (ndr_flags
& NDR_BUFFERS
) {
1220 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1221 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1222 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1223 size_mappings_1
= ndr_get_array_size(ndr
, &r
->mappings
);
1224 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, size_mappings_1
);
1225 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1226 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1227 for (cntr_mappings_1
= 0; cntr_mappings_1
< size_mappings_1
; cntr_mappings_1
++) {
1228 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1230 for (cntr_mappings_1
= 0; cntr_mappings_1
< size_mappings_1
; cntr_mappings_1
++) {
1231 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1233 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1234 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1237 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1240 return NDR_ERR_SUCCESS
;
1243 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1245 uint32_t cntr_mappings_1
;
1246 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1248 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1249 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1252 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1254 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1256 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1257 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1267 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1270 uint32_t _flags_save_ENUM
= ndr
->flags
;
1271 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1272 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1273 ndr
->flags
= _flags_save_ENUM
;
1275 return NDR_ERR_SUCCESS
;
1278 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1282 uint32_t _flags_save_ENUM
= ndr
->flags
;
1283 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1284 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1286 ndr
->flags
= _flags_save_ENUM
;
1288 return NDR_ERR_SUCCESS
;
1291 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1293 const char *val
= NULL
;
1296 uint32_t _flags_save_ENUM
= ndr
->flags
;
1297 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1299 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1300 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1301 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1302 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1303 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1304 case DRSUAPI_ATTRIBUTE_possSuperiors
: val
= "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1305 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1306 case DRSUAPI_ATTRIBUTE_subClassOf
: val
= "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1307 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1308 case DRSUAPI_ATTRIBUTE_mustContain
: val
= "DRSUAPI_ATTRIBUTE_mustContain"; break;
1309 case DRSUAPI_ATTRIBUTE_mayContain
: val
= "DRSUAPI_ATTRIBUTE_mayContain"; break;
1310 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1311 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1312 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1313 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1314 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1315 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1316 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1317 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1318 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1319 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1320 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1321 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1322 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1323 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1324 case DRSUAPI_ATTRIBUTE_auxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1325 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1326 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1327 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1328 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1329 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1330 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1331 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1332 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1333 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1334 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1335 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1336 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1337 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1338 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1339 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1340 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1341 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1342 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1343 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1344 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1345 case DRSUAPI_ATTRIBUTE_systemPossSuperiors
: val
= "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1346 case DRSUAPI_ATTRIBUTE_systemMayContain
: val
= "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1347 case DRSUAPI_ATTRIBUTE_systemMustContain
: val
= "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1348 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1349 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1350 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1351 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1352 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1353 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1354 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1355 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1356 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1357 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1358 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1359 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1360 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1361 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1362 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1363 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1364 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1365 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1366 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1367 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1369 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1370 ndr
->flags
= _flags_save_ENUM
;
1374 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1376 uint32_t cntr_attids_0
;
1377 if (ndr_flags
& NDR_SCALARS
) {
1378 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attids
));
1379 NDR_CHECK(ndr_push_align(ndr
, 4));
1380 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1381 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1382 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1383 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1384 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1386 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1388 if (ndr_flags
& NDR_BUFFERS
) {
1390 return NDR_ERR_SUCCESS
;
1393 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1395 uint32_t size_attids_0
= 0;
1396 uint32_t cntr_attids_0
;
1397 TALLOC_CTX
*_mem_save_attids_0
;
1398 if (ndr_flags
& NDR_SCALARS
) {
1399 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1400 NDR_CHECK(ndr_pull_align(ndr
, 4));
1401 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1402 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1403 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1404 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1405 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1407 size_attids_0
= ndr_get_array_size(ndr
, &r
->attids
);
1408 NDR_PULL_ALLOC_N(ndr
, r
->attids
, size_attids_0
);
1409 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1410 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1411 for (cntr_attids_0
= 0; cntr_attids_0
< size_attids_0
; cntr_attids_0
++) {
1412 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1414 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1416 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1418 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1420 if (ndr_flags
& NDR_BUFFERS
) {
1422 return NDR_ERR_SUCCESS
;
1425 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1427 uint32_t cntr_attids_0
;
1428 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1430 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1431 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1432 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1433 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1435 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1437 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1438 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1446 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1448 if (ndr_flags
& NDR_SCALARS
) {
1449 NDR_CHECK(ndr_push_align(ndr
, 8));
1450 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1451 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1452 if (r
->naming_context
== NULL
) {
1453 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1455 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1456 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1457 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1458 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1459 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1460 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1461 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1462 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1463 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1464 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1465 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1466 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1468 if (ndr_flags
& NDR_BUFFERS
) {
1469 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1470 if (r
->uptodateness_vector
) {
1471 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1473 if (r
->partial_attribute_set
) {
1474 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1476 if (r
->partial_attribute_set_ex
) {
1477 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1479 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1481 return NDR_ERR_SUCCESS
;
1484 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1486 uint32_t _ptr_naming_context
;
1487 TALLOC_CTX
*_mem_save_naming_context_0
;
1488 uint32_t _ptr_uptodateness_vector
;
1489 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1490 uint32_t _ptr_partial_attribute_set
;
1491 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1492 uint32_t _ptr_partial_attribute_set_ex
;
1493 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1494 if (ndr_flags
& NDR_SCALARS
) {
1495 NDR_CHECK(ndr_pull_align(ndr
, 8));
1496 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1497 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1498 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1499 if (_ptr_naming_context
) {
1500 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1502 r
->naming_context
= NULL
;
1504 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1505 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1506 if (_ptr_uptodateness_vector
) {
1507 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1509 r
->uptodateness_vector
= NULL
;
1511 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1512 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1513 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1514 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1515 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1516 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1517 if (_ptr_partial_attribute_set
) {
1518 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1520 r
->partial_attribute_set
= NULL
;
1522 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1523 if (_ptr_partial_attribute_set_ex
) {
1524 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1526 r
->partial_attribute_set_ex
= NULL
;
1528 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1529 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1531 if (ndr_flags
& NDR_BUFFERS
) {
1532 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1533 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1534 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1535 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1536 if (r
->uptodateness_vector
) {
1537 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1538 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1539 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1540 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1542 if (r
->partial_attribute_set
) {
1543 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1544 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1545 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1546 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1548 if (r
->partial_attribute_set_ex
) {
1549 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1550 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1551 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1552 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1554 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1556 return NDR_ERR_SUCCESS
;
1559 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1561 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1563 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1564 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1565 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1567 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1569 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1570 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1572 if (r
->uptodateness_vector
) {
1573 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1576 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1577 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1578 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1579 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1580 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1581 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1583 if (r
->partial_attribute_set
) {
1584 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1587 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1589 if (r
->partial_attribute_set_ex
) {
1590 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1593 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1597 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1599 if (ndr_flags
& NDR_SCALARS
) {
1600 NDR_CHECK(ndr_push_align(ndr
, 8));
1601 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1602 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1603 if (r
->naming_context
== NULL
) {
1604 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1606 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1607 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1608 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1609 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1610 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1611 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1612 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1613 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1614 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1615 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1616 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1617 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_flags
));
1618 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1620 if (ndr_flags
& NDR_BUFFERS
) {
1621 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1622 if (r
->uptodateness_vector
) {
1623 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1625 if (r
->partial_attribute_set
) {
1626 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1628 if (r
->partial_attribute_set_ex
) {
1629 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1631 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1633 return NDR_ERR_SUCCESS
;
1636 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest10
*r
)
1638 uint32_t _ptr_naming_context
;
1639 TALLOC_CTX
*_mem_save_naming_context_0
;
1640 uint32_t _ptr_uptodateness_vector
;
1641 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1642 uint32_t _ptr_partial_attribute_set
;
1643 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1644 uint32_t _ptr_partial_attribute_set_ex
;
1645 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1646 if (ndr_flags
& NDR_SCALARS
) {
1647 NDR_CHECK(ndr_pull_align(ndr
, 8));
1648 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1649 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1650 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1651 if (_ptr_naming_context
) {
1652 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1654 r
->naming_context
= NULL
;
1656 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1657 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1658 if (_ptr_uptodateness_vector
) {
1659 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1661 r
->uptodateness_vector
= NULL
;
1663 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1664 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1665 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1666 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1667 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1668 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1669 if (_ptr_partial_attribute_set
) {
1670 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1672 r
->partial_attribute_set
= NULL
;
1674 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1675 if (_ptr_partial_attribute_set_ex
) {
1676 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1678 r
->partial_attribute_set_ex
= NULL
;
1680 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1681 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_flags
));
1682 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1684 if (ndr_flags
& NDR_BUFFERS
) {
1685 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1686 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1687 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1689 if (r
->uptodateness_vector
) {
1690 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1691 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1692 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1693 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1695 if (r
->partial_attribute_set
) {
1696 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1697 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1698 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1699 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1701 if (r
->partial_attribute_set_ex
) {
1702 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1703 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1704 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1707 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1709 return NDR_ERR_SUCCESS
;
1712 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1714 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest10");
1716 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1717 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1718 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1720 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1722 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1723 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1725 if (r
->uptodateness_vector
) {
1726 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1729 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1730 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1731 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1732 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1733 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1734 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1736 if (r
->partial_attribute_set
) {
1737 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1740 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1742 if (r
->partial_attribute_set_ex
) {
1743 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1746 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1747 ndr_print_uint32(ndr
, "more_flags", r
->more_flags
);
1751 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1753 if (ndr_flags
& NDR_SCALARS
) {
1754 int level
= ndr_push_get_switch_value(ndr
, r
);
1755 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
1756 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1759 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1763 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1767 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1771 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1774 if (ndr_flags
& NDR_BUFFERS
) {
1775 int level
= ndr_push_get_switch_value(ndr
, r
);
1778 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1782 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1786 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1790 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1793 return NDR_ERR_SUCCESS
;
1796 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1800 level
= ndr_pull_get_switch_value(ndr
, r
);
1801 if (ndr_flags
& NDR_SCALARS
) {
1802 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
1803 if (_level
!= level
) {
1804 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1806 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1809 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1813 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1817 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1821 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1824 if (ndr_flags
& NDR_BUFFERS
) {
1827 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1831 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1835 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1839 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1842 return NDR_ERR_SUCCESS
;
1845 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1848 level
= ndr_print_get_switch_value(ndr
, r
);
1849 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1852 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1856 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1860 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr
, "req10", &r
->req10
);
1864 ndr_print_bad_level(ndr
, name
, level
);
1868 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1870 if (ndr_flags
& NDR_SCALARS
) {
1871 NDR_CHECK(ndr_push_align(ndr
, 8));
1872 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1873 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1874 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1875 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1877 if (ndr_flags
& NDR_BUFFERS
) {
1879 return NDR_ERR_SUCCESS
;
1882 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1884 if (ndr_flags
& NDR_SCALARS
) {
1885 NDR_CHECK(ndr_pull_align(ndr
, 8));
1886 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1887 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1888 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1889 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1891 if (ndr_flags
& NDR_BUFFERS
) {
1893 return NDR_ERR_SUCCESS
;
1896 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1898 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1900 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1901 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1902 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1906 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1908 uint32_t cntr_cursors_0
;
1909 if (ndr_flags
& NDR_SCALARS
) {
1910 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1911 NDR_CHECK(ndr_push_align(ndr
, 8));
1912 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1913 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1914 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1915 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1916 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1917 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1919 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1921 if (ndr_flags
& NDR_BUFFERS
) {
1923 return NDR_ERR_SUCCESS
;
1926 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1928 uint32_t size_cursors_0
= 0;
1929 uint32_t cntr_cursors_0
;
1930 TALLOC_CTX
*_mem_save_cursors_0
;
1931 if (ndr_flags
& NDR_SCALARS
) {
1932 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
1933 NDR_CHECK(ndr_pull_align(ndr
, 8));
1934 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1935 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1936 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1937 if (r
->count
> 0x100000) {
1938 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1940 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
1941 size_cursors_0
= ndr_get_array_size(ndr
, &r
->cursors
);
1942 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, size_cursors_0
);
1943 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1944 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
1945 for (cntr_cursors_0
= 0; cntr_cursors_0
< size_cursors_0
; cntr_cursors_0
++) {
1946 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
1950 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
1952 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1954 if (ndr_flags
& NDR_BUFFERS
) {
1956 return NDR_ERR_SUCCESS
;
1959 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1961 uint32_t cntr_cursors_0
;
1962 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
1964 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
1965 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1966 ndr_print_uint32(ndr
, "count", r
->count
);
1967 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1968 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
1970 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
1972 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
1973 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
1981 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
1983 if (ndr_flags
& NDR_SCALARS
) {
1984 NDR_CHECK(ndr_push_align(ndr
, 5));
1985 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
1986 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
1987 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1989 if (ndr_flags
& NDR_BUFFERS
) {
1991 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
1994 return NDR_ERR_SUCCESS
;
1997 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
2000 TALLOC_CTX
*_mem_save_blob_0
;
2001 if (ndr_flags
& NDR_SCALARS
) {
2002 NDR_CHECK(ndr_pull_align(ndr
, 5));
2003 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2004 if (r
->__ndr_size
> 10485760) {
2005 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2007 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
2009 NDR_PULL_ALLOC(ndr
, r
->blob
);
2013 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2015 if (ndr_flags
& NDR_BUFFERS
) {
2017 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2018 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
2019 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
2020 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
2023 return NDR_ERR_SUCCESS
;
2026 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
2028 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
2030 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
2031 ndr_print_ptr(ndr
, "blob", r
->blob
);
2034 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
2040 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
2042 uint32_t cntr_values_1
;
2043 if (ndr_flags
& NDR_SCALARS
) {
2044 NDR_CHECK(ndr_push_align(ndr
, 5));
2045 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
2046 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
2047 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2049 if (ndr_flags
& NDR_BUFFERS
) {
2051 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_values
));
2052 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2053 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2055 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2056 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2060 return NDR_ERR_SUCCESS
;
2063 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
2065 uint32_t _ptr_values
;
2066 uint32_t size_values_1
= 0;
2067 uint32_t cntr_values_1
;
2068 TALLOC_CTX
*_mem_save_values_0
;
2069 TALLOC_CTX
*_mem_save_values_1
;
2070 if (ndr_flags
& NDR_SCALARS
) {
2071 NDR_CHECK(ndr_pull_align(ndr
, 5));
2072 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
2073 if (r
->num_values
> 10485760) {
2074 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2076 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
2078 NDR_PULL_ALLOC(ndr
, r
->values
);
2082 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2084 if (ndr_flags
& NDR_BUFFERS
) {
2086 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2087 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2088 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
2089 size_values_1
= ndr_get_array_size(ndr
, &r
->values
);
2090 NDR_PULL_ALLOC_N(ndr
, r
->values
, size_values_1
);
2091 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2092 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2093 for (cntr_values_1
= 0; cntr_values_1
< size_values_1
; cntr_values_1
++) {
2094 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2096 for (cntr_values_1
= 0; cntr_values_1
< size_values_1
; cntr_values_1
++) {
2097 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2099 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
2100 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
2103 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
2106 return NDR_ERR_SUCCESS
;
2109 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
2111 uint32_t cntr_values_1
;
2112 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
2114 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
2115 ndr_print_ptr(ndr
, "values", r
->values
);
2118 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
2120 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
2122 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
2123 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
2133 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2135 if (ndr_flags
& NDR_SCALARS
) {
2136 NDR_CHECK(ndr_push_align(ndr
, 4));
2137 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2138 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2139 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2140 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2141 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2142 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2143 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2145 if (ndr_flags
& NDR_BUFFERS
) {
2146 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2148 return NDR_ERR_SUCCESS
;
2151 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2153 uint32_t size_dn_0
= 0;
2154 if (ndr_flags
& NDR_SCALARS
) {
2155 NDR_CHECK(ndr_pull_align(ndr
, 4));
2156 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2157 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2158 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2159 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2161 size_dn_0
= r
->__ndr_size_dn
+ 1;
2162 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, size_dn_0
, sizeof(uint16_t), CH_UTF16
));
2163 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2165 if (ndr_flags
& NDR_BUFFERS
) {
2166 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2168 return NDR_ERR_SUCCESS
;
2171 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2173 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
2175 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
);
2176 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
);
2177 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2178 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2179 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2180 ndr_print_string(ndr
, "dn", r
->dn
);
2184 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2186 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
2189 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2191 if (ndr_flags
& NDR_SCALARS
) {
2192 NDR_CHECK(ndr_push_align(ndr
, 4));
2193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2194 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2195 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2196 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2197 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2198 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2199 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
2201 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2202 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2203 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
2204 ndr
->flags
= _flags_save_DATA_BLOB
;
2206 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2208 if (ndr_flags
& NDR_BUFFERS
) {
2209 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2211 return NDR_ERR_SUCCESS
;
2214 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2216 uint32_t size_dn_0
= 0;
2217 if (ndr_flags
& NDR_SCALARS
) {
2218 NDR_CHECK(ndr_pull_align(ndr
, 4));
2219 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2220 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2221 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2222 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2223 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2224 size_dn_0
= r
->__ndr_size_dn
+ 1;
2225 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, size_dn_0
, sizeof(uint16_t), CH_UTF16
));
2226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
2228 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2229 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2230 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
2231 ndr
->flags
= _flags_save_DATA_BLOB
;
2233 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2235 if (ndr_flags
& NDR_BUFFERS
) {
2236 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2238 return NDR_ERR_SUCCESS
;
2241 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2243 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2245 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
2246 ndr_print_uint32(ndr
, "__ndr_size_sid", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_dom_sid28(&r
->sid
, ndr
->flags
):r
->__ndr_size_sid
);
2247 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2248 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2249 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2250 ndr_print_string(ndr
, "dn", r
->dn
);
2251 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2252 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2256 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2258 if (ndr_flags
& NDR_SCALARS
) {
2259 NDR_CHECK(ndr_push_align(ndr
, 5));
2260 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2261 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2262 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2264 if (ndr_flags
& NDR_BUFFERS
) {
2265 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2267 return NDR_ERR_SUCCESS
;
2270 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2272 if (ndr_flags
& NDR_SCALARS
) {
2273 NDR_CHECK(ndr_pull_align(ndr
, 5));
2274 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2275 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2276 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2278 if (ndr_flags
& NDR_BUFFERS
) {
2279 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2281 return NDR_ERR_SUCCESS
;
2284 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2286 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2288 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2289 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2293 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2295 uint32_t cntr_attributes_1
;
2296 if (ndr_flags
& NDR_SCALARS
) {
2297 NDR_CHECK(ndr_push_align(ndr
, 5));
2298 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2299 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2300 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2302 if (ndr_flags
& NDR_BUFFERS
) {
2303 if (r
->attributes
) {
2304 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2305 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2308 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2309 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2313 return NDR_ERR_SUCCESS
;
2316 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2318 uint32_t _ptr_attributes
;
2319 uint32_t size_attributes_1
= 0;
2320 uint32_t cntr_attributes_1
;
2321 TALLOC_CTX
*_mem_save_attributes_0
;
2322 TALLOC_CTX
*_mem_save_attributes_1
;
2323 if (ndr_flags
& NDR_SCALARS
) {
2324 NDR_CHECK(ndr_pull_align(ndr
, 5));
2325 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2326 if (r
->num_attributes
> 1048576) {
2327 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2329 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2330 if (_ptr_attributes
) {
2331 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2333 r
->attributes
= NULL
;
2335 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2337 if (ndr_flags
& NDR_BUFFERS
) {
2338 if (r
->attributes
) {
2339 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2340 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2341 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2342 size_attributes_1
= ndr_get_array_size(ndr
, &r
->attributes
);
2343 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, size_attributes_1
);
2344 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2345 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2346 for (cntr_attributes_1
= 0; cntr_attributes_1
< size_attributes_1
; cntr_attributes_1
++) {
2347 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2349 for (cntr_attributes_1
= 0; cntr_attributes_1
< size_attributes_1
; cntr_attributes_1
++) {
2350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2352 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2353 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2355 if (r
->attributes
) {
2356 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2359 return NDR_ERR_SUCCESS
;
2362 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2364 uint32_t cntr_attributes_1
;
2365 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2367 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2368 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2370 if (r
->attributes
) {
2371 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2373 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2375 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2376 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2386 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2388 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2389 return NDR_ERR_SUCCESS
;
2392 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2395 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2397 return NDR_ERR_SUCCESS
;
2400 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2402 ndr_print_uint32(ndr
, name
, r
);
2404 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2405 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2406 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2410 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2412 if (ndr_flags
& NDR_SCALARS
) {
2413 NDR_CHECK(ndr_push_align(ndr
, 5));
2414 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2415 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2416 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2417 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2419 if (ndr_flags
& NDR_BUFFERS
) {
2420 if (r
->identifier
) {
2421 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2423 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2425 return NDR_ERR_SUCCESS
;
2428 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2430 uint32_t _ptr_identifier
;
2431 TALLOC_CTX
*_mem_save_identifier_0
;
2432 if (ndr_flags
& NDR_SCALARS
) {
2433 NDR_CHECK(ndr_pull_align(ndr
, 5));
2434 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2435 if (_ptr_identifier
) {
2436 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2438 r
->identifier
= NULL
;
2440 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2441 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2442 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2444 if (ndr_flags
& NDR_BUFFERS
) {
2445 if (r
->identifier
) {
2446 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2447 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2448 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2449 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2451 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2453 return NDR_ERR_SUCCESS
;
2456 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2458 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2460 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2462 if (r
->identifier
) {
2463 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2466 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2467 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2471 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2473 if (ndr_flags
& NDR_SCALARS
) {
2474 NDR_CHECK(ndr_push_align(ndr
, 8));
2475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2476 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2477 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2478 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2479 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2481 if (ndr_flags
& NDR_BUFFERS
) {
2483 return NDR_ERR_SUCCESS
;
2486 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2488 if (ndr_flags
& NDR_SCALARS
) {
2489 NDR_CHECK(ndr_pull_align(ndr
, 8));
2490 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2491 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2492 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2493 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2494 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2496 if (ndr_flags
& NDR_BUFFERS
) {
2498 return NDR_ERR_SUCCESS
;
2501 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2503 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2505 ndr_print_uint32(ndr
, "version", r
->version
);
2506 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2507 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2508 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2512 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2514 uint32_t cntr_meta_data_0
;
2515 if (ndr_flags
& NDR_SCALARS
) {
2516 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2517 NDR_CHECK(ndr_push_align(ndr
, 8));
2518 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2519 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2520 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2522 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2524 if (ndr_flags
& NDR_BUFFERS
) {
2526 return NDR_ERR_SUCCESS
;
2529 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2531 uint32_t size_meta_data_0
= 0;
2532 uint32_t cntr_meta_data_0
;
2533 TALLOC_CTX
*_mem_save_meta_data_0
;
2534 if (ndr_flags
& NDR_SCALARS
) {
2535 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2536 NDR_CHECK(ndr_pull_align(ndr
, 8));
2537 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2538 if (r
->count
> 1048576) {
2539 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2541 size_meta_data_0
= ndr_get_array_size(ndr
, &r
->meta_data
);
2542 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, size_meta_data_0
);
2543 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2544 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2545 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< size_meta_data_0
; cntr_meta_data_0
++) {
2546 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2548 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2550 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2552 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2554 if (ndr_flags
& NDR_BUFFERS
) {
2556 return NDR_ERR_SUCCESS
;
2559 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2561 uint32_t cntr_meta_data_0
;
2562 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2564 ndr_print_uint32(ndr
, "count", r
->count
);
2565 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2567 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2569 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2570 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2578 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2580 if (ndr_flags
& NDR_SCALARS
) {
2581 NDR_CHECK(ndr_push_align(ndr
, 5));
2582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2583 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2584 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2585 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2586 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2587 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2589 if (ndr_flags
& NDR_BUFFERS
) {
2590 if (r
->next_object
) {
2591 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2593 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2594 if (r
->parent_object_guid
) {
2595 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2597 if (r
->meta_data_ctr
) {
2598 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2601 return NDR_ERR_SUCCESS
;
2604 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2606 uint32_t _ptr_next_object
;
2607 TALLOC_CTX
*_mem_save_next_object_0
;
2608 uint32_t _ptr_parent_object_guid
;
2609 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2610 uint32_t _ptr_meta_data_ctr
;
2611 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2612 if (ndr_flags
& NDR_SCALARS
) {
2613 NDR_CHECK(ndr_pull_align(ndr
, 5));
2614 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2615 if (_ptr_next_object
) {
2616 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2618 r
->next_object
= NULL
;
2620 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2621 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2622 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2623 if (_ptr_parent_object_guid
) {
2624 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2626 r
->parent_object_guid
= NULL
;
2628 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2629 if (_ptr_meta_data_ctr
) {
2630 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2632 r
->meta_data_ctr
= NULL
;
2634 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2636 if (ndr_flags
& NDR_BUFFERS
) {
2637 if (r
->next_object
) {
2638 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2639 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2640 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2641 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2643 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2644 if (r
->parent_object_guid
) {
2645 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2646 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2647 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2648 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2650 if (r
->meta_data_ctr
) {
2651 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2652 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2653 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2654 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2657 return NDR_ERR_SUCCESS
;
2660 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2662 if (ndr_flags
& NDR_SCALARS
) {
2663 NDR_CHECK(ndr_push_align(ndr
, 8));
2664 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2665 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2666 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2667 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2668 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2669 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2670 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2671 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2672 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2673 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2674 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2676 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2678 if (ndr_flags
& NDR_BUFFERS
) {
2679 if (r
->naming_context
) {
2680 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2682 if (r
->uptodateness_vector
) {
2683 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2685 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2686 if (r
->first_object
) {
2687 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2690 return NDR_ERR_SUCCESS
;
2693 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2695 uint32_t _ptr_naming_context
;
2696 TALLOC_CTX
*_mem_save_naming_context_0
;
2697 uint32_t _ptr_uptodateness_vector
;
2698 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2699 uint32_t _ptr_first_object
;
2700 TALLOC_CTX
*_mem_save_first_object_0
;
2701 if (ndr_flags
& NDR_SCALARS
) {
2702 NDR_CHECK(ndr_pull_align(ndr
, 8));
2703 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2704 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2705 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2706 if (_ptr_naming_context
) {
2707 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2709 r
->naming_context
= NULL
;
2711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2713 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2714 if (_ptr_uptodateness_vector
) {
2715 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2717 r
->uptodateness_vector
= NULL
;
2719 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2720 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2721 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2723 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2724 if (_ptr_first_object
) {
2725 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2727 r
->first_object
= NULL
;
2729 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2730 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2732 if (ndr_flags
& NDR_BUFFERS
) {
2733 if (r
->naming_context
) {
2734 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2735 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2737 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2739 if (r
->uptodateness_vector
) {
2740 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2741 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2742 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2743 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2746 if (r
->first_object
) {
2747 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2748 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2753 return NDR_ERR_SUCCESS
;
2756 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2758 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2760 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2761 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2762 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2764 if (r
->naming_context
) {
2765 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2768 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2769 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2770 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2772 if (r
->uptodateness_vector
) {
2773 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2776 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2777 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2778 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2779 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
);
2780 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2782 if (r
->first_object
) {
2783 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2786 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2790 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2792 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2795 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2797 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2798 return NDR_ERR_SUCCESS
;
2801 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2804 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2806 return NDR_ERR_SUCCESS
;
2809 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2811 ndr_print_uint32(ndr
, name
, r
);
2813 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2817 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2819 if (ndr_flags
& NDR_SCALARS
) {
2820 NDR_CHECK(ndr_push_align(ndr
, 8));
2821 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2822 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2823 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2824 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2825 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2826 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2827 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2829 if (ndr_flags
& NDR_BUFFERS
) {
2830 if (r
->identifier
) {
2831 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2833 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2835 return NDR_ERR_SUCCESS
;
2838 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2840 uint32_t _ptr_identifier
;
2841 TALLOC_CTX
*_mem_save_identifier_0
;
2842 if (ndr_flags
& NDR_SCALARS
) {
2843 NDR_CHECK(ndr_pull_align(ndr
, 8));
2844 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2845 if (_ptr_identifier
) {
2846 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2848 r
->identifier
= NULL
;
2850 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2851 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2852 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2853 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2854 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2855 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2857 if (ndr_flags
& NDR_BUFFERS
) {
2858 if (r
->identifier
) {
2859 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2860 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2861 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2862 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2864 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2866 return NDR_ERR_SUCCESS
;
2869 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2871 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2873 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2875 if (r
->identifier
) {
2876 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2879 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2880 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2881 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2882 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2883 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2887 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2889 uint32_t cntr_linked_attributes_1
;
2890 if (ndr_flags
& NDR_SCALARS
) {
2891 NDR_CHECK(ndr_push_align(ndr
, 8));
2892 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2893 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2894 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2895 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2896 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2897 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2898 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2899 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2900 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2902 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2903 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2904 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2905 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2906 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2907 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2908 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2909 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2911 if (ndr_flags
& NDR_BUFFERS
) {
2912 if (r
->naming_context
) {
2913 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2915 if (r
->uptodateness_vector
) {
2916 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2918 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2919 if (r
->first_object
) {
2920 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2922 if (r
->linked_attributes
) {
2923 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2924 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2925 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2927 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2928 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2932 return NDR_ERR_SUCCESS
;
2935 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
2937 uint32_t _ptr_naming_context
;
2938 TALLOC_CTX
*_mem_save_naming_context_0
;
2939 uint32_t _ptr_uptodateness_vector
;
2940 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2941 uint32_t _ptr_first_object
;
2942 TALLOC_CTX
*_mem_save_first_object_0
;
2943 uint32_t _ptr_linked_attributes
;
2944 uint32_t size_linked_attributes_1
= 0;
2945 uint32_t cntr_linked_attributes_1
;
2946 TALLOC_CTX
*_mem_save_linked_attributes_0
;
2947 TALLOC_CTX
*_mem_save_linked_attributes_1
;
2948 if (ndr_flags
& NDR_SCALARS
) {
2949 NDR_CHECK(ndr_pull_align(ndr
, 8));
2950 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2951 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2952 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2953 if (_ptr_naming_context
) {
2954 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2956 r
->naming_context
= NULL
;
2958 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2959 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2960 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2961 if (_ptr_uptodateness_vector
) {
2962 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2964 r
->uptodateness_vector
= NULL
;
2966 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2967 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2968 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2969 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2970 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2971 if (_ptr_first_object
) {
2972 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2974 r
->first_object
= NULL
;
2976 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2977 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
2978 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
2979 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
2980 if (r
->linked_attributes_count
> 1048576) {
2981 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2983 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
2984 if (_ptr_linked_attributes
) {
2985 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
2987 r
->linked_attributes
= NULL
;
2989 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
2990 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2992 if (ndr_flags
& NDR_BUFFERS
) {
2993 if (r
->naming_context
) {
2994 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2995 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2996 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2997 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2999 if (r
->uptodateness_vector
) {
3000 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3001 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
3002 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
3003 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3006 if (r
->first_object
) {
3007 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3008 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3009 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3010 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3012 if (r
->linked_attributes
) {
3013 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3014 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3015 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3016 size_linked_attributes_1
= ndr_get_array_size(ndr
, &r
->linked_attributes
);
3017 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, size_linked_attributes_1
);
3018 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3019 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3020 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< size_linked_attributes_1
; cntr_linked_attributes_1
++) {
3021 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3023 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< size_linked_attributes_1
; cntr_linked_attributes_1
++) {
3024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3029 if (r
->linked_attributes
) {
3030 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3033 return NDR_ERR_SUCCESS
;
3036 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3038 uint32_t cntr_linked_attributes_1
;
3039 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3041 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3042 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3043 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3045 if (r
->naming_context
) {
3046 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3049 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3050 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3051 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3053 if (r
->uptodateness_vector
) {
3054 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3057 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3058 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3059 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3060 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
);
3061 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3063 if (r
->first_object
) {
3064 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3067 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3068 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3069 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3070 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3071 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3073 if (r
->linked_attributes
) {
3074 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3076 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3078 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3079 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3086 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3090 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3092 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3095 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3097 if (ndr_flags
& NDR_SCALARS
) {
3098 NDR_CHECK(ndr_push_align(ndr
, 1));
3100 struct ndr_push
*_ndr_ctr1
;
3101 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3102 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3103 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3105 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3107 if (ndr_flags
& NDR_BUFFERS
) {
3109 return NDR_ERR_SUCCESS
;
3112 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3114 if (ndr_flags
& NDR_SCALARS
) {
3115 NDR_CHECK(ndr_pull_align(ndr
, 1));
3117 struct ndr_pull
*_ndr_ctr1
;
3118 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3119 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3120 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3122 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3124 if (ndr_flags
& NDR_BUFFERS
) {
3126 return NDR_ERR_SUCCESS
;
3129 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3131 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3133 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3137 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3139 if (ndr_flags
& NDR_SCALARS
) {
3140 NDR_CHECK(ndr_push_align(ndr
, 1));
3142 struct ndr_push
*_ndr_ctr6
;
3143 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3144 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3145 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3147 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3149 if (ndr_flags
& NDR_BUFFERS
) {
3151 return NDR_ERR_SUCCESS
;
3154 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3156 if (ndr_flags
& NDR_SCALARS
) {
3157 NDR_CHECK(ndr_pull_align(ndr
, 1));
3159 struct ndr_pull
*_ndr_ctr6
;
3160 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3161 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3162 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3164 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3166 if (ndr_flags
& NDR_BUFFERS
) {
3168 return NDR_ERR_SUCCESS
;
3171 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3173 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3175 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3179 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3182 TALLOC_CTX
*_mem_save_ts_0
;
3183 if (ndr_flags
& NDR_SCALARS
) {
3184 NDR_CHECK(ndr_pull_align(ndr
, 5));
3185 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3186 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3187 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3189 NDR_PULL_ALLOC(ndr
, r
->ts
);
3193 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3195 if (ndr_flags
& NDR_BUFFERS
) {
3197 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3198 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3200 struct ndr_pull
*_ndr_ts
;
3201 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3203 struct ndr_pull
*_ndr_ts_compressed
;
3204 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3205 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3206 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3208 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3213 return NDR_ERR_SUCCESS
;
3216 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3218 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3220 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3221 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3222 ndr_print_ptr(ndr
, "ts", r
->ts
);
3225 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3231 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3234 TALLOC_CTX
*_mem_save_ts_0
;
3235 if (ndr_flags
& NDR_SCALARS
) {
3236 NDR_CHECK(ndr_pull_align(ndr
, 5));
3237 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3238 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3239 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3241 NDR_PULL_ALLOC(ndr
, r
->ts
);
3245 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3247 if (ndr_flags
& NDR_BUFFERS
) {
3249 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3250 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3252 struct ndr_pull
*_ndr_ts
;
3253 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3255 struct ndr_pull
*_ndr_ts_compressed
;
3256 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3257 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3258 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3260 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3262 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3265 return NDR_ERR_SUCCESS
;
3268 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3270 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3272 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3273 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3274 ndr_print_ptr(ndr
, "ts", r
->ts
);
3277 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3283 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3286 TALLOC_CTX
*_mem_save_ts_0
;
3287 if (ndr_flags
& NDR_SCALARS
) {
3288 NDR_CHECK(ndr_pull_align(ndr
, 5));
3289 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3290 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3291 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3293 NDR_PULL_ALLOC(ndr
, r
->ts
);
3297 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3299 if (ndr_flags
& NDR_BUFFERS
) {
3301 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3302 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3304 struct ndr_pull
*_ndr_ts
;
3305 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3307 struct ndr_pull
*_ndr_ts_compressed
;
3308 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3309 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3310 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3312 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3314 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3317 return NDR_ERR_SUCCESS
;
3320 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3322 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3324 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3325 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3326 ndr_print_ptr(ndr
, "ts", r
->ts
);
3329 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3335 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3338 TALLOC_CTX
*_mem_save_ts_0
;
3339 if (ndr_flags
& NDR_SCALARS
) {
3340 NDR_CHECK(ndr_pull_align(ndr
, 5));
3341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3342 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3343 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3345 NDR_PULL_ALLOC(ndr
, r
->ts
);
3349 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3351 if (ndr_flags
& NDR_BUFFERS
) {
3353 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3354 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3356 struct ndr_pull
*_ndr_ts
;
3357 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3359 struct ndr_pull
*_ndr_ts_compressed
;
3360 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3361 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3362 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3364 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3369 return NDR_ERR_SUCCESS
;
3372 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3374 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3376 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3377 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3378 ndr_print_ptr(ndr
, "ts", r
->ts
);
3381 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3387 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3389 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3390 return NDR_ERR_SUCCESS
;
3393 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3396 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3398 return NDR_ERR_SUCCESS
;
3401 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3403 const char *val
= NULL
;
3406 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3407 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3409 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3412 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3415 uint32_t _flags_save_UNION
= ndr
->flags
;
3416 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3417 if (ndr_flags
& NDR_SCALARS
) {
3418 int level
= ndr_push_get_switch_value(ndr
, r
);
3419 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3421 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3422 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3425 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3426 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3429 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3430 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3433 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3434 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3438 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3441 if (ndr_flags
& NDR_BUFFERS
) {
3442 int level
= ndr_push_get_switch_value(ndr
, r
);
3444 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3445 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3448 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3449 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3452 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3453 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3456 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3457 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3461 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3464 ndr
->flags
= _flags_save_UNION
;
3466 return NDR_ERR_SUCCESS
;
3469 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3473 uint32_t _flags_save_UNION
= ndr
->flags
;
3474 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3475 level
= ndr_pull_get_switch_value(ndr
, r
);
3476 if (ndr_flags
& NDR_SCALARS
) {
3477 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3479 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3480 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3483 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3484 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3487 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3488 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3491 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3492 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3496 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3499 if (ndr_flags
& NDR_BUFFERS
) {
3501 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3502 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3505 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3506 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3509 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3510 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3513 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3514 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3518 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3521 ndr
->flags
= _flags_save_UNION
;
3523 return NDR_ERR_SUCCESS
;
3526 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3530 uint32_t _flags_save_UNION
= ndr
->flags
;
3531 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3532 level
= ndr_print_get_switch_value(ndr
, r
);
3533 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3535 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3536 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3539 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3540 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3543 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3544 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3547 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3548 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3552 ndr_print_bad_level(ndr
, name
, level
);
3554 ndr
->flags
= _flags_save_UNION
;
3558 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3560 if (ndr_flags
& NDR_SCALARS
) {
3561 NDR_CHECK(ndr_push_align(ndr
, 5));
3562 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3563 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3565 if (ndr_flags
& NDR_BUFFERS
) {
3566 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3568 return NDR_ERR_SUCCESS
;
3571 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3573 if (ndr_flags
& NDR_SCALARS
) {
3574 NDR_CHECK(ndr_pull_align(ndr
, 5));
3575 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3576 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3578 if (ndr_flags
& NDR_BUFFERS
) {
3579 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3581 return NDR_ERR_SUCCESS
;
3584 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3586 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3588 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3592 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3594 if (ndr_flags
& NDR_SCALARS
) {
3595 NDR_CHECK(ndr_push_align(ndr
, 5));
3596 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
3597 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3598 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3599 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3600 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3602 if (ndr_flags
& NDR_BUFFERS
) {
3603 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3605 return NDR_ERR_SUCCESS
;
3608 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3610 if (ndr_flags
& NDR_SCALARS
) {
3611 NDR_CHECK(ndr_pull_align(ndr
, 5));
3612 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
3613 if (r
->level
< 0 || r
->level
> 6) {
3614 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3616 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3617 if (r
->type
< 2 || r
->type
> 3) {
3618 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3620 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3621 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3622 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3624 if (ndr_flags
& NDR_BUFFERS
) {
3625 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3627 return NDR_ERR_SUCCESS
;
3630 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3632 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3634 ndr_print_int32(ndr
, "level", r
->level
);
3635 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3636 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3637 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3641 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3643 if (ndr_flags
& NDR_SCALARS
) {
3644 int level
= ndr_push_get_switch_value(ndr
, r
);
3645 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3646 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3649 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3653 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3657 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3661 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3665 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3668 if (ndr_flags
& NDR_BUFFERS
) {
3669 int level
= ndr_push_get_switch_value(ndr
, r
);
3672 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3676 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3680 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3684 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3688 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3691 return NDR_ERR_SUCCESS
;
3694 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3698 level
= ndr_pull_get_switch_value(ndr
, r
);
3699 if (ndr_flags
& NDR_SCALARS
) {
3700 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3701 if (_level
!= level
) {
3702 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3704 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3707 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3711 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3715 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3719 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3723 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3726 if (ndr_flags
& NDR_BUFFERS
) {
3729 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3733 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3737 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3741 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3745 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3748 return NDR_ERR_SUCCESS
;
3751 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3754 level
= ndr_print_get_switch_value(ndr
, r
);
3755 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3758 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3762 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3766 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3770 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3774 ndr_print_bad_level(ndr
, name
, level
);
3778 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3780 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3781 return NDR_ERR_SUCCESS
;
3784 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3787 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3789 return NDR_ERR_SUCCESS
;
3792 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3794 ndr_print_uint32(ndr
, name
, r
);
3796 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION
, r
);
3797 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK
, r
);
3798 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE
, r
);
3799 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE
, r
);
3800 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE
, r
);
3804 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3806 if (ndr_flags
& NDR_SCALARS
) {
3807 NDR_CHECK(ndr_push_align(ndr
, 5));
3808 if (r
->naming_context
== NULL
) {
3809 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3811 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3812 if (r
->dest_dsa_dns_name
== NULL
) {
3813 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3815 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3816 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3817 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->options
));
3818 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3820 if (ndr_flags
& NDR_BUFFERS
) {
3821 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3822 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3823 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3824 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3825 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
));
3827 return NDR_ERR_SUCCESS
;
3830 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3832 uint32_t _ptr_naming_context
;
3833 TALLOC_CTX
*_mem_save_naming_context_0
;
3834 uint32_t _ptr_dest_dsa_dns_name
;
3835 uint32_t size_dest_dsa_dns_name_1
= 0;
3836 uint32_t length_dest_dsa_dns_name_1
= 0;
3837 if (ndr_flags
& NDR_SCALARS
) {
3838 NDR_CHECK(ndr_pull_align(ndr
, 5));
3839 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3840 if (_ptr_naming_context
) {
3841 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3843 r
->naming_context
= NULL
;
3845 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3846 if (_ptr_dest_dsa_dns_name
) {
3847 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3849 r
->dest_dsa_dns_name
= NULL
;
3851 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3852 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3853 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3855 if (ndr_flags
& NDR_BUFFERS
) {
3856 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3857 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3859 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3860 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3861 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3862 size_dest_dsa_dns_name_1
= ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
);
3863 length_dest_dsa_dns_name_1
= ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
);
3864 if (length_dest_dsa_dns_name_1
> size_dest_dsa_dns_name_1
) {
3865 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
);
3867 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dest_dsa_dns_name_1
, sizeof(uint8_t)));
3868 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dest_dsa_dns_name
, length_dest_dsa_dns_name_1
, sizeof(uint8_t), CH_DOS
));
3870 return NDR_ERR_SUCCESS
;
3873 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3875 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3877 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3879 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3881 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3883 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3885 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3886 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "options", r
->options
);
3890 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3892 if (ndr_flags
& NDR_SCALARS
) {
3893 int level
= ndr_push_get_switch_value(ndr
, r
);
3894 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3895 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3898 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3902 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3905 if (ndr_flags
& NDR_BUFFERS
) {
3906 int level
= ndr_push_get_switch_value(ndr
, r
);
3909 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3913 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3916 return NDR_ERR_SUCCESS
;
3919 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3923 level
= ndr_pull_get_switch_value(ndr
, r
);
3924 if (ndr_flags
& NDR_SCALARS
) {
3925 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3926 if (_level
!= level
) {
3927 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3929 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3932 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3936 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3939 if (ndr_flags
& NDR_BUFFERS
) {
3942 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3946 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3949 return NDR_ERR_SUCCESS
;
3952 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3955 level
= ndr_print_get_switch_value(ndr
, r
);
3956 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
3959 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
3963 ndr_print_bad_level(ndr
, name
, level
);
3967 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3969 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3970 return NDR_ERR_SUCCESS
;
3973 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3976 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3978 return NDR_ERR_SUCCESS
;
3981 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3983 ndr_print_uint32(ndr
, name
, r
);
3985 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
3986 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
3990 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
3992 if (ndr_flags
& NDR_SCALARS
) {
3993 NDR_CHECK(ndr_push_align(ndr
, 5));
3994 if (r
->naming_context
== NULL
) {
3995 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3997 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3998 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
3999 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4000 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->options
));
4001 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4003 if (ndr_flags
& NDR_BUFFERS
) {
4004 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4005 if (r
->source_dsa_address
) {
4006 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4007 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4008 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4009 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
));
4012 return NDR_ERR_SUCCESS
;
4015 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
4017 uint32_t _ptr_naming_context
;
4018 TALLOC_CTX
*_mem_save_naming_context_0
;
4019 uint32_t _ptr_source_dsa_address
;
4020 uint32_t size_source_dsa_address_1
= 0;
4021 uint32_t length_source_dsa_address_1
= 0;
4022 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4023 uint32_t size_schedule_0
= 0;
4024 if (ndr_flags
& NDR_SCALARS
) {
4025 NDR_CHECK(ndr_pull_align(ndr
, 5));
4026 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4027 if (_ptr_naming_context
) {
4028 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4030 r
->naming_context
= NULL
;
4032 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4033 if (_ptr_source_dsa_address
) {
4034 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4036 r
->source_dsa_address
= NULL
;
4038 size_schedule_0
= 84;
4039 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, size_schedule_0
));
4040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->options
));
4041 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4043 if (ndr_flags
& NDR_BUFFERS
) {
4044 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4045 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4046 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4047 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4048 if (r
->source_dsa_address
) {
4049 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4050 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4051 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4052 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4053 size_source_dsa_address_1
= ndr_get_array_size(ndr
, &r
->source_dsa_address
);
4054 length_source_dsa_address_1
= ndr_get_array_length(ndr
, &r
->source_dsa_address
);
4055 if (length_source_dsa_address_1
> size_source_dsa_address_1
) {
4056 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
);
4058 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_address_1
, sizeof(uint16_t)));
4059 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, length_source_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
4060 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4063 return NDR_ERR_SUCCESS
;
4066 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4068 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4070 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4072 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4074 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4076 if (r
->source_dsa_address
) {
4077 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4080 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4081 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "options", r
->options
);
4085 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4087 if (ndr_flags
& NDR_SCALARS
) {
4088 NDR_CHECK(ndr_push_align(ndr
, 5));
4089 if (r
->naming_context
== NULL
) {
4090 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4092 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4093 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4094 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4095 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4096 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4097 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->options
));
4098 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4100 if (ndr_flags
& NDR_BUFFERS
) {
4101 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4102 if (r
->source_dsa_dn
) {
4103 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4105 if (r
->transport_dn
) {
4106 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4108 if (r
->source_dsa_address
) {
4109 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4110 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4111 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4112 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
));
4115 return NDR_ERR_SUCCESS
;
4118 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4120 uint32_t _ptr_naming_context
;
4121 TALLOC_CTX
*_mem_save_naming_context_0
;
4122 uint32_t _ptr_source_dsa_dn
;
4123 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4124 uint32_t _ptr_transport_dn
;
4125 TALLOC_CTX
*_mem_save_transport_dn_0
;
4126 uint32_t _ptr_source_dsa_address
;
4127 uint32_t size_source_dsa_address_1
= 0;
4128 uint32_t length_source_dsa_address_1
= 0;
4129 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4130 uint32_t size_schedule_0
= 0;
4131 if (ndr_flags
& NDR_SCALARS
) {
4132 NDR_CHECK(ndr_pull_align(ndr
, 5));
4133 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4134 if (_ptr_naming_context
) {
4135 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4137 r
->naming_context
= NULL
;
4139 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4140 if (_ptr_source_dsa_dn
) {
4141 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4143 r
->source_dsa_dn
= NULL
;
4145 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4146 if (_ptr_transport_dn
) {
4147 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4149 r
->transport_dn
= NULL
;
4151 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4152 if (_ptr_source_dsa_address
) {
4153 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4155 r
->source_dsa_address
= NULL
;
4157 size_schedule_0
= 84;
4158 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, size_schedule_0
));
4159 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->options
));
4160 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4162 if (ndr_flags
& NDR_BUFFERS
) {
4163 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4164 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4165 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4167 if (r
->source_dsa_dn
) {
4168 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4169 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4170 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4173 if (r
->transport_dn
) {
4174 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4175 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4176 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4177 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4179 if (r
->source_dsa_address
) {
4180 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4181 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4182 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4183 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4184 size_source_dsa_address_1
= ndr_get_array_size(ndr
, &r
->source_dsa_address
);
4185 length_source_dsa_address_1
= ndr_get_array_length(ndr
, &r
->source_dsa_address
);
4186 if (length_source_dsa_address_1
> size_source_dsa_address_1
) {
4187 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
);
4189 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_address_1
, sizeof(uint16_t)));
4190 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, length_source_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
4191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4194 return NDR_ERR_SUCCESS
;
4197 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4199 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4201 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4203 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4205 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4207 if (r
->source_dsa_dn
) {
4208 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4211 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4213 if (r
->transport_dn
) {
4214 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4217 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4219 if (r
->source_dsa_address
) {
4220 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4223 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4224 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "options", r
->options
);
4228 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4230 if (ndr_flags
& NDR_SCALARS
) {
4231 int level
= ndr_push_get_switch_value(ndr
, r
);
4232 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4233 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4236 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4240 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4244 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4247 if (ndr_flags
& NDR_BUFFERS
) {
4248 int level
= ndr_push_get_switch_value(ndr
, r
);
4251 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4255 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4259 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4262 return NDR_ERR_SUCCESS
;
4265 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4269 level
= ndr_pull_get_switch_value(ndr
, r
);
4270 if (ndr_flags
& NDR_SCALARS
) {
4271 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4272 if (_level
!= level
) {
4273 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4275 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4278 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4286 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4289 if (ndr_flags
& NDR_BUFFERS
) {
4292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4300 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4303 return NDR_ERR_SUCCESS
;
4306 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4309 level
= ndr_print_get_switch_value(ndr
, r
);
4310 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4313 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4317 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4321 ndr_print_bad_level(ndr
, name
, level
);
4325 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4327 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4328 return NDR_ERR_SUCCESS
;
4331 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4334 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4336 return NDR_ERR_SUCCESS
;
4339 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4341 ndr_print_uint32(ndr
, name
, r
);
4343 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4344 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4348 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4350 if (ndr_flags
& NDR_SCALARS
) {
4351 NDR_CHECK(ndr_push_align(ndr
, 5));
4352 if (r
->naming_context
== NULL
) {
4353 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4355 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4356 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4357 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->options
));
4358 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4360 if (ndr_flags
& NDR_BUFFERS
) {
4361 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4362 if (r
->source_dsa_address
) {
4363 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4364 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4365 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4366 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
));
4369 return NDR_ERR_SUCCESS
;
4372 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4374 uint32_t _ptr_naming_context
;
4375 TALLOC_CTX
*_mem_save_naming_context_0
;
4376 uint32_t _ptr_source_dsa_address
;
4377 uint32_t size_source_dsa_address_1
= 0;
4378 uint32_t length_source_dsa_address_1
= 0;
4379 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4380 if (ndr_flags
& NDR_SCALARS
) {
4381 NDR_CHECK(ndr_pull_align(ndr
, 5));
4382 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4383 if (_ptr_naming_context
) {
4384 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4386 r
->naming_context
= NULL
;
4388 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4389 if (_ptr_source_dsa_address
) {
4390 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4392 r
->source_dsa_address
= NULL
;
4394 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->options
));
4395 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4397 if (ndr_flags
& NDR_BUFFERS
) {
4398 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4399 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4400 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4402 if (r
->source_dsa_address
) {
4403 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4404 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4405 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4406 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4407 size_source_dsa_address_1
= ndr_get_array_size(ndr
, &r
->source_dsa_address
);
4408 length_source_dsa_address_1
= ndr_get_array_length(ndr
, &r
->source_dsa_address
);
4409 if (length_source_dsa_address_1
> size_source_dsa_address_1
) {
4410 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
);
4412 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_address_1
, sizeof(uint16_t)));
4413 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, length_source_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
4414 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4417 return NDR_ERR_SUCCESS
;
4420 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4422 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4424 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4426 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4428 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4430 if (r
->source_dsa_address
) {
4431 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4434 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "options", r
->options
);
4438 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4440 if (ndr_flags
& NDR_SCALARS
) {
4441 int level
= ndr_push_get_switch_value(ndr
, r
);
4442 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4443 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4446 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4450 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4453 if (ndr_flags
& NDR_BUFFERS
) {
4454 int level
= ndr_push_get_switch_value(ndr
, r
);
4457 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4461 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4464 return NDR_ERR_SUCCESS
;
4467 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4471 level
= ndr_pull_get_switch_value(ndr
, r
);
4472 if (ndr_flags
& NDR_SCALARS
) {
4473 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4474 if (_level
!= level
) {
4475 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4477 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4480 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4484 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4487 if (ndr_flags
& NDR_BUFFERS
) {
4490 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4494 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4497 return NDR_ERR_SUCCESS
;
4500 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4503 level
= ndr_print_get_switch_value(ndr
, r
);
4504 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4507 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4511 ndr_print_bad_level(ndr
, name
, level
);
4515 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4517 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4518 return NDR_ERR_SUCCESS
;
4521 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4524 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4526 return NDR_ERR_SUCCESS
;
4529 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4531 ndr_print_uint32(ndr
, name
, r
);
4533 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4534 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4538 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4540 if (ndr_flags
& NDR_SCALARS
) {
4541 NDR_CHECK(ndr_push_align(ndr
, 5));
4542 if (r
->naming_context
== NULL
) {
4543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4545 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4546 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4547 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4548 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4549 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4550 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4551 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->options
));
4552 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4554 if (ndr_flags
& NDR_BUFFERS
) {
4555 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4556 if (r
->source_dra_address
) {
4557 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4558 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4559 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4560 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->source_dra_address
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
4563 return NDR_ERR_SUCCESS
;
4566 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4568 uint32_t _ptr_naming_context
;
4569 TALLOC_CTX
*_mem_save_naming_context_0
;
4570 uint32_t _ptr_source_dra_address
;
4571 uint32_t size_source_dra_address_1
= 0;
4572 uint32_t length_source_dra_address_1
= 0;
4573 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4574 uint32_t size_schedule_0
= 0;
4575 if (ndr_flags
& NDR_SCALARS
) {
4576 NDR_CHECK(ndr_pull_align(ndr
, 5));
4577 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4578 if (_ptr_naming_context
) {
4579 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4581 r
->naming_context
= NULL
;
4583 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4584 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4585 if (_ptr_source_dra_address
) {
4586 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4588 r
->source_dra_address
= NULL
;
4590 size_schedule_0
= 84;
4591 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, size_schedule_0
));
4592 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4593 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4594 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->options
));
4595 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4597 if (ndr_flags
& NDR_BUFFERS
) {
4598 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4599 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4600 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4601 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4602 if (r
->source_dra_address
) {
4603 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4604 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4605 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4606 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4607 size_source_dra_address_1
= ndr_get_array_size(ndr
, &r
->source_dra_address
);
4608 length_source_dra_address_1
= ndr_get_array_length(ndr
, &r
->source_dra_address
);
4609 if (length_source_dra_address_1
> size_source_dra_address_1
) {
4610 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_source_dra_address_1
, length_source_dra_address_1
);
4612 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dra_address_1
, sizeof(uint16_t)));
4613 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dra_address
, length_source_dra_address_1
, sizeof(uint16_t), CH_UTF16
));
4614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4617 return NDR_ERR_SUCCESS
;
4620 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4622 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4624 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4626 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4628 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4629 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4631 if (r
->source_dra_address
) {
4632 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4635 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4636 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4637 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4638 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "options", r
->options
);
4642 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4644 if (ndr_flags
& NDR_SCALARS
) {
4645 int level
= ndr_push_get_switch_value(ndr
, r
);
4646 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4647 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4650 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4654 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4657 if (ndr_flags
& NDR_BUFFERS
) {
4658 int level
= ndr_push_get_switch_value(ndr
, r
);
4661 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4665 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4668 return NDR_ERR_SUCCESS
;
4671 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4675 level
= ndr_pull_get_switch_value(ndr
, r
);
4676 if (ndr_flags
& NDR_SCALARS
) {
4677 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4678 if (_level
!= level
) {
4679 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4681 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4688 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4691 if (ndr_flags
& NDR_BUFFERS
) {
4694 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4698 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4701 return NDR_ERR_SUCCESS
;
4704 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4707 level
= ndr_print_get_switch_value(ndr
, r
);
4708 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4711 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4715 ndr_print_bad_level(ndr
, name
, level
);
4719 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4721 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4722 return NDR_ERR_SUCCESS
;
4725 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4728 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4730 return NDR_ERR_SUCCESS
;
4733 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4735 const char *val
= NULL
;
4738 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4739 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4740 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4741 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4742 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4743 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4744 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4746 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4749 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4751 uint32_t cntr_info_array_1
;
4752 uint32_t cntr_group_attrs_1
;
4753 uint32_t cntr_sids_1
;
4754 if (ndr_flags
& NDR_SCALARS
) {
4755 NDR_CHECK(ndr_push_align(ndr
, 5));
4756 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4757 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4758 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4759 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4760 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4761 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4762 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4764 if (ndr_flags
& NDR_BUFFERS
) {
4765 if (r
->info_array
) {
4766 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4767 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4768 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4770 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4771 if (r
->info_array
[cntr_info_array_1
]) {
4772 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4776 if (r
->group_attrs
) {
4777 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4778 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4779 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4784 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4785 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4787 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4788 if (r
->sids
[cntr_sids_1
]) {
4789 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4794 return NDR_ERR_SUCCESS
;
4797 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4799 uint32_t _ptr_info_array
;
4800 uint32_t size_info_array_1
= 0;
4801 uint32_t cntr_info_array_1
;
4802 TALLOC_CTX
*_mem_save_info_array_0
;
4803 TALLOC_CTX
*_mem_save_info_array_1
;
4804 TALLOC_CTX
*_mem_save_info_array_2
;
4805 uint32_t _ptr_group_attrs
;
4806 uint32_t size_group_attrs_1
= 0;
4807 uint32_t cntr_group_attrs_1
;
4808 TALLOC_CTX
*_mem_save_group_attrs_0
;
4809 TALLOC_CTX
*_mem_save_group_attrs_1
;
4811 uint32_t size_sids_1
= 0;
4812 uint32_t cntr_sids_1
;
4813 TALLOC_CTX
*_mem_save_sids_0
;
4814 TALLOC_CTX
*_mem_save_sids_1
;
4815 TALLOC_CTX
*_mem_save_sids_2
;
4816 if (ndr_flags
& NDR_SCALARS
) {
4817 NDR_CHECK(ndr_pull_align(ndr
, 5));
4818 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4819 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4820 if (r
->num_memberships
> 10000) {
4821 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4823 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4824 if (r
->num_sids
> 10000) {
4825 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4827 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4828 if (_ptr_info_array
) {
4829 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4831 r
->info_array
= NULL
;
4833 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4834 if (_ptr_group_attrs
) {
4835 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4837 r
->group_attrs
= NULL
;
4839 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4841 NDR_PULL_ALLOC(ndr
, r
->sids
);
4845 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4847 if (ndr_flags
& NDR_BUFFERS
) {
4848 if (r
->info_array
) {
4849 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4850 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4851 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4852 size_info_array_1
= ndr_get_array_size(ndr
, &r
->info_array
);
4853 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, size_info_array_1
);
4854 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4855 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4856 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
4857 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4858 if (_ptr_info_array
) {
4859 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4861 r
->info_array
[cntr_info_array_1
] = NULL
;
4864 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
4865 if (r
->info_array
[cntr_info_array_1
]) {
4866 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4867 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4868 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4869 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4873 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4875 if (r
->group_attrs
) {
4876 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4877 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4878 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4879 size_group_attrs_1
= ndr_get_array_size(ndr
, &r
->group_attrs
);
4880 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, size_group_attrs_1
);
4881 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4882 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4883 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< size_group_attrs_1
; cntr_group_attrs_1
++) {
4884 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4886 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4890 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4891 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4892 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4893 size_sids_1
= ndr_get_array_size(ndr
, &r
->sids
);
4894 NDR_PULL_ALLOC_N(ndr
, r
->sids
, size_sids_1
);
4895 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4896 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4897 for (cntr_sids_1
= 0; cntr_sids_1
< size_sids_1
; cntr_sids_1
++) {
4898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4900 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4902 r
->sids
[cntr_sids_1
] = NULL
;
4905 for (cntr_sids_1
= 0; cntr_sids_1
< size_sids_1
; cntr_sids_1
++) {
4906 if (r
->sids
[cntr_sids_1
]) {
4907 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4908 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4909 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4910 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4913 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4914 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4916 if (r
->info_array
) {
4917 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4919 if (r
->group_attrs
) {
4920 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4923 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4926 return NDR_ERR_SUCCESS
;
4929 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4931 uint32_t cntr_info_array_1
;
4932 uint32_t cntr_group_attrs_1
;
4933 uint32_t cntr_sids_1
;
4934 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4936 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4937 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4938 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4939 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4941 if (r
->info_array
) {
4942 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4944 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4946 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4947 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4949 if (r
->info_array
[cntr_info_array_1
]) {
4950 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4959 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4961 if (r
->group_attrs
) {
4962 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4964 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
4966 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
4967 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
4974 ndr_print_ptr(ndr
, "sids", r
->sids
);
4977 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
4979 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
4981 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4982 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4984 if (r
->sids
[cntr_sids_1
]) {
4985 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4997 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
4999 if (ndr_flags
& NDR_SCALARS
) {
5000 int level
= ndr_push_get_switch_value(ndr
, r
);
5001 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5002 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5005 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
5009 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5012 if (ndr_flags
& NDR_BUFFERS
) {
5013 int level
= ndr_push_get_switch_value(ndr
, r
);
5016 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5020 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5023 return NDR_ERR_SUCCESS
;
5026 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
5030 level
= ndr_pull_get_switch_value(ndr
, r
);
5031 if (ndr_flags
& NDR_SCALARS
) {
5032 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5033 if (_level
!= level
) {
5034 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5036 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5039 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
5043 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5046 if (ndr_flags
& NDR_BUFFERS
) {
5049 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5053 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5056 return NDR_ERR_SUCCESS
;
5059 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
5062 level
= ndr_print_get_switch_value(ndr
, r
);
5063 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
5066 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
5070 ndr_print_bad_level(ndr
, name
, level
);
5074 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5076 uint32_t cntr_info_array_1
;
5077 if (ndr_flags
& NDR_SCALARS
) {
5078 NDR_CHECK(ndr_push_align(ndr
, 5));
5079 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5080 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
5081 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
5082 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
5083 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
5084 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5086 if (ndr_flags
& NDR_BUFFERS
) {
5087 if (r
->info_array
) {
5088 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5089 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5090 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
5092 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5093 if (r
->info_array
[cntr_info_array_1
]) {
5094 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5099 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5102 return NDR_ERR_SUCCESS
;
5105 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
5107 uint32_t _ptr_info_array
;
5108 uint32_t size_info_array_1
= 0;
5109 uint32_t cntr_info_array_1
;
5110 TALLOC_CTX
*_mem_save_info_array_0
;
5111 TALLOC_CTX
*_mem_save_info_array_1
;
5112 TALLOC_CTX
*_mem_save_info_array_2
;
5113 uint32_t _ptr_domain
;
5114 TALLOC_CTX
*_mem_save_domain_0
;
5115 if (ndr_flags
& NDR_SCALARS
) {
5116 NDR_CHECK(ndr_pull_align(ndr
, 5));
5117 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5118 if (r
->count
< 1 || r
->count
> 10000) {
5119 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5121 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5122 if (_ptr_info_array
) {
5123 NDR_PULL_ALLOC(ndr
, r
->info_array
);
5125 r
->info_array
= NULL
;
5127 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5128 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
5129 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5131 NDR_PULL_ALLOC(ndr
, r
->domain
);
5135 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5137 if (ndr_flags
& NDR_BUFFERS
) {
5138 if (r
->info_array
) {
5139 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5140 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5141 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5142 size_info_array_1
= ndr_get_array_size(ndr
, &r
->info_array
);
5143 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, size_info_array_1
);
5144 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5145 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5146 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
5147 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5148 if (_ptr_info_array
) {
5149 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5151 r
->info_array
[cntr_info_array_1
] = NULL
;
5154 for (cntr_info_array_1
= 0; cntr_info_array_1
< size_info_array_1
; cntr_info_array_1
++) {
5155 if (r
->info_array
[cntr_info_array_1
]) {
5156 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5157 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5158 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5159 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5162 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5163 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5166 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5167 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5168 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5169 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5171 if (r
->info_array
) {
5172 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5175 return NDR_ERR_SUCCESS
;
5178 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5180 uint32_t cntr_info_array_1
;
5181 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5183 ndr_print_uint32(ndr
, "count", r
->count
);
5184 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5186 if (r
->info_array
) {
5187 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5189 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5191 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5192 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5194 if (r
->info_array
[cntr_info_array_1
]) {
5195 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5204 ndr_print_uint32(ndr
, "flags", r
->flags
);
5205 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5206 ndr_print_ptr(ndr
, "domain", r
->domain
);
5209 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5215 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5217 if (ndr_flags
& NDR_SCALARS
) {
5218 int level
= ndr_push_get_switch_value(ndr
, r
);
5219 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5220 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5223 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5227 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5230 if (ndr_flags
& NDR_BUFFERS
) {
5231 int level
= ndr_push_get_switch_value(ndr
, r
);
5234 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5238 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5241 return NDR_ERR_SUCCESS
;
5244 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5248 level
= ndr_pull_get_switch_value(ndr
, r
);
5249 if (ndr_flags
& NDR_SCALARS
) {
5250 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5251 if (_level
!= level
) {
5252 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5254 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5257 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5261 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5264 if (ndr_flags
& NDR_BUFFERS
) {
5267 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5271 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5274 return NDR_ERR_SUCCESS
;
5277 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5280 level
= ndr_print_get_switch_value(ndr
, r
);
5281 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5284 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5288 ndr_print_bad_level(ndr
, name
, level
);
5292 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5294 if (ndr_flags
& NDR_SCALARS
) {
5295 NDR_CHECK(ndr_push_align(ndr
, 5));
5296 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
5297 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
5298 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
5299 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
5300 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5302 if (ndr_flags
& NDR_BUFFERS
) {
5304 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
5305 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
5308 return NDR_ERR_SUCCESS
;
5311 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5314 uint32_t size_data_1
= 0;
5315 TALLOC_CTX
*_mem_save_data_0
;
5316 if (ndr_flags
& NDR_SCALARS
) {
5317 NDR_CHECK(ndr_pull_align(ndr
, 5));
5318 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
5319 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
5320 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5321 if (r
->length
> 0x00A00000) {
5322 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5324 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5326 NDR_PULL_ALLOC(ndr
, r
->data
);
5330 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5332 if (ndr_flags
& NDR_BUFFERS
) {
5334 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5335 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5336 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5337 size_data_1
= ndr_get_array_size(ndr
, &r
->data
);
5338 NDR_PULL_ALLOC_N(ndr
, r
->data
, size_data_1
);
5339 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_1
));
5340 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5343 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5346 return NDR_ERR_SUCCESS
;
5349 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5351 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5353 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
5354 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
5355 ndr_print_uint32(ndr
, "length", r
->length
);
5356 ndr_print_ptr(ndr
, "data", r
->data
);
5359 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5365 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5367 if (ndr_flags
& NDR_SCALARS
) {
5368 int level
= ndr_push_get_switch_value(ndr
, r
);
5369 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5370 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5373 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5377 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5380 if (ndr_flags
& NDR_BUFFERS
) {
5381 int level
= ndr_push_get_switch_value(ndr
, r
);
5384 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5388 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5391 return NDR_ERR_SUCCESS
;
5394 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5398 level
= ndr_pull_get_switch_value(ndr
, r
);
5399 if (ndr_flags
& NDR_SCALARS
) {
5400 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5401 if (_level
!= level
) {
5402 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5404 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5407 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5411 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5414 if (ndr_flags
& NDR_BUFFERS
) {
5417 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5421 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5424 return NDR_ERR_SUCCESS
;
5427 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5430 level
= ndr_print_get_switch_value(ndr
, r
);
5431 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5434 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5438 ndr_print_bad_level(ndr
, name
, level
);
5442 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5444 if (ndr_flags
& NDR_SCALARS
) {
5445 NDR_CHECK(ndr_push_align(ndr
, 8));
5446 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
5447 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
5448 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
5449 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time2
));
5450 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown3
));
5451 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time4
));
5452 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown5
));
5453 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time6
));
5454 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5455 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data1
));
5456 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data2
));
5457 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5459 if (ndr_flags
& NDR_BUFFERS
) {
5461 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length1
));
5462 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, r
->length1
));
5465 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length2
));
5466 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, r
->length2
));
5469 return NDR_ERR_SUCCESS
;
5472 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5474 uint32_t _ptr_data1
;
5475 uint32_t size_data1_1
= 0;
5476 TALLOC_CTX
*_mem_save_data1_0
;
5477 uint32_t _ptr_data2
;
5478 uint32_t size_data2_1
= 0;
5479 TALLOC_CTX
*_mem_save_data2_0
;
5480 if (ndr_flags
& NDR_SCALARS
) {
5481 NDR_CHECK(ndr_pull_align(ndr
, 8));
5482 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length1
));
5483 if (r
->length1
> 0x00A00000) {
5484 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5486 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length2
));
5487 if (r
->length2
> 0x00A00000) {
5488 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5490 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
5491 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time2
));
5492 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown3
));
5493 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time4
));
5494 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown5
));
5495 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time6
));
5496 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5497 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data1
));
5499 NDR_PULL_ALLOC(ndr
, r
->data1
);
5503 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data2
));
5505 NDR_PULL_ALLOC(ndr
, r
->data2
);
5509 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5511 if (ndr_flags
& NDR_BUFFERS
) {
5513 _mem_save_data1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5514 NDR_PULL_SET_MEM_CTX(ndr
, r
->data1
, 0);
5515 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data1
));
5516 size_data1_1
= ndr_get_array_size(ndr
, &r
->data1
);
5517 NDR_PULL_ALLOC_N(ndr
, r
->data1
, size_data1_1
);
5518 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, size_data1_1
));
5519 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data1_0
, 0);
5522 _mem_save_data2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5523 NDR_PULL_SET_MEM_CTX(ndr
, r
->data2
, 0);
5524 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data2
));
5525 size_data2_1
= ndr_get_array_size(ndr
, &r
->data2
);
5526 NDR_PULL_ALLOC_N(ndr
, r
->data2
, size_data2_1
);
5527 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, size_data2_1
));
5528 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data2_0
, 0);
5531 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data1
, r
->length1
));
5534 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data2
, r
->length2
));
5537 return NDR_ERR_SUCCESS
;
5540 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5542 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5544 ndr_print_uint32(ndr
, "length1", r
->length1
);
5545 ndr_print_uint32(ndr
, "length2", r
->length2
);
5546 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
5547 ndr_print_NTTIME(ndr
, "time2", r
->time2
);
5548 ndr_print_hyper(ndr
, "unknown3", r
->unknown3
);
5549 ndr_print_NTTIME(ndr
, "time4", r
->time4
);
5550 ndr_print_hyper(ndr
, "unknown5", r
->unknown5
);
5551 ndr_print_NTTIME(ndr
, "time6", r
->time6
);
5552 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5553 ndr_print_ptr(ndr
, "data1", r
->data1
);
5556 ndr_print_array_uint8(ndr
, "data1", r
->data1
, r
->length1
);
5559 ndr_print_ptr(ndr
, "data2", r
->data2
);
5562 ndr_print_array_uint8(ndr
, "data2", r
->data2
, r
->length2
);
5568 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5570 if (ndr_flags
& NDR_SCALARS
) {
5571 int level
= ndr_push_get_switch_value(ndr
, r
);
5572 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5573 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5576 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5580 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5583 if (ndr_flags
& NDR_BUFFERS
) {
5584 int level
= ndr_push_get_switch_value(ndr
, r
);
5587 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5591 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5594 return NDR_ERR_SUCCESS
;
5597 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5601 level
= ndr_pull_get_switch_value(ndr
, r
);
5602 if (ndr_flags
& NDR_SCALARS
) {
5603 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5604 if (_level
!= level
) {
5605 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5607 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5610 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5614 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5617 if (ndr_flags
& NDR_BUFFERS
) {
5620 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5624 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5627 return NDR_ERR_SUCCESS
;
5630 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5633 level
= ndr_print_get_switch_value(ndr
, r
);
5634 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5637 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5641 ndr_print_bad_level(ndr
, name
, level
);
5645 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5647 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5648 return NDR_ERR_SUCCESS
;
5651 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5654 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5656 return NDR_ERR_SUCCESS
;
5659 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5661 const char *val
= NULL
;
5664 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5665 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5666 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5667 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5668 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5669 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5670 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5671 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5673 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5676 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5678 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5679 return NDR_ERR_SUCCESS
;
5682 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5685 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5687 return NDR_ERR_SUCCESS
;
5690 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5692 const char *val
= NULL
;
5695 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5696 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5697 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5698 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5699 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5701 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5704 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5706 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5707 return NDR_ERR_SUCCESS
;
5710 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5713 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5715 return NDR_ERR_SUCCESS
;
5718 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5720 const char *val
= NULL
;
5723 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5724 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5725 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5726 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5727 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5728 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5729 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5730 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5731 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5732 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5733 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5735 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5738 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5740 if (ndr_flags
& NDR_SCALARS
) {
5741 NDR_CHECK(ndr_push_align(ndr
, 5));
5742 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5743 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5745 if (ndr_flags
& NDR_BUFFERS
) {
5747 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5748 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5749 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5750 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5753 return NDR_ERR_SUCCESS
;
5756 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5759 uint32_t size_str_1
= 0;
5760 uint32_t length_str_1
= 0;
5761 TALLOC_CTX
*_mem_save_str_0
;
5762 if (ndr_flags
& NDR_SCALARS
) {
5763 NDR_CHECK(ndr_pull_align(ndr
, 5));
5764 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5766 NDR_PULL_ALLOC(ndr
, r
->str
);
5770 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5772 if (ndr_flags
& NDR_BUFFERS
) {
5774 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5775 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5776 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5777 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5778 size_str_1
= ndr_get_array_size(ndr
, &r
->str
);
5779 length_str_1
= ndr_get_array_length(ndr
, &r
->str
);
5780 if (length_str_1
> size_str_1
) {
5781 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_str_1
, length_str_1
);
5783 NDR_CHECK(ndr_check_string_terminator(ndr
, length_str_1
, sizeof(uint16_t)));
5784 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, length_str_1
, sizeof(uint16_t), CH_UTF16
));
5785 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5788 return NDR_ERR_SUCCESS
;
5791 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5793 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5795 ndr_print_ptr(ndr
, "str", r
->str
);
5798 ndr_print_string(ndr
, "str", r
->str
);
5804 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5806 uint32_t cntr_names_1
;
5807 if (ndr_flags
& NDR_SCALARS
) {
5808 NDR_CHECK(ndr_push_align(ndr
, 5));
5809 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5810 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5811 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5812 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5813 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5814 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5815 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5816 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5818 if (ndr_flags
& NDR_BUFFERS
) {
5820 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5821 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5822 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5824 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5825 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5829 return NDR_ERR_SUCCESS
;
5832 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5834 uint32_t _ptr_names
;
5835 uint32_t size_names_1
= 0;
5836 uint32_t cntr_names_1
;
5837 TALLOC_CTX
*_mem_save_names_0
;
5838 TALLOC_CTX
*_mem_save_names_1
;
5839 if (ndr_flags
& NDR_SCALARS
) {
5840 NDR_CHECK(ndr_pull_align(ndr
, 5));
5841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5842 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5843 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5844 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5845 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5846 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5847 if (r
->count
< 1 || r
->count
> 10000) {
5848 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5850 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5852 NDR_PULL_ALLOC(ndr
, r
->names
);
5856 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5858 if (ndr_flags
& NDR_BUFFERS
) {
5860 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5861 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5862 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5863 size_names_1
= ndr_get_array_size(ndr
, &r
->names
);
5864 NDR_PULL_ALLOC_N(ndr
, r
->names
, size_names_1
);
5865 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5866 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5867 for (cntr_names_1
= 0; cntr_names_1
< size_names_1
; cntr_names_1
++) {
5868 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5870 for (cntr_names_1
= 0; cntr_names_1
< size_names_1
; cntr_names_1
++) {
5871 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5873 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5874 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5877 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5880 return NDR_ERR_SUCCESS
;
5883 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5885 uint32_t cntr_names_1
;
5886 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5888 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5889 ndr_print_uint32(ndr
, "language", r
->language
);
5890 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5891 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5892 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5893 ndr_print_uint32(ndr
, "count", r
->count
);
5894 ndr_print_ptr(ndr
, "names", r
->names
);
5897 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5899 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5901 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5902 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5912 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5914 if (ndr_flags
& NDR_SCALARS
) {
5915 int level
= ndr_push_get_switch_value(ndr
, r
);
5916 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5917 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5920 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5924 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5927 if (ndr_flags
& NDR_BUFFERS
) {
5928 int level
= ndr_push_get_switch_value(ndr
, r
);
5931 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5935 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5938 return NDR_ERR_SUCCESS
;
5941 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5945 level
= ndr_pull_get_switch_value(ndr
, r
);
5946 if (ndr_flags
& NDR_SCALARS
) {
5947 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5948 if (_level
!= level
) {
5949 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5951 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5954 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5958 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5961 if (ndr_flags
& NDR_BUFFERS
) {
5964 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5968 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5971 return NDR_ERR_SUCCESS
;
5974 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5977 level
= ndr_print_get_switch_value(ndr
, r
);
5978 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
5981 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
5985 ndr_print_bad_level(ndr
, name
, level
);
5989 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
5991 if (ndr_flags
& NDR_SCALARS
) {
5992 NDR_CHECK(ndr_push_align(ndr
, 5));
5993 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
5994 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
5995 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
5996 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5998 if (ndr_flags
& NDR_BUFFERS
) {
5999 if (r
->dns_domain_name
) {
6000 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
6001 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6002 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
6003 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
));
6005 if (r
->result_name
) {
6006 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
6007 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6008 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
6009 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6012 return NDR_ERR_SUCCESS
;
6015 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
6017 uint32_t _ptr_dns_domain_name
;
6018 uint32_t size_dns_domain_name_1
= 0;
6019 uint32_t length_dns_domain_name_1
= 0;
6020 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
6021 uint32_t _ptr_result_name
;
6022 uint32_t size_result_name_1
= 0;
6023 uint32_t length_result_name_1
= 0;
6024 TALLOC_CTX
*_mem_save_result_name_0
;
6025 if (ndr_flags
& NDR_SCALARS
) {
6026 NDR_CHECK(ndr_pull_align(ndr
, 5));
6027 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
6028 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
6029 if (_ptr_dns_domain_name
) {
6030 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
6032 r
->dns_domain_name
= NULL
;
6034 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
6035 if (_ptr_result_name
) {
6036 NDR_PULL_ALLOC(ndr
, r
->result_name
);
6038 r
->result_name
= NULL
;
6040 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6042 if (ndr_flags
& NDR_BUFFERS
) {
6043 if (r
->dns_domain_name
) {
6044 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6045 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
6046 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
6047 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
6048 size_dns_domain_name_1
= ndr_get_array_size(ndr
, &r
->dns_domain_name
);
6049 length_dns_domain_name_1
= ndr_get_array_length(ndr
, &r
->dns_domain_name
);
6050 if (length_dns_domain_name_1
> size_dns_domain_name_1
) {
6051 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
);
6053 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_domain_name_1
, sizeof(uint16_t)));
6054 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_domain_name
, length_dns_domain_name_1
, sizeof(uint16_t), CH_UTF16
));
6055 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
6057 if (r
->result_name
) {
6058 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6059 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
6060 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
6061 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
6062 size_result_name_1
= ndr_get_array_size(ndr
, &r
->result_name
);
6063 length_result_name_1
= ndr_get_array_length(ndr
, &r
->result_name
);
6064 if (length_result_name_1
> size_result_name_1
) {
6065 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
);
6067 NDR_CHECK(ndr_check_string_terminator(ndr
, length_result_name_1
, sizeof(uint16_t)));
6068 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, length_result_name_1
, sizeof(uint16_t), CH_UTF16
));
6069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
6072 return NDR_ERR_SUCCESS
;
6075 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
6077 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
6079 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
6080 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
6082 if (r
->dns_domain_name
) {
6083 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
6086 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
6088 if (r
->result_name
) {
6089 ndr_print_string(ndr
, "result_name", r
->result_name
);
6095 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
6097 uint32_t cntr_array_1
;
6098 if (ndr_flags
& NDR_SCALARS
) {
6099 NDR_CHECK(ndr_push_align(ndr
, 5));
6100 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6101 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
6102 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6104 if (ndr_flags
& NDR_BUFFERS
) {
6106 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6107 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6108 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6110 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6111 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6115 return NDR_ERR_SUCCESS
;
6118 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
6120 uint32_t _ptr_array
;
6121 uint32_t size_array_1
= 0;
6122 uint32_t cntr_array_1
;
6123 TALLOC_CTX
*_mem_save_array_0
;
6124 TALLOC_CTX
*_mem_save_array_1
;
6125 if (ndr_flags
& NDR_SCALARS
) {
6126 NDR_CHECK(ndr_pull_align(ndr
, 5));
6127 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6128 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6130 NDR_PULL_ALLOC(ndr
, r
->array
);
6134 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6136 if (ndr_flags
& NDR_BUFFERS
) {
6138 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6139 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6140 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6141 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
6142 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
6143 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6144 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6145 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
6146 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6148 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
6149 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6151 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6155 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6158 return NDR_ERR_SUCCESS
;
6161 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6163 uint32_t cntr_array_1
;
6164 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6166 ndr_print_uint32(ndr
, "count", r
->count
);
6167 ndr_print_ptr(ndr
, "array", r
->array
);
6170 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6172 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6174 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6175 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6185 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6187 if (ndr_flags
& NDR_SCALARS
) {
6188 int level
= ndr_push_get_switch_value(ndr
, r
);
6189 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6190 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6193 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6197 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6200 if (ndr_flags
& NDR_BUFFERS
) {
6201 int level
= ndr_push_get_switch_value(ndr
, r
);
6205 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6210 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6213 return NDR_ERR_SUCCESS
;
6216 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6220 TALLOC_CTX
*_mem_save_ctr1_0
;
6222 level
= ndr_pull_get_switch_value(ndr
, r
);
6223 if (ndr_flags
& NDR_SCALARS
) {
6224 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6225 if (_level
!= level
) {
6226 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6228 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6231 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6233 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6240 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6243 if (ndr_flags
& NDR_BUFFERS
) {
6247 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6248 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6249 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6250 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6255 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6258 return NDR_ERR_SUCCESS
;
6261 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6264 level
= ndr_print_get_switch_value(ndr
, r
);
6265 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6268 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6271 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6277 ndr_print_bad_level(ndr
, name
, level
);
6281 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6283 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6284 return NDR_ERR_SUCCESS
;
6287 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6290 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6292 return NDR_ERR_SUCCESS
;
6295 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6297 const char *val
= NULL
;
6300 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6301 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6302 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6304 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6307 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6309 uint32_t cntr_spn_names_1
;
6310 if (ndr_flags
& NDR_SCALARS
) {
6311 NDR_CHECK(ndr_push_align(ndr
, 5));
6312 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6313 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6314 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6316 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6317 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6319 if (ndr_flags
& NDR_BUFFERS
) {
6321 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6322 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6323 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6324 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6327 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6328 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6329 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6331 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6332 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6336 return NDR_ERR_SUCCESS
;
6339 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6341 uint32_t _ptr_object_dn
;
6342 uint32_t size_object_dn_1
= 0;
6343 uint32_t length_object_dn_1
= 0;
6344 TALLOC_CTX
*_mem_save_object_dn_0
;
6345 uint32_t _ptr_spn_names
;
6346 uint32_t size_spn_names_1
= 0;
6347 uint32_t cntr_spn_names_1
;
6348 TALLOC_CTX
*_mem_save_spn_names_0
;
6349 TALLOC_CTX
*_mem_save_spn_names_1
;
6350 if (ndr_flags
& NDR_SCALARS
) {
6351 NDR_CHECK(ndr_pull_align(ndr
, 5));
6352 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6353 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6354 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6355 if (_ptr_object_dn
) {
6356 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6358 r
->object_dn
= NULL
;
6360 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6361 if (r
->count
> 10000) {
6362 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6364 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6365 if (_ptr_spn_names
) {
6366 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6368 r
->spn_names
= NULL
;
6370 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6372 if (ndr_flags
& NDR_BUFFERS
) {
6374 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6375 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6376 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6377 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6378 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
6379 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
6380 if (length_object_dn_1
> size_object_dn_1
) {
6381 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
);
6383 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
6384 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
6385 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6388 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6389 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6390 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6391 size_spn_names_1
= ndr_get_array_size(ndr
, &r
->spn_names
);
6392 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, size_spn_names_1
);
6393 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6394 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6395 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< size_spn_names_1
; cntr_spn_names_1
++) {
6396 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6398 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< size_spn_names_1
; cntr_spn_names_1
++) {
6399 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6402 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6405 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6408 return NDR_ERR_SUCCESS
;
6411 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6413 uint32_t cntr_spn_names_1
;
6414 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6416 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6417 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6418 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6421 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6424 ndr_print_uint32(ndr
, "count", r
->count
);
6425 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6428 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6430 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6432 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6433 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6443 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6445 if (ndr_flags
& NDR_SCALARS
) {
6446 int level
= ndr_push_get_switch_value(ndr
, r
);
6447 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6448 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6451 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6455 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6458 if (ndr_flags
& NDR_BUFFERS
) {
6459 int level
= ndr_push_get_switch_value(ndr
, r
);
6462 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6466 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6469 return NDR_ERR_SUCCESS
;
6472 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6476 level
= ndr_pull_get_switch_value(ndr
, r
);
6477 if (ndr_flags
& NDR_SCALARS
) {
6478 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6479 if (_level
!= level
) {
6480 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6482 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6485 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6489 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6492 if (ndr_flags
& NDR_BUFFERS
) {
6495 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6499 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6502 return NDR_ERR_SUCCESS
;
6505 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6508 level
= ndr_print_get_switch_value(ndr
, r
);
6509 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6512 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6516 ndr_print_bad_level(ndr
, name
, level
);
6520 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6522 if (ndr_flags
& NDR_SCALARS
) {
6523 NDR_CHECK(ndr_push_align(ndr
, 4));
6524 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6525 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6527 if (ndr_flags
& NDR_BUFFERS
) {
6529 return NDR_ERR_SUCCESS
;
6532 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6534 if (ndr_flags
& NDR_SCALARS
) {
6535 NDR_CHECK(ndr_pull_align(ndr
, 4));
6536 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6539 if (ndr_flags
& NDR_BUFFERS
) {
6541 return NDR_ERR_SUCCESS
;
6544 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6546 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6548 ndr_print_WERROR(ndr
, "status", r
->status
);
6552 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6554 if (ndr_flags
& NDR_SCALARS
) {
6555 int level
= ndr_push_get_switch_value(ndr
, r
);
6556 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6557 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6560 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6564 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6567 if (ndr_flags
& NDR_BUFFERS
) {
6568 int level
= ndr_push_get_switch_value(ndr
, r
);
6574 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6577 return NDR_ERR_SUCCESS
;
6580 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6584 level
= ndr_pull_get_switch_value(ndr
, r
);
6585 if (ndr_flags
& NDR_SCALARS
) {
6586 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6587 if (_level
!= level
) {
6588 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6590 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6593 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6597 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6600 if (ndr_flags
& NDR_BUFFERS
) {
6606 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6609 return NDR_ERR_SUCCESS
;
6612 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6615 level
= ndr_print_get_switch_value(ndr
, r
);
6616 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6619 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6623 ndr_print_bad_level(ndr
, name
, level
);
6627 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6629 if (ndr_flags
& NDR_SCALARS
) {
6630 NDR_CHECK(ndr_push_align(ndr
, 5));
6631 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6632 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6633 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6634 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6636 if (ndr_flags
& NDR_BUFFERS
) {
6638 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6639 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6640 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6641 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6644 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6645 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6646 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6647 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6650 return NDR_ERR_SUCCESS
;
6653 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6655 uint32_t _ptr_server_dn
;
6656 uint32_t size_server_dn_1
= 0;
6657 uint32_t length_server_dn_1
= 0;
6658 TALLOC_CTX
*_mem_save_server_dn_0
;
6659 uint32_t _ptr_domain_dn
;
6660 uint32_t size_domain_dn_1
= 0;
6661 uint32_t length_domain_dn_1
= 0;
6662 TALLOC_CTX
*_mem_save_domain_dn_0
;
6663 if (ndr_flags
& NDR_SCALARS
) {
6664 NDR_CHECK(ndr_pull_align(ndr
, 5));
6665 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6666 if (_ptr_server_dn
) {
6667 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6669 r
->server_dn
= NULL
;
6671 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
6672 if (_ptr_domain_dn
) {
6673 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
6675 r
->domain_dn
= NULL
;
6677 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
6678 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6680 if (ndr_flags
& NDR_BUFFERS
) {
6682 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6683 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6684 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6685 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6686 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
6687 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
6688 if (length_server_dn_1
> size_server_dn_1
) {
6689 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
);
6691 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
6692 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
6693 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6696 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6697 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6698 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6699 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6700 size_domain_dn_1
= ndr_get_array_size(ndr
, &r
->domain_dn
);
6701 length_domain_dn_1
= ndr_get_array_length(ndr
, &r
->domain_dn
);
6702 if (length_domain_dn_1
> size_domain_dn_1
) {
6703 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
);
6705 NDR_CHECK(ndr_check_string_terminator(ndr
, length_domain_dn_1
, sizeof(uint16_t)));
6706 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, length_domain_dn_1
, sizeof(uint16_t), CH_UTF16
));
6707 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6710 return NDR_ERR_SUCCESS
;
6713 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6715 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6717 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6720 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6723 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6726 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6729 ndr_print_uint32(ndr
, "commit", r
->commit
);
6733 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6735 if (ndr_flags
& NDR_SCALARS
) {
6736 int level
= ndr_push_get_switch_value(ndr
, r
);
6737 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6738 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6741 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6745 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6748 if (ndr_flags
& NDR_BUFFERS
) {
6749 int level
= ndr_push_get_switch_value(ndr
, r
);
6752 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6756 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6759 return NDR_ERR_SUCCESS
;
6762 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6766 level
= ndr_pull_get_switch_value(ndr
, r
);
6767 if (ndr_flags
& NDR_SCALARS
) {
6768 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6769 if (_level
!= level
) {
6770 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6772 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6775 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6779 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6782 if (ndr_flags
& NDR_BUFFERS
) {
6785 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6789 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6792 return NDR_ERR_SUCCESS
;
6795 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6798 level
= ndr_print_get_switch_value(ndr
, r
);
6799 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6802 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6806 ndr_print_bad_level(ndr
, name
, level
);
6810 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6812 if (ndr_flags
& NDR_SCALARS
) {
6813 NDR_CHECK(ndr_push_align(ndr
, 4));
6814 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6815 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6817 if (ndr_flags
& NDR_BUFFERS
) {
6819 return NDR_ERR_SUCCESS
;
6822 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6824 if (ndr_flags
& NDR_SCALARS
) {
6825 NDR_CHECK(ndr_pull_align(ndr
, 4));
6826 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6827 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6829 if (ndr_flags
& NDR_BUFFERS
) {
6831 return NDR_ERR_SUCCESS
;
6834 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6836 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6838 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6842 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6844 if (ndr_flags
& NDR_SCALARS
) {
6845 int level
= ndr_push_get_switch_value(ndr
, r
);
6846 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6847 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6850 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6854 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6857 if (ndr_flags
& NDR_BUFFERS
) {
6858 int level
= ndr_push_get_switch_value(ndr
, r
);
6864 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6867 return NDR_ERR_SUCCESS
;
6870 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6874 level
= ndr_pull_get_switch_value(ndr
, r
);
6875 if (ndr_flags
& NDR_SCALARS
) {
6876 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6877 if (_level
!= level
) {
6878 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6880 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6883 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6887 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6890 if (ndr_flags
& NDR_BUFFERS
) {
6896 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6899 return NDR_ERR_SUCCESS
;
6902 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6905 level
= ndr_print_get_switch_value(ndr
, r
);
6906 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6909 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6913 ndr_print_bad_level(ndr
, name
, level
);
6917 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6919 if (ndr_flags
& NDR_SCALARS
) {
6920 NDR_CHECK(ndr_push_align(ndr
, 5));
6921 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6922 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6923 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6925 if (ndr_flags
& NDR_BUFFERS
) {
6926 if (r
->domain_name
) {
6927 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6928 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6929 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6930 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6933 return NDR_ERR_SUCCESS
;
6936 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6938 uint32_t _ptr_domain_name
;
6939 uint32_t size_domain_name_1
= 0;
6940 uint32_t length_domain_name_1
= 0;
6941 TALLOC_CTX
*_mem_save_domain_name_0
;
6942 if (ndr_flags
& NDR_SCALARS
) {
6943 NDR_CHECK(ndr_pull_align(ndr
, 5));
6944 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6945 if (_ptr_domain_name
) {
6946 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6948 r
->domain_name
= NULL
;
6950 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6951 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6953 if (ndr_flags
& NDR_BUFFERS
) {
6954 if (r
->domain_name
) {
6955 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6956 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6957 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6958 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6959 size_domain_name_1
= ndr_get_array_size(ndr
, &r
->domain_name
);
6960 length_domain_name_1
= ndr_get_array_length(ndr
, &r
->domain_name
);
6961 if (length_domain_name_1
> size_domain_name_1
) {
6962 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
);
6964 NDR_CHECK(ndr_check_string_terminator(ndr
, length_domain_name_1
, sizeof(uint16_t)));
6965 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, length_domain_name_1
, sizeof(uint16_t), CH_UTF16
));
6966 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6969 return NDR_ERR_SUCCESS
;
6972 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6974 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6976 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6978 if (r
->domain_name
) {
6979 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6982 ndr_print_int32(ndr
, "level", r
->level
);
6986 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6988 if (ndr_flags
& NDR_SCALARS
) {
6989 int level
= ndr_push_get_switch_value(ndr
, r
);
6990 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6991 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6994 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6998 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7001 if (ndr_flags
& NDR_BUFFERS
) {
7002 int level
= ndr_push_get_switch_value(ndr
, r
);
7005 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
7009 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7012 return NDR_ERR_SUCCESS
;
7015 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
7019 level
= ndr_pull_get_switch_value(ndr
, r
);
7020 if (ndr_flags
& NDR_SCALARS
) {
7021 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
7022 if (_level
!= level
) {
7023 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
7025 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
7028 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
7032 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7035 if (ndr_flags
& NDR_BUFFERS
) {
7038 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
7042 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7045 return NDR_ERR_SUCCESS
;
7048 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
7051 level
= ndr_print_get_switch_value(ndr
, r
);
7052 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
7055 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
7059 ndr_print_bad_level(ndr
, name
, level
);
7063 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
7065 if (ndr_flags
& NDR_SCALARS
) {
7066 NDR_CHECK(ndr_push_align(ndr
, 5));
7067 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7068 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7069 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7070 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7071 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7073 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7074 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7076 if (ndr_flags
& NDR_BUFFERS
) {
7077 if (r
->netbios_name
) {
7078 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7079 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7080 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7081 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7084 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7085 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7086 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7087 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7090 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7091 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7092 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7093 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7095 if (r
->computer_dn
) {
7096 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7097 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7098 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7099 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7102 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7103 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7104 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7105 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7108 return NDR_ERR_SUCCESS
;
7111 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
7113 uint32_t _ptr_netbios_name
;
7114 uint32_t size_netbios_name_1
= 0;
7115 uint32_t length_netbios_name_1
= 0;
7116 TALLOC_CTX
*_mem_save_netbios_name_0
;
7117 uint32_t _ptr_dns_name
;
7118 uint32_t size_dns_name_1
= 0;
7119 uint32_t length_dns_name_1
= 0;
7120 TALLOC_CTX
*_mem_save_dns_name_0
;
7121 uint32_t _ptr_site_name
;
7122 uint32_t size_site_name_1
= 0;
7123 uint32_t length_site_name_1
= 0;
7124 TALLOC_CTX
*_mem_save_site_name_0
;
7125 uint32_t _ptr_computer_dn
;
7126 uint32_t size_computer_dn_1
= 0;
7127 uint32_t length_computer_dn_1
= 0;
7128 TALLOC_CTX
*_mem_save_computer_dn_0
;
7129 uint32_t _ptr_server_dn
;
7130 uint32_t size_server_dn_1
= 0;
7131 uint32_t length_server_dn_1
= 0;
7132 TALLOC_CTX
*_mem_save_server_dn_0
;
7133 if (ndr_flags
& NDR_SCALARS
) {
7134 NDR_CHECK(ndr_pull_align(ndr
, 5));
7135 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7136 if (_ptr_netbios_name
) {
7137 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7139 r
->netbios_name
= NULL
;
7141 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7142 if (_ptr_dns_name
) {
7143 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7147 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7148 if (_ptr_site_name
) {
7149 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7151 r
->site_name
= NULL
;
7153 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7154 if (_ptr_computer_dn
) {
7155 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7157 r
->computer_dn
= NULL
;
7159 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7160 if (_ptr_server_dn
) {
7161 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7163 r
->server_dn
= NULL
;
7165 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7166 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7167 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7169 if (ndr_flags
& NDR_BUFFERS
) {
7170 if (r
->netbios_name
) {
7171 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7172 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7173 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7174 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7175 size_netbios_name_1
= ndr_get_array_size(ndr
, &r
->netbios_name
);
7176 length_netbios_name_1
= ndr_get_array_length(ndr
, &r
->netbios_name
);
7177 if (length_netbios_name_1
> size_netbios_name_1
) {
7178 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
);
7180 NDR_CHECK(ndr_check_string_terminator(ndr
, length_netbios_name_1
, sizeof(uint16_t)));
7181 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, length_netbios_name_1
, sizeof(uint16_t), CH_UTF16
));
7182 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7185 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7186 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7187 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7188 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7189 size_dns_name_1
= ndr_get_array_size(ndr
, &r
->dns_name
);
7190 length_dns_name_1
= ndr_get_array_length(ndr
, &r
->dns_name
);
7191 if (length_dns_name_1
> size_dns_name_1
) {
7192 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
);
7194 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_name_1
, sizeof(uint16_t)));
7195 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, length_dns_name_1
, sizeof(uint16_t), CH_UTF16
));
7196 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7199 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7200 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7201 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7202 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7203 size_site_name_1
= ndr_get_array_size(ndr
, &r
->site_name
);
7204 length_site_name_1
= ndr_get_array_length(ndr
, &r
->site_name
);
7205 if (length_site_name_1
> size_site_name_1
) {
7206 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
);
7208 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_name_1
, sizeof(uint16_t)));
7209 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, length_site_name_1
, sizeof(uint16_t), CH_UTF16
));
7210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7212 if (r
->computer_dn
) {
7213 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7214 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7215 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7216 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7217 size_computer_dn_1
= ndr_get_array_size(ndr
, &r
->computer_dn
);
7218 length_computer_dn_1
= ndr_get_array_length(ndr
, &r
->computer_dn
);
7219 if (length_computer_dn_1
> size_computer_dn_1
) {
7220 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
);
7222 NDR_CHECK(ndr_check_string_terminator(ndr
, length_computer_dn_1
, sizeof(uint16_t)));
7223 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, length_computer_dn_1
, sizeof(uint16_t), CH_UTF16
));
7224 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7227 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7228 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7229 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7230 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7231 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
7232 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
7233 if (length_server_dn_1
> size_server_dn_1
) {
7234 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
);
7236 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
7237 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
7238 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7241 return NDR_ERR_SUCCESS
;
7244 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7246 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7248 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7250 if (r
->netbios_name
) {
7251 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7254 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7257 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7260 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7263 ndr_print_string(ndr
, "site_name", r
->site_name
);
7266 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7268 if (r
->computer_dn
) {
7269 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7272 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7275 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7278 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7279 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7283 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7285 uint32_t cntr_array_1
;
7286 if (ndr_flags
& NDR_SCALARS
) {
7287 NDR_CHECK(ndr_push_align(ndr
, 5));
7288 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7289 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7290 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7292 if (ndr_flags
& NDR_BUFFERS
) {
7294 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7295 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7296 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7298 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7299 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7303 return NDR_ERR_SUCCESS
;
7306 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7308 uint32_t _ptr_array
;
7309 uint32_t size_array_1
= 0;
7310 uint32_t cntr_array_1
;
7311 TALLOC_CTX
*_mem_save_array_0
;
7312 TALLOC_CTX
*_mem_save_array_1
;
7313 if (ndr_flags
& NDR_SCALARS
) {
7314 NDR_CHECK(ndr_pull_align(ndr
, 5));
7315 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7316 if (r
->count
> 10000) {
7317 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7319 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7321 NDR_PULL_ALLOC(ndr
, r
->array
);
7325 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7327 if (ndr_flags
& NDR_BUFFERS
) {
7329 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7330 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7331 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7332 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
7333 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
7334 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7335 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7336 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7337 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7339 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7340 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7342 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7343 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7346 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7349 return NDR_ERR_SUCCESS
;
7352 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7354 uint32_t cntr_array_1
;
7355 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7357 ndr_print_uint32(ndr
, "count", r
->count
);
7358 ndr_print_ptr(ndr
, "array", r
->array
);
7361 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7363 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7365 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7366 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7376 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7378 if (ndr_flags
& NDR_SCALARS
) {
7379 NDR_CHECK(ndr_push_align(ndr
, 5));
7380 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7381 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7382 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7383 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7384 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7385 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7386 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7387 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7388 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7389 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7390 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7391 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7392 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7393 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7394 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7396 if (ndr_flags
& NDR_BUFFERS
) {
7397 if (r
->netbios_name
) {
7398 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7399 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7400 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7401 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7404 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7405 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7406 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7407 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7410 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7411 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7412 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7413 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7416 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7417 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7418 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7419 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7421 if (r
->computer_dn
) {
7422 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7423 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7424 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7425 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7428 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7429 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7430 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7431 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7434 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7435 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7436 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7437 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7440 return NDR_ERR_SUCCESS
;
7443 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7445 uint32_t _ptr_netbios_name
;
7446 uint32_t size_netbios_name_1
= 0;
7447 uint32_t length_netbios_name_1
= 0;
7448 TALLOC_CTX
*_mem_save_netbios_name_0
;
7449 uint32_t _ptr_dns_name
;
7450 uint32_t size_dns_name_1
= 0;
7451 uint32_t length_dns_name_1
= 0;
7452 TALLOC_CTX
*_mem_save_dns_name_0
;
7453 uint32_t _ptr_site_name
;
7454 uint32_t size_site_name_1
= 0;
7455 uint32_t length_site_name_1
= 0;
7456 TALLOC_CTX
*_mem_save_site_name_0
;
7457 uint32_t _ptr_site_dn
;
7458 uint32_t size_site_dn_1
= 0;
7459 uint32_t length_site_dn_1
= 0;
7460 TALLOC_CTX
*_mem_save_site_dn_0
;
7461 uint32_t _ptr_computer_dn
;
7462 uint32_t size_computer_dn_1
= 0;
7463 uint32_t length_computer_dn_1
= 0;
7464 TALLOC_CTX
*_mem_save_computer_dn_0
;
7465 uint32_t _ptr_server_dn
;
7466 uint32_t size_server_dn_1
= 0;
7467 uint32_t length_server_dn_1
= 0;
7468 TALLOC_CTX
*_mem_save_server_dn_0
;
7469 uint32_t _ptr_ntds_dn
;
7470 uint32_t size_ntds_dn_1
= 0;
7471 uint32_t length_ntds_dn_1
= 0;
7472 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7473 if (ndr_flags
& NDR_SCALARS
) {
7474 NDR_CHECK(ndr_pull_align(ndr
, 5));
7475 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7476 if (_ptr_netbios_name
) {
7477 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7479 r
->netbios_name
= NULL
;
7481 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7482 if (_ptr_dns_name
) {
7483 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7487 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7488 if (_ptr_site_name
) {
7489 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7491 r
->site_name
= NULL
;
7493 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7495 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7499 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7500 if (_ptr_computer_dn
) {
7501 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7503 r
->computer_dn
= NULL
;
7505 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7506 if (_ptr_server_dn
) {
7507 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7509 r
->server_dn
= NULL
;
7511 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7513 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7517 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7518 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7519 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7520 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7521 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7522 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7523 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7524 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7526 if (ndr_flags
& NDR_BUFFERS
) {
7527 if (r
->netbios_name
) {
7528 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7529 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7530 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7531 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7532 size_netbios_name_1
= ndr_get_array_size(ndr
, &r
->netbios_name
);
7533 length_netbios_name_1
= ndr_get_array_length(ndr
, &r
->netbios_name
);
7534 if (length_netbios_name_1
> size_netbios_name_1
) {
7535 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
);
7537 NDR_CHECK(ndr_check_string_terminator(ndr
, length_netbios_name_1
, sizeof(uint16_t)));
7538 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, length_netbios_name_1
, sizeof(uint16_t), CH_UTF16
));
7539 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7542 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7543 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7544 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7545 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7546 size_dns_name_1
= ndr_get_array_size(ndr
, &r
->dns_name
);
7547 length_dns_name_1
= ndr_get_array_length(ndr
, &r
->dns_name
);
7548 if (length_dns_name_1
> size_dns_name_1
) {
7549 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
);
7551 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_name_1
, sizeof(uint16_t)));
7552 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, length_dns_name_1
, sizeof(uint16_t), CH_UTF16
));
7553 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7556 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7557 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7558 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7559 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7560 size_site_name_1
= ndr_get_array_size(ndr
, &r
->site_name
);
7561 length_site_name_1
= ndr_get_array_length(ndr
, &r
->site_name
);
7562 if (length_site_name_1
> size_site_name_1
) {
7563 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
);
7565 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_name_1
, sizeof(uint16_t)));
7566 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, length_site_name_1
, sizeof(uint16_t), CH_UTF16
));
7567 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7570 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7571 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7572 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7573 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7574 size_site_dn_1
= ndr_get_array_size(ndr
, &r
->site_dn
);
7575 length_site_dn_1
= ndr_get_array_length(ndr
, &r
->site_dn
);
7576 if (length_site_dn_1
> size_site_dn_1
) {
7577 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
);
7579 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_dn_1
, sizeof(uint16_t)));
7580 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, length_site_dn_1
, sizeof(uint16_t), CH_UTF16
));
7581 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7583 if (r
->computer_dn
) {
7584 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7585 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7586 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7587 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7588 size_computer_dn_1
= ndr_get_array_size(ndr
, &r
->computer_dn
);
7589 length_computer_dn_1
= ndr_get_array_length(ndr
, &r
->computer_dn
);
7590 if (length_computer_dn_1
> size_computer_dn_1
) {
7591 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
);
7593 NDR_CHECK(ndr_check_string_terminator(ndr
, length_computer_dn_1
, sizeof(uint16_t)));
7594 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, length_computer_dn_1
, sizeof(uint16_t), CH_UTF16
));
7595 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7598 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7599 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7600 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7601 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7602 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
7603 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
7604 if (length_server_dn_1
> size_server_dn_1
) {
7605 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
);
7607 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
7608 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
7609 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7612 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7613 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7614 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7615 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7616 size_ntds_dn_1
= ndr_get_array_size(ndr
, &r
->ntds_dn
);
7617 length_ntds_dn_1
= ndr_get_array_length(ndr
, &r
->ntds_dn
);
7618 if (length_ntds_dn_1
> size_ntds_dn_1
) {
7619 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
);
7621 NDR_CHECK(ndr_check_string_terminator(ndr
, length_ntds_dn_1
, sizeof(uint16_t)));
7622 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, length_ntds_dn_1
, sizeof(uint16_t), CH_UTF16
));
7623 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7626 return NDR_ERR_SUCCESS
;
7629 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7631 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7633 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7635 if (r
->netbios_name
) {
7636 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7639 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7642 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7645 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7648 ndr_print_string(ndr
, "site_name", r
->site_name
);
7651 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7654 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7657 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7659 if (r
->computer_dn
) {
7660 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7663 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7666 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7669 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7672 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7675 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7676 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7677 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7678 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7679 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7680 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7681 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7685 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7687 uint32_t cntr_array_1
;
7688 if (ndr_flags
& NDR_SCALARS
) {
7689 NDR_CHECK(ndr_push_align(ndr
, 5));
7690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7691 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7692 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7694 if (ndr_flags
& NDR_BUFFERS
) {
7696 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7697 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7698 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7700 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7701 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7705 return NDR_ERR_SUCCESS
;
7708 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7710 uint32_t _ptr_array
;
7711 uint32_t size_array_1
= 0;
7712 uint32_t cntr_array_1
;
7713 TALLOC_CTX
*_mem_save_array_0
;
7714 TALLOC_CTX
*_mem_save_array_1
;
7715 if (ndr_flags
& NDR_SCALARS
) {
7716 NDR_CHECK(ndr_pull_align(ndr
, 5));
7717 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7718 if (r
->count
> 10000) {
7719 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7721 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7723 NDR_PULL_ALLOC(ndr
, r
->array
);
7727 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7729 if (ndr_flags
& NDR_BUFFERS
) {
7731 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7732 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7733 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7734 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
7735 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
7736 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7737 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7738 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7739 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7741 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
7742 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7744 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7745 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7748 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7751 return NDR_ERR_SUCCESS
;
7754 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7756 uint32_t cntr_array_1
;
7757 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7759 ndr_print_uint32(ndr
, "count", r
->count
);
7760 ndr_print_ptr(ndr
, "array", r
->array
);
7763 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7765 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7767 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7768 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7778 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7780 if (ndr_flags
& NDR_SCALARS
) {
7781 NDR_CHECK(ndr_push_align(ndr
, 5));
7782 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7783 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7784 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7785 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7786 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7787 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7788 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7789 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7790 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7791 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7792 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7793 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7794 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7795 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7796 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7797 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7799 if (ndr_flags
& NDR_BUFFERS
) {
7800 if (r
->netbios_name
) {
7801 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7802 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7803 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7804 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7807 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7808 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7809 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7810 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7813 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7814 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7815 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7816 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7819 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7820 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7821 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7822 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7824 if (r
->computer_dn
) {
7825 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7826 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7827 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7828 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7831 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7832 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7833 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7834 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7837 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7838 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7839 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7840 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7843 return NDR_ERR_SUCCESS
;
7846 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7848 uint32_t _ptr_netbios_name
;
7849 uint32_t size_netbios_name_1
= 0;
7850 uint32_t length_netbios_name_1
= 0;
7851 TALLOC_CTX
*_mem_save_netbios_name_0
;
7852 uint32_t _ptr_dns_name
;
7853 uint32_t size_dns_name_1
= 0;
7854 uint32_t length_dns_name_1
= 0;
7855 TALLOC_CTX
*_mem_save_dns_name_0
;
7856 uint32_t _ptr_site_name
;
7857 uint32_t size_site_name_1
= 0;
7858 uint32_t length_site_name_1
= 0;
7859 TALLOC_CTX
*_mem_save_site_name_0
;
7860 uint32_t _ptr_site_dn
;
7861 uint32_t size_site_dn_1
= 0;
7862 uint32_t length_site_dn_1
= 0;
7863 TALLOC_CTX
*_mem_save_site_dn_0
;
7864 uint32_t _ptr_computer_dn
;
7865 uint32_t size_computer_dn_1
= 0;
7866 uint32_t length_computer_dn_1
= 0;
7867 TALLOC_CTX
*_mem_save_computer_dn_0
;
7868 uint32_t _ptr_server_dn
;
7869 uint32_t size_server_dn_1
= 0;
7870 uint32_t length_server_dn_1
= 0;
7871 TALLOC_CTX
*_mem_save_server_dn_0
;
7872 uint32_t _ptr_ntds_dn
;
7873 uint32_t size_ntds_dn_1
= 0;
7874 uint32_t length_ntds_dn_1
= 0;
7875 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7876 if (ndr_flags
& NDR_SCALARS
) {
7877 NDR_CHECK(ndr_pull_align(ndr
, 5));
7878 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7879 if (_ptr_netbios_name
) {
7880 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7882 r
->netbios_name
= NULL
;
7884 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7885 if (_ptr_dns_name
) {
7886 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7890 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7891 if (_ptr_site_name
) {
7892 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7894 r
->site_name
= NULL
;
7896 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7898 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7902 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7903 if (_ptr_computer_dn
) {
7904 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7906 r
->computer_dn
= NULL
;
7908 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7909 if (_ptr_server_dn
) {
7910 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7912 r
->server_dn
= NULL
;
7914 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7916 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7920 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7921 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7922 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7923 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7924 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7925 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7926 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7927 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7928 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7930 if (ndr_flags
& NDR_BUFFERS
) {
7931 if (r
->netbios_name
) {
7932 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7933 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7934 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7935 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7936 size_netbios_name_1
= ndr_get_array_size(ndr
, &r
->netbios_name
);
7937 length_netbios_name_1
= ndr_get_array_length(ndr
, &r
->netbios_name
);
7938 if (length_netbios_name_1
> size_netbios_name_1
) {
7939 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
);
7941 NDR_CHECK(ndr_check_string_terminator(ndr
, length_netbios_name_1
, sizeof(uint16_t)));
7942 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, length_netbios_name_1
, sizeof(uint16_t), CH_UTF16
));
7943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7946 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7947 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7948 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7949 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7950 size_dns_name_1
= ndr_get_array_size(ndr
, &r
->dns_name
);
7951 length_dns_name_1
= ndr_get_array_length(ndr
, &r
->dns_name
);
7952 if (length_dns_name_1
> size_dns_name_1
) {
7953 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
);
7955 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dns_name_1
, sizeof(uint16_t)));
7956 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, length_dns_name_1
, sizeof(uint16_t), CH_UTF16
));
7957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7960 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7961 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7962 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7963 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7964 size_site_name_1
= ndr_get_array_size(ndr
, &r
->site_name
);
7965 length_site_name_1
= ndr_get_array_length(ndr
, &r
->site_name
);
7966 if (length_site_name_1
> size_site_name_1
) {
7967 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
);
7969 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_name_1
, sizeof(uint16_t)));
7970 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, length_site_name_1
, sizeof(uint16_t), CH_UTF16
));
7971 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7974 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7975 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7976 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7977 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7978 size_site_dn_1
= ndr_get_array_size(ndr
, &r
->site_dn
);
7979 length_site_dn_1
= ndr_get_array_length(ndr
, &r
->site_dn
);
7980 if (length_site_dn_1
> size_site_dn_1
) {
7981 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
);
7983 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_dn_1
, sizeof(uint16_t)));
7984 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, length_site_dn_1
, sizeof(uint16_t), CH_UTF16
));
7985 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7987 if (r
->computer_dn
) {
7988 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7989 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7990 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7991 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7992 size_computer_dn_1
= ndr_get_array_size(ndr
, &r
->computer_dn
);
7993 length_computer_dn_1
= ndr_get_array_length(ndr
, &r
->computer_dn
);
7994 if (length_computer_dn_1
> size_computer_dn_1
) {
7995 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
);
7997 NDR_CHECK(ndr_check_string_terminator(ndr
, length_computer_dn_1
, sizeof(uint16_t)));
7998 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, length_computer_dn_1
, sizeof(uint16_t), CH_UTF16
));
7999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
8002 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8003 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
8004 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
8005 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
8006 size_server_dn_1
= ndr_get_array_size(ndr
, &r
->server_dn
);
8007 length_server_dn_1
= ndr_get_array_length(ndr
, &r
->server_dn
);
8008 if (length_server_dn_1
> size_server_dn_1
) {
8009 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
);
8011 NDR_CHECK(ndr_check_string_terminator(ndr
, length_server_dn_1
, sizeof(uint16_t)));
8012 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, length_server_dn_1
, sizeof(uint16_t), CH_UTF16
));
8013 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
8016 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8017 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
8018 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
8019 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
8020 size_ntds_dn_1
= ndr_get_array_size(ndr
, &r
->ntds_dn
);
8021 length_ntds_dn_1
= ndr_get_array_length(ndr
, &r
->ntds_dn
);
8022 if (length_ntds_dn_1
> size_ntds_dn_1
) {
8023 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
);
8025 NDR_CHECK(ndr_check_string_terminator(ndr
, length_ntds_dn_1
, sizeof(uint16_t)));
8026 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, length_ntds_dn_1
, sizeof(uint16_t), CH_UTF16
));
8027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
8030 return NDR_ERR_SUCCESS
;
8033 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
8035 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
8037 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
8039 if (r
->netbios_name
) {
8040 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
8043 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
8046 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
8049 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
8052 ndr_print_string(ndr
, "site_name", r
->site_name
);
8055 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
8058 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
8061 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
8063 if (r
->computer_dn
) {
8064 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
8067 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
8070 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
8073 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
8076 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
8079 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
8080 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
8081 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
8082 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
8083 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
8084 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
8085 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
8086 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
8090 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
8092 uint32_t cntr_array_1
;
8093 if (ndr_flags
& NDR_SCALARS
) {
8094 NDR_CHECK(ndr_push_align(ndr
, 5));
8095 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8096 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8097 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8099 if (ndr_flags
& NDR_BUFFERS
) {
8101 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8102 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8103 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8105 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8106 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8110 return NDR_ERR_SUCCESS
;
8113 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
8115 uint32_t _ptr_array
;
8116 uint32_t size_array_1
= 0;
8117 uint32_t cntr_array_1
;
8118 TALLOC_CTX
*_mem_save_array_0
;
8119 TALLOC_CTX
*_mem_save_array_1
;
8120 if (ndr_flags
& NDR_SCALARS
) {
8121 NDR_CHECK(ndr_pull_align(ndr
, 5));
8122 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8123 if (r
->count
> 10000) {
8124 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8126 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8128 NDR_PULL_ALLOC(ndr
, r
->array
);
8132 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8134 if (ndr_flags
& NDR_BUFFERS
) {
8136 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8137 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8138 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8139 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
8140 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
8141 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8142 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8143 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
8144 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8146 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
8147 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8149 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8150 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8153 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8156 return NDR_ERR_SUCCESS
;
8159 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
8161 uint32_t cntr_array_1
;
8162 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
8164 ndr_print_uint32(ndr
, "count", r
->count
);
8165 ndr_print_ptr(ndr
, "array", r
->array
);
8168 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8170 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8172 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8173 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
8183 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
8185 if (ndr_flags
& NDR_SCALARS
) {
8186 NDR_CHECK(ndr_push_align(ndr
, 5));
8188 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8189 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8190 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
8191 ndr
->flags
= _flags_save_ipv4address
;
8193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8194 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
8195 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
8196 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
8197 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
8198 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
8199 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8201 if (ndr_flags
& NDR_BUFFERS
) {
8202 if (r
->client_account
) {
8203 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
8204 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
8205 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
8206 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8209 return NDR_ERR_SUCCESS
;
8212 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
8214 uint32_t _ptr_client_account
;
8215 uint32_t size_client_account_1
= 0;
8216 uint32_t length_client_account_1
= 0;
8217 TALLOC_CTX
*_mem_save_client_account_0
;
8218 if (ndr_flags
& NDR_SCALARS
) {
8219 NDR_CHECK(ndr_pull_align(ndr
, 5));
8221 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8222 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8223 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
8224 ndr
->flags
= _flags_save_ipv4address
;
8226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8227 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
8228 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
8229 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
8230 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
8231 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
8232 if (_ptr_client_account
) {
8233 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8235 r
->client_account
= NULL
;
8237 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8239 if (ndr_flags
& NDR_BUFFERS
) {
8240 if (r
->client_account
) {
8241 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8242 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8243 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8244 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8245 size_client_account_1
= ndr_get_array_size(ndr
, &r
->client_account
);
8246 length_client_account_1
= ndr_get_array_length(ndr
, &r
->client_account
);
8247 if (length_client_account_1
> size_client_account_1
) {
8248 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
);
8250 NDR_CHECK(ndr_check_string_terminator(ndr
, length_client_account_1
, sizeof(uint16_t)));
8251 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, length_client_account_1
, sizeof(uint16_t), CH_UTF16
));
8252 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8255 return NDR_ERR_SUCCESS
;
8258 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8260 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8262 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8263 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8264 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8265 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8266 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8267 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8268 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8270 if (r
->client_account
) {
8271 ndr_print_string(ndr
, "client_account", r
->client_account
);
8277 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8279 uint32_t cntr_array_1
;
8280 if (ndr_flags
& NDR_SCALARS
) {
8281 NDR_CHECK(ndr_push_align(ndr
, 5));
8282 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8283 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8284 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8286 if (ndr_flags
& NDR_BUFFERS
) {
8288 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8289 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8290 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8292 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8293 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8297 return NDR_ERR_SUCCESS
;
8300 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8302 uint32_t _ptr_array
;
8303 uint32_t size_array_1
= 0;
8304 uint32_t cntr_array_1
;
8305 TALLOC_CTX
*_mem_save_array_0
;
8306 TALLOC_CTX
*_mem_save_array_1
;
8307 if (ndr_flags
& NDR_SCALARS
) {
8308 NDR_CHECK(ndr_pull_align(ndr
, 5));
8309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8310 if (r
->count
> 10000) {
8311 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8313 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8315 NDR_PULL_ALLOC(ndr
, r
->array
);
8319 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8321 if (ndr_flags
& NDR_BUFFERS
) {
8323 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8324 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8325 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8326 size_array_1
= ndr_get_array_size(ndr
, &r
->array
);
8327 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_1
);
8328 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8329 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8330 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
8331 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8333 for (cntr_array_1
= 0; cntr_array_1
< size_array_1
; cntr_array_1
++) {
8334 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8337 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8340 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8343 return NDR_ERR_SUCCESS
;
8346 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8348 uint32_t cntr_array_1
;
8349 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8351 ndr_print_uint32(ndr
, "count", r
->count
);
8352 ndr_print_ptr(ndr
, "array", r
->array
);
8355 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8357 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8359 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8360 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8370 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8372 if (ndr_flags
& NDR_SCALARS
) {
8373 int level
= ndr_push_get_switch_value(ndr
, r
);
8374 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8375 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8377 case DRSUAPI_DC_INFO_CTR_1
: {
8378 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8381 case DRSUAPI_DC_INFO_CTR_2
: {
8382 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8385 case DRSUAPI_DC_INFO_CTR_3
: {
8386 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8389 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8390 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8394 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8397 if (ndr_flags
& NDR_BUFFERS
) {
8398 int level
= ndr_push_get_switch_value(ndr
, r
);
8400 case DRSUAPI_DC_INFO_CTR_1
:
8401 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8404 case DRSUAPI_DC_INFO_CTR_2
:
8405 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8408 case DRSUAPI_DC_INFO_CTR_3
:
8409 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8412 case DRSUAPI_DC_CONNECTION_CTR_01
:
8413 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8417 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8420 return NDR_ERR_SUCCESS
;
8423 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8427 level
= ndr_pull_get_switch_value(ndr
, r
);
8428 if (ndr_flags
& NDR_SCALARS
) {
8429 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8430 if (_level
!= level
) {
8431 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8433 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8435 case DRSUAPI_DC_INFO_CTR_1
: {
8436 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8439 case DRSUAPI_DC_INFO_CTR_2
: {
8440 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8443 case DRSUAPI_DC_INFO_CTR_3
: {
8444 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8447 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8448 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8452 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8455 if (ndr_flags
& NDR_BUFFERS
) {
8457 case DRSUAPI_DC_INFO_CTR_1
:
8458 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8461 case DRSUAPI_DC_INFO_CTR_2
:
8462 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8465 case DRSUAPI_DC_INFO_CTR_3
:
8466 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8469 case DRSUAPI_DC_CONNECTION_CTR_01
:
8470 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8474 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8477 return NDR_ERR_SUCCESS
;
8480 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8483 level
= ndr_print_get_switch_value(ndr
, r
);
8484 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8486 case DRSUAPI_DC_INFO_CTR_1
:
8487 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8490 case DRSUAPI_DC_INFO_CTR_2
:
8491 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8494 case DRSUAPI_DC_INFO_CTR_3
:
8495 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8498 case DRSUAPI_DC_CONNECTION_CTR_01
:
8499 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8503 ndr_print_bad_level(ndr
, name
, level
);
8507 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8509 if (ndr_flags
& NDR_SCALARS
) {
8510 NDR_CHECK(ndr_push_align(ndr
, 5));
8511 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8512 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8513 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8515 if (ndr_flags
& NDR_BUFFERS
) {
8516 if (r
->next_object
) {
8517 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8519 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8521 return NDR_ERR_SUCCESS
;
8524 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8526 uint32_t _ptr_next_object
;
8527 TALLOC_CTX
*_mem_save_next_object_0
;
8528 if (ndr_flags
& NDR_SCALARS
) {
8529 NDR_CHECK(ndr_pull_align(ndr
, 5));
8530 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8531 if (_ptr_next_object
) {
8532 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8534 r
->next_object
= NULL
;
8536 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8539 if (ndr_flags
& NDR_BUFFERS
) {
8540 if (r
->next_object
) {
8541 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8542 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8543 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8546 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8548 return NDR_ERR_SUCCESS
;
8551 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8553 if (ndr_flags
& NDR_SCALARS
) {
8554 NDR_CHECK(ndr_push_align(ndr
, 5));
8555 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8556 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8558 if (ndr_flags
& NDR_BUFFERS
) {
8559 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8561 return NDR_ERR_SUCCESS
;
8564 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8566 if (ndr_flags
& NDR_SCALARS
) {
8567 NDR_CHECK(ndr_pull_align(ndr
, 5));
8568 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8569 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8571 if (ndr_flags
& NDR_BUFFERS
) {
8572 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8574 return NDR_ERR_SUCCESS
;
8577 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8579 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8581 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8585 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8587 if (ndr_flags
& NDR_SCALARS
) {
8588 int level
= ndr_push_get_switch_value(ndr
, r
);
8589 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8590 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8593 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8597 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8600 if (ndr_flags
& NDR_BUFFERS
) {
8601 int level
= ndr_push_get_switch_value(ndr
, r
);
8604 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8608 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8611 return NDR_ERR_SUCCESS
;
8614 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8618 level
= ndr_pull_get_switch_value(ndr
, r
);
8619 if (ndr_flags
& NDR_SCALARS
) {
8620 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8621 if (_level
!= level
) {
8622 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8624 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8627 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8631 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8634 if (ndr_flags
& NDR_BUFFERS
) {
8637 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8641 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8644 return NDR_ERR_SUCCESS
;
8647 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8650 level
= ndr_print_get_switch_value(ndr
, r
);
8651 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8654 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8658 ndr_print_bad_level(ndr
, name
, level
);
8662 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8664 if (ndr_flags
& NDR_SCALARS
) {
8665 NDR_CHECK(ndr_push_align(ndr
, 4));
8666 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8667 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8668 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8669 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
8670 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8672 if (ndr_flags
& NDR_BUFFERS
) {
8674 return NDR_ERR_SUCCESS
;
8677 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8679 if (ndr_flags
& NDR_SCALARS
) {
8680 NDR_CHECK(ndr_pull_align(ndr
, 4));
8681 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8682 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8683 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8684 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
8685 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8687 if (ndr_flags
& NDR_BUFFERS
) {
8689 return NDR_ERR_SUCCESS
;
8692 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8694 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8696 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8697 ndr_print_WERROR(ndr
, "status", r
->status
);
8698 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8699 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
8703 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8705 if (ndr_flags
& NDR_SCALARS
) {
8706 NDR_CHECK(ndr_push_align(ndr
, 5));
8707 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
8708 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
8709 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8711 if (ndr_flags
& NDR_BUFFERS
) {
8713 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
8714 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
8717 return NDR_ERR_SUCCESS
;
8720 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8723 uint32_t size_data_1
= 0;
8724 TALLOC_CTX
*_mem_save_data_0
;
8725 if (ndr_flags
& NDR_SCALARS
) {
8726 NDR_CHECK(ndr_pull_align(ndr
, 5));
8727 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
8728 if (r
->size
> 10485760) {
8729 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8731 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
8733 NDR_PULL_ALLOC(ndr
, r
->data
);
8737 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8739 if (ndr_flags
& NDR_BUFFERS
) {
8741 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8742 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
8743 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
8744 size_data_1
= ndr_get_array_size(ndr
, &r
->data
);
8745 NDR_PULL_ALLOC_N(ndr
, r
->data
, size_data_1
);
8746 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_1
));
8747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
8750 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
8753 return NDR_ERR_SUCCESS
;
8756 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8758 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
8760 ndr_print_uint32(ndr
, "size", r
->size
);
8761 ndr_print_ptr(ndr
, "data", r
->data
);
8764 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
8770 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8772 if (ndr_flags
& NDR_SCALARS
) {
8773 NDR_CHECK(ndr_push_align(ndr
, 5));
8774 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8775 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8776 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8777 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8778 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8780 if (ndr_flags
& NDR_BUFFERS
) {
8781 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8783 return NDR_ERR_SUCCESS
;
8786 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
8788 if (ndr_flags
& NDR_SCALARS
) {
8789 NDR_CHECK(ndr_pull_align(ndr
, 5));
8790 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8791 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8792 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8793 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8794 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8796 if (ndr_flags
& NDR_BUFFERS
) {
8797 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8799 return NDR_ERR_SUCCESS
;
8802 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8804 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
8806 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8807 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8808 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8809 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
8813 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8815 if (ndr_flags
& NDR_SCALARS
) {
8816 NDR_CHECK(ndr_push_align(ndr
, 5));
8817 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8818 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8819 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8821 if (ndr_flags
& NDR_BUFFERS
) {
8823 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8825 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8827 return NDR_ERR_SUCCESS
;
8830 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
8833 TALLOC_CTX
*_mem_save_next_0
;
8834 if (ndr_flags
& NDR_SCALARS
) {
8835 NDR_CHECK(ndr_pull_align(ndr
, 5));
8836 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8838 NDR_PULL_ALLOC(ndr
, r
->next
);
8842 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8843 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8845 if (ndr_flags
& NDR_BUFFERS
) {
8847 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8848 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8849 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8850 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8852 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8854 return NDR_ERR_SUCCESS
;
8857 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8859 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
8861 ndr_print_ptr(ndr
, "next", r
->next
);
8864 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
8867 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
8871 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8873 if (ndr_flags
& NDR_SCALARS
) {
8874 NDR_CHECK(ndr_push_align(ndr
, 5));
8875 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8876 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8877 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8878 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8880 if (ndr_flags
& NDR_BUFFERS
) {
8882 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8884 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8886 return NDR_ERR_SUCCESS
;
8889 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
8892 TALLOC_CTX
*_mem_save_id_0
;
8893 if (ndr_flags
& NDR_SCALARS
) {
8894 NDR_CHECK(ndr_pull_align(ndr
, 5));
8895 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8897 NDR_PULL_ALLOC(ndr
, r
->id
);
8901 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8902 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8903 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8905 if (ndr_flags
& NDR_BUFFERS
) {
8907 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8908 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8909 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8910 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8912 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8914 return NDR_ERR_SUCCESS
;
8917 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8919 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
8921 ndr_print_ptr(ndr
, "id", r
->id
);
8924 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8927 ndr_print_WERROR(ndr
, "status", r
->status
);
8928 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
8932 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8934 if (ndr_flags
& NDR_SCALARS
) {
8935 int level
= ndr_push_get_switch_value(ndr
, r
);
8936 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8937 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8940 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8944 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8948 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8952 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8956 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8960 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8963 if (ndr_flags
& NDR_BUFFERS
) {
8964 int level
= ndr_push_get_switch_value(ndr
, r
);
8967 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8983 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8986 return NDR_ERR_SUCCESS
;
8989 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
8993 level
= ndr_pull_get_switch_value(ndr
, r
);
8994 if (ndr_flags
& NDR_SCALARS
) {
8995 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8996 if (_level
!= level
) {
8997 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8999 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9002 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
9006 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
9010 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
9014 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
9018 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
9022 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9025 if (ndr_flags
& NDR_BUFFERS
) {
9028 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
9044 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9047 return NDR_ERR_SUCCESS
;
9050 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
9053 level
= ndr_print_get_switch_value(ndr
, r
);
9054 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
9057 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
9061 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
9065 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
9069 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
9073 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
9077 ndr_print_bad_level(ndr
, name
, level
);
9081 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
9083 if (ndr_flags
& NDR_SCALARS
) {
9084 NDR_CHECK(ndr_push_align(ndr
, 5));
9085 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
9086 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9087 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
9088 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9090 if (ndr_flags
& NDR_BUFFERS
) {
9092 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
9093 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9096 return NDR_ERR_SUCCESS
;
9099 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
9102 TALLOC_CTX
*_mem_save_info_0
;
9103 if (ndr_flags
& NDR_SCALARS
) {
9104 NDR_CHECK(ndr_pull_align(ndr
, 5));
9105 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
9106 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9107 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9109 NDR_PULL_ALLOC(ndr
, r
->info
);
9113 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9115 if (ndr_flags
& NDR_BUFFERS
) {
9117 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9118 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
9119 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
9120 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9121 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
9124 return NDR_ERR_SUCCESS
;
9127 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
9129 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
9131 ndr_print_WERROR(ndr
, "status", r
->status
);
9132 ndr_print_uint32(ndr
, "level", r
->level
);
9133 ndr_print_ptr(ndr
, "info", r
->info
);
9136 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
9137 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
9143 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
9145 if (ndr_flags
& NDR_SCALARS
) {
9146 int level
= ndr_push_get_switch_value(ndr
, r
);
9147 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9148 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9151 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
9155 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9158 if (ndr_flags
& NDR_BUFFERS
) {
9159 int level
= ndr_push_get_switch_value(ndr
, r
);
9162 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
9166 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9169 return NDR_ERR_SUCCESS
;
9172 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
9176 level
= ndr_pull_get_switch_value(ndr
, r
);
9177 if (ndr_flags
& NDR_SCALARS
) {
9178 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9179 if (_level
!= level
) {
9180 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9182 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9185 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
9189 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9192 if (ndr_flags
& NDR_BUFFERS
) {
9195 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
9199 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9202 return NDR_ERR_SUCCESS
;
9205 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
9208 level
= ndr_print_get_switch_value(ndr
, r
);
9209 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
9212 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
9216 ndr_print_bad_level(ndr
, name
, level
);
9220 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9222 if (ndr_flags
& NDR_SCALARS
) {
9223 NDR_CHECK(ndr_push_align(ndr
, 4));
9224 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9225 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9226 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9228 if (ndr_flags
& NDR_BUFFERS
) {
9229 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9231 return NDR_ERR_SUCCESS
;
9234 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9236 if (ndr_flags
& NDR_SCALARS
) {
9237 NDR_CHECK(ndr_pull_align(ndr
, 4));
9238 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9239 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9240 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9242 if (ndr_flags
& NDR_BUFFERS
) {
9243 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9245 return NDR_ERR_SUCCESS
;
9248 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9250 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9252 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9253 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9257 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9259 uint32_t cntr_objects_1
;
9260 if (ndr_flags
& NDR_SCALARS
) {
9261 NDR_CHECK(ndr_push_align(ndr
, 5));
9262 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9263 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9264 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9265 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9266 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9267 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9269 if (ndr_flags
& NDR_BUFFERS
) {
9271 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9274 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9275 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9276 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9278 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9279 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9283 return NDR_ERR_SUCCESS
;
9286 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9289 TALLOC_CTX
*_mem_save_id_0
;
9290 uint32_t _ptr_objects
;
9291 uint32_t size_objects_1
= 0;
9292 uint32_t cntr_objects_1
;
9293 TALLOC_CTX
*_mem_save_objects_0
;
9294 TALLOC_CTX
*_mem_save_objects_1
;
9295 if (ndr_flags
& NDR_SCALARS
) {
9296 NDR_CHECK(ndr_pull_align(ndr
, 5));
9297 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9299 NDR_PULL_ALLOC(ndr
, r
->id
);
9303 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9304 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9305 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9306 if (r
->count
> 10000) {
9307 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9309 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9311 NDR_PULL_ALLOC(ndr
, r
->objects
);
9315 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9317 if (ndr_flags
& NDR_BUFFERS
) {
9319 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9320 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9321 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9322 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9325 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9326 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9327 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9328 size_objects_1
= ndr_get_array_size(ndr
, &r
->objects
);
9329 NDR_PULL_ALLOC_N(ndr
, r
->objects
, size_objects_1
);
9330 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9331 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9332 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
9333 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9335 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
9336 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9338 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9339 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9342 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9345 return NDR_ERR_SUCCESS
;
9348 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9350 uint32_t cntr_objects_1
;
9351 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9353 ndr_print_ptr(ndr
, "id", r
->id
);
9356 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9359 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9360 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
9361 ndr_print_uint32(ndr
, "count", r
->count
);
9362 ndr_print_ptr(ndr
, "objects", r
->objects
);
9365 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9367 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9369 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9370 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9380 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9382 uint32_t cntr_objects_1
;
9383 if (ndr_flags
& NDR_SCALARS
) {
9384 NDR_CHECK(ndr_push_align(ndr
, 5));
9385 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9386 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9387 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
9388 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9389 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9390 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9392 if (ndr_flags
& NDR_BUFFERS
) {
9394 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9397 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
9398 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9401 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9402 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9403 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9405 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9406 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9410 return NDR_ERR_SUCCESS
;
9413 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9416 TALLOC_CTX
*_mem_save_id_0
;
9417 uint32_t _ptr_error
;
9418 TALLOC_CTX
*_mem_save_error_0
;
9419 uint32_t _ptr_objects
;
9420 uint32_t size_objects_1
= 0;
9421 uint32_t cntr_objects_1
;
9422 TALLOC_CTX
*_mem_save_objects_0
;
9423 TALLOC_CTX
*_mem_save_objects_1
;
9424 if (ndr_flags
& NDR_SCALARS
) {
9425 NDR_CHECK(ndr_pull_align(ndr
, 5));
9426 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9428 NDR_PULL_ALLOC(ndr
, r
->id
);
9432 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9433 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
9435 NDR_PULL_ALLOC(ndr
, r
->error
);
9439 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9440 if (r
->count
> 10000) {
9441 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9443 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9445 NDR_PULL_ALLOC(ndr
, r
->objects
);
9449 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9451 if (ndr_flags
& NDR_BUFFERS
) {
9453 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9454 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9456 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9459 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9460 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
9461 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
9462 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9463 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
9466 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9467 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9468 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9469 size_objects_1
= ndr_get_array_size(ndr
, &r
->objects
);
9470 NDR_PULL_ALLOC_N(ndr
, r
->objects
, size_objects_1
);
9471 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9472 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9473 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
9474 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9476 for (cntr_objects_1
= 0; cntr_objects_1
< size_objects_1
; cntr_objects_1
++) {
9477 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9479 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9480 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9483 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9486 return NDR_ERR_SUCCESS
;
9489 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9491 uint32_t cntr_objects_1
;
9492 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9494 ndr_print_ptr(ndr
, "id", r
->id
);
9497 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9500 ndr_print_uint32(ndr
, "level", r
->level
);
9501 ndr_print_ptr(ndr
, "error", r
->error
);
9504 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
9505 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
9508 ndr_print_uint32(ndr
, "count", r
->count
);
9509 ndr_print_ptr(ndr
, "objects", r
->objects
);
9512 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9514 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9516 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9517 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9527 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9529 if (ndr_flags
& NDR_SCALARS
) {
9530 int level
= ndr_push_get_switch_value(ndr
, r
);
9531 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
9532 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9535 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9539 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9543 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9546 if (ndr_flags
& NDR_BUFFERS
) {
9547 int level
= ndr_push_get_switch_value(ndr
, r
);
9550 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9554 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9558 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9561 return NDR_ERR_SUCCESS
;
9564 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9568 level
= ndr_pull_get_switch_value(ndr
, r
);
9569 if (ndr_flags
& NDR_SCALARS
) {
9570 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
9571 if (_level
!= level
) {
9572 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9574 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9577 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9581 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9585 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9588 if (ndr_flags
& NDR_BUFFERS
) {
9591 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9595 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9599 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9602 return NDR_ERR_SUCCESS
;
9605 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
9608 level
= ndr_print_get_switch_value(ndr
, r
);
9609 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
9612 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
9616 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
9620 ndr_print_bad_level(ndr
, name
, level
);
9624 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
9626 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
9627 return NDR_ERR_SUCCESS
;
9630 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
9633 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
9635 return NDR_ERR_SUCCESS
;
9638 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
9640 ndr_print_uint32(ndr
, name
, r
);
9642 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
9643 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
9647 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
9649 if (ndr_flags
& NDR_SCALARS
) {
9650 NDR_CHECK(ndr_push_align(ndr
, 4));
9651 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
9652 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
9653 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9655 if (ndr_flags
& NDR_BUFFERS
) {
9657 return NDR_ERR_SUCCESS
;
9660 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
9662 if (ndr_flags
& NDR_SCALARS
) {
9663 NDR_CHECK(ndr_pull_align(ndr
, 4));
9664 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
9665 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
9666 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9668 if (ndr_flags
& NDR_BUFFERS
) {
9670 return NDR_ERR_SUCCESS
;
9673 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
9675 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
9677 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
9678 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
9682 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
9684 if (ndr_flags
& NDR_SCALARS
) {
9685 int level
= ndr_push_get_switch_value(ndr
, r
);
9686 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9687 NDR_CHECK(ndr_push_union_align(ndr
, 4));
9690 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9694 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9697 if (ndr_flags
& NDR_BUFFERS
) {
9698 int level
= ndr_push_get_switch_value(ndr
, r
);
9704 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9707 return NDR_ERR_SUCCESS
;
9710 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
9714 level
= ndr_pull_get_switch_value(ndr
, r
);
9715 if (ndr_flags
& NDR_SCALARS
) {
9716 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9717 if (_level
!= level
) {
9718 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9720 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
9723 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9727 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9730 if (ndr_flags
& NDR_BUFFERS
) {
9736 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9739 return NDR_ERR_SUCCESS
;
9742 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
9745 level
= ndr_print_get_switch_value(ndr
, r
);
9746 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
9749 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
9753 ndr_print_bad_level(ndr
, name
, level
);
9757 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
9759 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9760 return NDR_ERR_SUCCESS
;
9763 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
9766 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9768 return NDR_ERR_SUCCESS
;
9771 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
9773 const char *val
= NULL
;
9776 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9777 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9779 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9782 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
9784 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9785 return NDR_ERR_SUCCESS
;
9788 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
9791 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9793 return NDR_ERR_SUCCESS
;
9796 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
9798 const char *val
= NULL
;
9801 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9802 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9803 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9804 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9805 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9806 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9807 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9808 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9809 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9810 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9811 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9812 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9813 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: val
= "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9814 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9815 case DRSUAPI_DS_REPLICA_INFO_06
: val
= "DRSUAPI_DS_REPLICA_INFO_06"; break;
9817 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9820 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9822 if (ndr_flags
& NDR_SCALARS
) {
9823 NDR_CHECK(ndr_push_align(ndr
, 5));
9824 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9825 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9826 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9827 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9829 if (ndr_flags
& NDR_BUFFERS
) {
9831 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9832 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9833 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9834 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9837 return NDR_ERR_SUCCESS
;
9840 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9842 uint32_t _ptr_object_dn
;
9843 uint32_t size_object_dn_1
= 0;
9844 uint32_t length_object_dn_1
= 0;
9845 TALLOC_CTX
*_mem_save_object_dn_0
;
9846 if (ndr_flags
& NDR_SCALARS
) {
9847 NDR_CHECK(ndr_pull_align(ndr
, 5));
9848 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9849 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9850 if (_ptr_object_dn
) {
9851 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9853 r
->object_dn
= NULL
;
9855 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9856 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9858 if (ndr_flags
& NDR_BUFFERS
) {
9860 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9861 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9862 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9863 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9864 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
9865 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
9866 if (length_object_dn_1
> size_object_dn_1
) {
9867 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
);
9869 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
9870 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
9871 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9874 return NDR_ERR_SUCCESS
;
9877 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9879 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
9881 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9882 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9885 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9888 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
9892 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9894 if (ndr_flags
& NDR_SCALARS
) {
9895 NDR_CHECK(ndr_push_align(ndr
, 5));
9896 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9897 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9898 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9899 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9900 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string1
));
9901 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string2
));
9902 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
9903 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9905 if (ndr_flags
& NDR_BUFFERS
) {
9907 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9908 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9909 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9910 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9913 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9914 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9915 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9916 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string1
, ndr_charset_length(r
->string1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9919 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9920 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9921 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9922 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string2
, ndr_charset_length(r
->string2
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9925 return NDR_ERR_SUCCESS
;
9928 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9930 uint32_t _ptr_object_dn
;
9931 uint32_t size_object_dn_1
= 0;
9932 uint32_t length_object_dn_1
= 0;
9933 TALLOC_CTX
*_mem_save_object_dn_0
;
9934 uint32_t _ptr_string1
;
9935 uint32_t size_string1_1
= 0;
9936 uint32_t length_string1_1
= 0;
9937 TALLOC_CTX
*_mem_save_string1_0
;
9938 uint32_t _ptr_string2
;
9939 uint32_t size_string2_1
= 0;
9940 uint32_t length_string2_1
= 0;
9941 TALLOC_CTX
*_mem_save_string2_0
;
9942 if (ndr_flags
& NDR_SCALARS
) {
9943 NDR_CHECK(ndr_pull_align(ndr
, 5));
9944 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9945 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9946 if (_ptr_object_dn
) {
9947 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9949 r
->object_dn
= NULL
;
9951 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9952 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9953 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string1
));
9955 NDR_PULL_ALLOC(ndr
, r
->string1
);
9959 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string2
));
9961 NDR_PULL_ALLOC(ndr
, r
->string2
);
9965 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
9966 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9968 if (ndr_flags
& NDR_BUFFERS
) {
9970 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9971 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9972 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9973 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9974 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
9975 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
9976 if (length_object_dn_1
> size_object_dn_1
) {
9977 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
);
9979 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
9980 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
9981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9984 _mem_save_string1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9985 NDR_PULL_SET_MEM_CTX(ndr
, r
->string1
, 0);
9986 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string1
));
9987 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string1
));
9988 size_string1_1
= ndr_get_array_size(ndr
, &r
->string1
);
9989 length_string1_1
= ndr_get_array_length(ndr
, &r
->string1
);
9990 if (length_string1_1
> size_string1_1
) {
9991 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_string1_1
, length_string1_1
);
9993 NDR_CHECK(ndr_check_string_terminator(ndr
, length_string1_1
, sizeof(uint16_t)));
9994 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string1
, length_string1_1
, sizeof(uint16_t), CH_UTF16
));
9995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string1_0
, 0);
9998 _mem_save_string2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9999 NDR_PULL_SET_MEM_CTX(ndr
, r
->string2
, 0);
10000 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string2
));
10001 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string2
));
10002 size_string2_1
= ndr_get_array_size(ndr
, &r
->string2
);
10003 length_string2_1
= ndr_get_array_length(ndr
, &r
->string2
);
10004 if (length_string2_1
> size_string2_1
) {
10005 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_string2_1
, length_string2_1
);
10007 NDR_CHECK(ndr_check_string_terminator(ndr
, length_string2_1
, sizeof(uint16_t)));
10008 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string2
, length_string2_1
, sizeof(uint16_t), CH_UTF16
));
10009 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string2_0
, 0);
10012 return NDR_ERR_SUCCESS
;
10015 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
10017 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
10019 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
10020 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10022 if (r
->object_dn
) {
10023 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10026 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
10027 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
10028 ndr_print_ptr(ndr
, "string1", r
->string1
);
10031 ndr_print_string(ndr
, "string1", r
->string1
);
10034 ndr_print_ptr(ndr
, "string2", r
->string2
);
10037 ndr_print_string(ndr
, "string2", r
->string2
);
10040 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
10044 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
10046 if (ndr_flags
& NDR_SCALARS
) {
10047 int level
= ndr_push_get_switch_value(ndr
, r
);
10048 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
10049 NDR_CHECK(ndr_push_union_align(ndr
, 5));
10051 case DRSUAPI_DS_REPLICA_GET_INFO
: {
10052 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
10055 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
10056 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
10060 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10063 if (ndr_flags
& NDR_BUFFERS
) {
10064 int level
= ndr_push_get_switch_value(ndr
, r
);
10066 case DRSUAPI_DS_REPLICA_GET_INFO
:
10067 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
10070 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10071 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
10075 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10078 return NDR_ERR_SUCCESS
;
10081 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
10085 level
= ndr_pull_get_switch_value(ndr
, r
);
10086 if (ndr_flags
& NDR_SCALARS
) {
10087 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
10088 if (_level
!= level
) {
10089 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
10091 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
10093 case DRSUAPI_DS_REPLICA_GET_INFO
: {
10094 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
10097 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
10098 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
10102 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10105 if (ndr_flags
& NDR_BUFFERS
) {
10107 case DRSUAPI_DS_REPLICA_GET_INFO
:
10108 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
10111 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10112 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
10116 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10119 return NDR_ERR_SUCCESS
;
10122 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
10125 level
= ndr_print_get_switch_value(ndr
, r
);
10126 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
10128 case DRSUAPI_DS_REPLICA_GET_INFO
:
10129 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
10132 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10133 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
10137 ndr_print_bad_level(ndr
, name
, level
);
10141 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
10143 if (ndr_flags
& NDR_SCALARS
) {
10144 NDR_CHECK(ndr_push_align(ndr
, 8));
10145 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
10146 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
10147 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
10148 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
10149 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
10150 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10151 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10152 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10153 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10154 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10155 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
10156 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
10157 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
10158 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
10159 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
10160 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
10161 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10163 if (ndr_flags
& NDR_BUFFERS
) {
10164 if (r
->naming_context_dn
) {
10165 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10166 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10167 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10168 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
));
10170 if (r
->source_dsa_obj_dn
) {
10171 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10172 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10173 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10174 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
));
10176 if (r
->source_dsa_address
) {
10177 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10178 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10179 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10180 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
));
10182 if (r
->transport_obj_dn
) {
10183 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10184 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10185 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10186 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
));
10189 return NDR_ERR_SUCCESS
;
10192 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
10194 uint32_t _ptr_naming_context_dn
;
10195 uint32_t size_naming_context_dn_1
= 0;
10196 uint32_t length_naming_context_dn_1
= 0;
10197 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
10198 uint32_t _ptr_source_dsa_obj_dn
;
10199 uint32_t size_source_dsa_obj_dn_1
= 0;
10200 uint32_t length_source_dsa_obj_dn_1
= 0;
10201 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
10202 uint32_t _ptr_source_dsa_address
;
10203 uint32_t size_source_dsa_address_1
= 0;
10204 uint32_t length_source_dsa_address_1
= 0;
10205 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
10206 uint32_t _ptr_transport_obj_dn
;
10207 uint32_t size_transport_obj_dn_1
= 0;
10208 uint32_t length_transport_obj_dn_1
= 0;
10209 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
10210 if (ndr_flags
& NDR_SCALARS
) {
10211 NDR_CHECK(ndr_pull_align(ndr
, 8));
10212 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
10213 if (_ptr_naming_context_dn
) {
10214 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
10216 r
->naming_context_dn
= NULL
;
10218 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
10219 if (_ptr_source_dsa_obj_dn
) {
10220 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
10222 r
->source_dsa_obj_dn
= NULL
;
10224 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
10225 if (_ptr_source_dsa_address
) {
10226 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
10228 r
->source_dsa_address
= NULL
;
10230 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
10231 if (_ptr_transport_obj_dn
) {
10232 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
10234 r
->transport_obj_dn
= NULL
;
10236 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
10237 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10238 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10239 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10240 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10241 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10242 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
10243 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
10244 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
10245 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
10246 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
10247 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
10248 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10250 if (ndr_flags
& NDR_BUFFERS
) {
10251 if (r
->naming_context_dn
) {
10252 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10253 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
10254 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
10255 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
10256 size_naming_context_dn_1
= ndr_get_array_size(ndr
, &r
->naming_context_dn
);
10257 length_naming_context_dn_1
= ndr_get_array_length(ndr
, &r
->naming_context_dn
);
10258 if (length_naming_context_dn_1
> size_naming_context_dn_1
) {
10259 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
);
10261 NDR_CHECK(ndr_check_string_terminator(ndr
, length_naming_context_dn_1
, sizeof(uint16_t)));
10262 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->naming_context_dn
, length_naming_context_dn_1
, sizeof(uint16_t), CH_UTF16
));
10263 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
10265 if (r
->source_dsa_obj_dn
) {
10266 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10267 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10268 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10269 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10270 size_source_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
);
10271 length_source_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
);
10272 if (length_source_dsa_obj_dn_1
> size_source_dsa_obj_dn_1
) {
10273 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
);
10275 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_obj_dn_1
, sizeof(uint16_t)));
10276 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_dn
, length_source_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
10277 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10279 if (r
->source_dsa_address
) {
10280 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10281 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10282 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10283 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10284 size_source_dsa_address_1
= ndr_get_array_size(ndr
, &r
->source_dsa_address
);
10285 length_source_dsa_address_1
= ndr_get_array_length(ndr
, &r
->source_dsa_address
);
10286 if (length_source_dsa_address_1
> size_source_dsa_address_1
) {
10287 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
);
10289 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_address_1
, sizeof(uint16_t)));
10290 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, length_source_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
10291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10293 if (r
->transport_obj_dn
) {
10294 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10295 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10296 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10297 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10298 size_transport_obj_dn_1
= ndr_get_array_size(ndr
, &r
->transport_obj_dn
);
10299 length_transport_obj_dn_1
= ndr_get_array_length(ndr
, &r
->transport_obj_dn
);
10300 if (length_transport_obj_dn_1
> size_transport_obj_dn_1
) {
10301 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
);
10303 NDR_CHECK(ndr_check_string_terminator(ndr
, length_transport_obj_dn_1
, sizeof(uint16_t)));
10304 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->transport_obj_dn
, length_transport_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
10305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10308 return NDR_ERR_SUCCESS
;
10311 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10313 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10315 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10317 if (r
->naming_context_dn
) {
10318 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10321 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10323 if (r
->source_dsa_obj_dn
) {
10324 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10327 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10329 if (r
->source_dsa_address
) {
10330 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10333 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10335 if (r
->transport_obj_dn
) {
10336 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10339 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
10340 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10341 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10342 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10343 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10344 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10345 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10346 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10347 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10348 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10349 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10350 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10354 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10356 uint32_t cntr_array_0
;
10357 if (ndr_flags
& NDR_SCALARS
) {
10358 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10359 NDR_CHECK(ndr_push_align(ndr
, 8));
10360 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10361 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10362 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10363 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10365 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10367 if (ndr_flags
& NDR_BUFFERS
) {
10368 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10369 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10372 return NDR_ERR_SUCCESS
;
10375 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10377 uint32_t size_array_0
= 0;
10378 uint32_t cntr_array_0
;
10379 TALLOC_CTX
*_mem_save_array_0
;
10380 if (ndr_flags
& NDR_SCALARS
) {
10381 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10382 NDR_CHECK(ndr_pull_align(ndr
, 8));
10383 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10384 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10385 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10386 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10387 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10388 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10389 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10392 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10394 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10396 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10398 if (ndr_flags
& NDR_BUFFERS
) {
10399 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10400 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10401 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10402 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10403 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10407 return NDR_ERR_SUCCESS
;
10410 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10412 uint32_t cntr_array_0
;
10413 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10415 ndr_print_uint32(ndr
, "count", r
->count
);
10416 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10417 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10419 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10421 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10422 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10430 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10432 uint32_t cntr_array_0
;
10433 if (ndr_flags
& NDR_SCALARS
) {
10434 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10435 NDR_CHECK(ndr_push_align(ndr
, 8));
10436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10437 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10438 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10439 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10441 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10443 if (ndr_flags
& NDR_BUFFERS
) {
10445 return NDR_ERR_SUCCESS
;
10448 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10450 uint32_t size_array_0
= 0;
10451 uint32_t cntr_array_0
;
10452 TALLOC_CTX
*_mem_save_array_0
;
10453 if (ndr_flags
& NDR_SCALARS
) {
10454 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10455 NDR_CHECK(ndr_pull_align(ndr
, 8));
10456 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10457 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10458 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10459 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10460 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10461 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10462 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10463 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10465 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10467 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10469 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10471 if (ndr_flags
& NDR_BUFFERS
) {
10473 return NDR_ERR_SUCCESS
;
10476 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10478 uint32_t cntr_array_0
;
10479 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10481 ndr_print_uint32(ndr
, "count", r
->count
);
10482 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10483 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10485 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10487 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10488 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10496 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10498 if (ndr_flags
& NDR_SCALARS
) {
10499 NDR_CHECK(ndr_push_align(ndr
, 8));
10500 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10501 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10502 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10503 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10504 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10505 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10506 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10508 if (ndr_flags
& NDR_BUFFERS
) {
10509 if (r
->attribute_name
) {
10510 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10511 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10512 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10513 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10516 return NDR_ERR_SUCCESS
;
10519 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10521 uint32_t _ptr_attribute_name
;
10522 uint32_t size_attribute_name_1
= 0;
10523 uint32_t length_attribute_name_1
= 0;
10524 TALLOC_CTX
*_mem_save_attribute_name_0
;
10525 if (ndr_flags
& NDR_SCALARS
) {
10526 NDR_CHECK(ndr_pull_align(ndr
, 8));
10527 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10528 if (_ptr_attribute_name
) {
10529 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10531 r
->attribute_name
= NULL
;
10533 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10534 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10535 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10536 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10537 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10538 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10540 if (ndr_flags
& NDR_BUFFERS
) {
10541 if (r
->attribute_name
) {
10542 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10543 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10544 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10545 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10546 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
10547 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
10548 if (length_attribute_name_1
> size_attribute_name_1
) {
10549 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
);
10551 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
10552 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
10553 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10556 return NDR_ERR_SUCCESS
;
10559 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10561 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10563 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10565 if (r
->attribute_name
) {
10566 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10569 ndr_print_uint32(ndr
, "version", r
->version
);
10570 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10571 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10572 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10573 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10577 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10579 uint32_t cntr_array_0
;
10580 if (ndr_flags
& NDR_SCALARS
) {
10581 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10582 NDR_CHECK(ndr_push_align(ndr
, 8));
10583 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10584 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10585 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10586 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10588 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10590 if (ndr_flags
& NDR_BUFFERS
) {
10591 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10592 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10595 return NDR_ERR_SUCCESS
;
10598 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10600 uint32_t size_array_0
= 0;
10601 uint32_t cntr_array_0
;
10602 TALLOC_CTX
*_mem_save_array_0
;
10603 if (ndr_flags
& NDR_SCALARS
) {
10604 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10605 NDR_CHECK(ndr_pull_align(ndr
, 8));
10606 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10607 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10608 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10609 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10610 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10611 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10612 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10613 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10615 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10617 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10619 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10621 if (ndr_flags
& NDR_BUFFERS
) {
10622 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10623 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10624 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10625 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10626 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10630 return NDR_ERR_SUCCESS
;
10633 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10635 uint32_t cntr_array_0
;
10636 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
10638 ndr_print_uint32(ndr
, "count", r
->count
);
10639 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10640 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10642 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10644 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10645 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10653 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10655 if (ndr_flags
& NDR_SCALARS
) {
10656 NDR_CHECK(ndr_push_align(ndr
, 5));
10657 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
10658 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10659 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
10660 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
10661 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
10662 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10664 if (ndr_flags
& NDR_BUFFERS
) {
10665 if (r
->dsa_obj_dn
) {
10666 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10667 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10668 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10669 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
));
10672 return NDR_ERR_SUCCESS
;
10675 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
10677 uint32_t _ptr_dsa_obj_dn
;
10678 uint32_t size_dsa_obj_dn_1
= 0;
10679 uint32_t length_dsa_obj_dn_1
= 0;
10680 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
10681 if (ndr_flags
& NDR_SCALARS
) {
10682 NDR_CHECK(ndr_pull_align(ndr
, 5));
10683 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
10684 if (_ptr_dsa_obj_dn
) {
10685 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
10687 r
->dsa_obj_dn
= NULL
;
10689 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10690 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
10691 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
10692 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
10693 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10695 if (ndr_flags
& NDR_BUFFERS
) {
10696 if (r
->dsa_obj_dn
) {
10697 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10698 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
10699 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
10700 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
10701 size_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->dsa_obj_dn
);
10702 length_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->dsa_obj_dn
);
10703 if (length_dsa_obj_dn_1
> size_dsa_obj_dn_1
) {
10704 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
);
10706 NDR_CHECK(ndr_check_string_terminator(ndr
, length_dsa_obj_dn_1
, sizeof(uint16_t)));
10707 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dsa_obj_dn
, length_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
10708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
10711 return NDR_ERR_SUCCESS
;
10714 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10716 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
10718 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10720 if (r
->dsa_obj_dn
) {
10721 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10724 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
10725 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
10726 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
10727 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
10731 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10733 uint32_t cntr_array_0
;
10734 if (ndr_flags
& NDR_SCALARS
) {
10735 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10736 NDR_CHECK(ndr_push_align(ndr
, 5));
10737 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10738 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10739 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10740 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10742 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10744 if (ndr_flags
& NDR_BUFFERS
) {
10745 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10746 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10749 return NDR_ERR_SUCCESS
;
10752 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10754 uint32_t size_array_0
= 0;
10755 uint32_t cntr_array_0
;
10756 TALLOC_CTX
*_mem_save_array_0
;
10757 if (ndr_flags
& NDR_SCALARS
) {
10758 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10759 NDR_CHECK(ndr_pull_align(ndr
, 5));
10760 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10761 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10762 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10763 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
10764 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10765 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10766 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10769 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10771 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10773 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10775 if (ndr_flags
& NDR_BUFFERS
) {
10776 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
10777 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10778 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10779 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
10780 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10784 return NDR_ERR_SUCCESS
;
10787 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10789 uint32_t cntr_array_0
;
10790 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
10792 ndr_print_uint32(ndr
, "count", r
->count
);
10793 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10794 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10796 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10798 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10799 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
10807 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
10809 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
10810 return NDR_ERR_SUCCESS
;
10813 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
10816 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
10818 return NDR_ERR_SUCCESS
;
10821 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
10823 const char *val
= NULL
;
10826 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10827 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10828 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10829 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10830 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10832 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10835 static enum ndr_err_code
ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRplicaOpOptions
*r
)
10837 if (ndr_flags
& NDR_SCALARS
) {
10838 int level
= ndr_push_get_switch_value(ndr
, r
);
10839 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, level
));
10840 NDR_CHECK(ndr_push_union_align(ndr
, 4));
10842 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
10843 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->sync
));
10846 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
10847 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->add
));
10850 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
10851 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->op_delete
));
10854 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
10855 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->modify
));
10858 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
10859 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->update_refs
));
10863 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
10868 if (ndr_flags
& NDR_BUFFERS
) {
10869 int level
= ndr_push_get_switch_value(ndr
, r
);
10871 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10874 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10877 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10880 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10883 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10891 return NDR_ERR_SUCCESS
;
10894 static enum ndr_err_code
ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRplicaOpOptions
*r
)
10898 level
= ndr_pull_get_switch_value(ndr
, r
);
10899 if (ndr_flags
& NDR_SCALARS
) {
10900 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
10901 if (_level
!= level
) {
10902 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
10904 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
10906 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
10907 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->sync
));
10910 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
10911 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->add
));
10914 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
10915 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->op_delete
));
10918 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
10919 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->modify
));
10922 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
10923 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->update_refs
));
10927 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
10932 if (ndr_flags
& NDR_BUFFERS
) {
10934 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10937 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10940 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10943 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10946 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10954 return NDR_ERR_SUCCESS
;
10957 _PUBLIC_
void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRplicaOpOptions
*r
)
10960 level
= ndr_print_get_switch_value(ndr
, r
);
10961 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRplicaOpOptions");
10963 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10964 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "sync", r
->sync
);
10967 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10968 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "add", r
->add
);
10971 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10972 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "op_delete", r
->op_delete
);
10975 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10976 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "modify", r
->modify
);
10979 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10980 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "update_refs", r
->update_refs
);
10984 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
10990 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
10992 if (ndr_flags
& NDR_SCALARS
) {
10993 NDR_CHECK(ndr_push_align(ndr
, 5));
10994 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
10995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
10996 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
10997 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
10998 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
10999 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
11000 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
11001 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
11002 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
11003 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
11004 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
11005 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11007 if (ndr_flags
& NDR_BUFFERS
) {
11009 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
11010 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11011 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
11012 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11014 if (r
->remote_dsa_obj_dn
) {
11015 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
11016 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11017 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
11018 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
));
11020 if (r
->remote_dsa_address
) {
11021 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
11022 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11023 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
11024 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
));
11027 return NDR_ERR_SUCCESS
;
11030 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
11032 uint32_t _ptr_nc_dn
;
11033 uint32_t size_nc_dn_1
= 0;
11034 uint32_t length_nc_dn_1
= 0;
11035 TALLOC_CTX
*_mem_save_nc_dn_0
;
11036 uint32_t _ptr_remote_dsa_obj_dn
;
11037 uint32_t size_remote_dsa_obj_dn_1
= 0;
11038 uint32_t length_remote_dsa_obj_dn_1
= 0;
11039 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
11040 uint32_t _ptr_remote_dsa_address
;
11041 uint32_t size_remote_dsa_address_1
= 0;
11042 uint32_t length_remote_dsa_address_1
= 0;
11043 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
11044 if (ndr_flags
& NDR_SCALARS
) {
11045 NDR_CHECK(ndr_pull_align(ndr
, 5));
11046 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
11047 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
11048 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
11049 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
11050 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
11051 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
11052 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
11054 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
11058 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
11059 if (_ptr_remote_dsa_obj_dn
) {
11060 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
11062 r
->remote_dsa_obj_dn
= NULL
;
11064 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
11065 if (_ptr_remote_dsa_address
) {
11066 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
11068 r
->remote_dsa_address
= NULL
;
11070 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
11071 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
11072 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11074 if (ndr_flags
& NDR_BUFFERS
) {
11076 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11077 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
11078 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
11079 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
11080 size_nc_dn_1
= ndr_get_array_size(ndr
, &r
->nc_dn
);
11081 length_nc_dn_1
= ndr_get_array_length(ndr
, &r
->nc_dn
);
11082 if (length_nc_dn_1
> size_nc_dn_1
) {
11083 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
);
11085 NDR_CHECK(ndr_check_string_terminator(ndr
, length_nc_dn_1
, sizeof(uint16_t)));
11086 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, length_nc_dn_1
, sizeof(uint16_t), CH_UTF16
));
11087 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
11089 if (r
->remote_dsa_obj_dn
) {
11090 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11091 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
11092 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
11093 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
11094 size_remote_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
);
11095 length_remote_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
);
11096 if (length_remote_dsa_obj_dn_1
> size_remote_dsa_obj_dn_1
) {
11097 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
);
11099 NDR_CHECK(ndr_check_string_terminator(ndr
, length_remote_dsa_obj_dn_1
, sizeof(uint16_t)));
11100 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_dn
, length_remote_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
11101 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
11103 if (r
->remote_dsa_address
) {
11104 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11105 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
11106 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
11107 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
11108 size_remote_dsa_address_1
= ndr_get_array_size(ndr
, &r
->remote_dsa_address
);
11109 length_remote_dsa_address_1
= ndr_get_array_length(ndr
, &r
->remote_dsa_address
);
11110 if (length_remote_dsa_address_1
> size_remote_dsa_address_1
) {
11111 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
);
11113 NDR_CHECK(ndr_check_string_terminator(ndr
, length_remote_dsa_address_1
, sizeof(uint16_t)));
11114 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->remote_dsa_address
, length_remote_dsa_address_1
, sizeof(uint16_t), CH_UTF16
));
11115 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
11118 return NDR_ERR_SUCCESS
;
11121 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
11123 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
11125 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
11126 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
11127 ndr_print_uint32(ndr
, "priority", r
->priority
);
11128 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
11129 ndr_print_set_switch_value(ndr
, &r
->options
, r
->operation_type
);
11130 ndr_print_drsuapi_DsRplicaOpOptions(ndr
, "options", &r
->options
);
11131 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
11134 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
11137 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
11139 if (r
->remote_dsa_obj_dn
) {
11140 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
11143 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
11145 if (r
->remote_dsa_address
) {
11146 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
11149 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
11150 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
11154 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
11156 uint32_t cntr_array_0
;
11157 if (ndr_flags
& NDR_SCALARS
) {
11158 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11159 NDR_CHECK(ndr_push_align(ndr
, 5));
11160 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
11161 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11162 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11163 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11165 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11167 if (ndr_flags
& NDR_BUFFERS
) {
11168 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11169 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11172 return NDR_ERR_SUCCESS
;
11175 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
11177 uint32_t size_array_0
= 0;
11178 uint32_t cntr_array_0
;
11179 TALLOC_CTX
*_mem_save_array_0
;
11180 if (ndr_flags
& NDR_SCALARS
) {
11181 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11182 NDR_CHECK(ndr_pull_align(ndr
, 5));
11183 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
11184 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11185 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11186 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
11187 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11188 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11189 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11190 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11192 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11194 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11196 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11198 if (ndr_flags
& NDR_BUFFERS
) {
11199 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11200 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11201 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11202 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11203 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11205 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11207 return NDR_ERR_SUCCESS
;
11210 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
11212 uint32_t cntr_array_0
;
11213 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
11215 ndr_print_NTTIME(ndr
, "time", r
->time
);
11216 ndr_print_uint32(ndr
, "count", r
->count
);
11217 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11219 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11221 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11222 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
11230 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11232 if (ndr_flags
& NDR_SCALARS
) {
11233 NDR_CHECK(ndr_push_align(ndr
, 8));
11234 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11235 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11236 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11237 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11238 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11239 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11241 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11242 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11243 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11244 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11245 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11247 if (ndr_flags
& NDR_BUFFERS
) {
11248 if (r
->attribute_name
) {
11249 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11250 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11251 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11252 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11254 if (r
->object_dn
) {
11255 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11256 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11257 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11258 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11261 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11264 return NDR_ERR_SUCCESS
;
11267 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
11269 uint32_t _ptr_attribute_name
;
11270 uint32_t size_attribute_name_1
= 0;
11271 uint32_t length_attribute_name_1
= 0;
11272 TALLOC_CTX
*_mem_save_attribute_name_0
;
11273 uint32_t _ptr_object_dn
;
11274 uint32_t size_object_dn_1
= 0;
11275 uint32_t length_object_dn_1
= 0;
11276 TALLOC_CTX
*_mem_save_object_dn_0
;
11277 uint32_t _ptr_binary
;
11278 TALLOC_CTX
*_mem_save_binary_0
;
11279 if (ndr_flags
& NDR_SCALARS
) {
11280 NDR_CHECK(ndr_pull_align(ndr
, 8));
11281 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11282 if (_ptr_attribute_name
) {
11283 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11285 r
->attribute_name
= NULL
;
11287 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11288 if (_ptr_object_dn
) {
11289 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11291 r
->object_dn
= NULL
;
11293 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11294 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11296 NDR_PULL_ALLOC(ndr
, r
->binary
);
11300 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11301 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11302 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11303 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11304 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11305 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11306 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11307 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11309 if (ndr_flags
& NDR_BUFFERS
) {
11310 if (r
->attribute_name
) {
11311 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11312 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11313 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11314 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11315 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
11316 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
11317 if (length_attribute_name_1
> size_attribute_name_1
) {
11318 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
);
11320 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
11321 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
11322 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11324 if (r
->object_dn
) {
11325 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11326 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11327 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11328 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11329 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
11330 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
11331 if (length_object_dn_1
> size_object_dn_1
) {
11332 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
);
11334 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
11335 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
11336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11339 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11340 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11341 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11342 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11345 return NDR_ERR_SUCCESS
;
11348 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11350 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
11352 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11354 if (r
->attribute_name
) {
11355 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11358 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11360 if (r
->object_dn
) {
11361 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11364 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
);
11365 ndr_print_ptr(ndr
, "binary", r
->binary
);
11368 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11371 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11372 ndr_print_NTTIME(ndr
, "created", r
->created
);
11373 ndr_print_uint32(ndr
, "version", r
->version
);
11374 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11375 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11376 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11377 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11381 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11383 uint32_t cntr_array_0
;
11384 if (ndr_flags
& NDR_SCALARS
) {
11385 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11386 NDR_CHECK(ndr_push_align(ndr
, 8));
11387 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11388 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11389 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11390 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11392 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11394 if (ndr_flags
& NDR_BUFFERS
) {
11395 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11396 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11399 return NDR_ERR_SUCCESS
;
11402 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11404 uint32_t size_array_0
= 0;
11405 uint32_t cntr_array_0
;
11406 TALLOC_CTX
*_mem_save_array_0
;
11407 if (ndr_flags
& NDR_SCALARS
) {
11408 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11409 NDR_CHECK(ndr_pull_align(ndr
, 8));
11410 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11411 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11412 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11413 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
11414 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11415 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11416 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11417 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11419 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11421 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11423 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11425 if (ndr_flags
& NDR_BUFFERS
) {
11426 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11427 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11428 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11429 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11430 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11434 return NDR_ERR_SUCCESS
;
11437 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11439 uint32_t cntr_array_0
;
11440 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
11442 ndr_print_uint32(ndr
, "count", r
->count
);
11443 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11444 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11446 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11448 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11449 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
11457 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11459 uint32_t cntr_array_0
;
11460 if (ndr_flags
& NDR_SCALARS
) {
11461 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11462 NDR_CHECK(ndr_push_align(ndr
, 8));
11463 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11464 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11465 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11466 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11468 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11470 if (ndr_flags
& NDR_BUFFERS
) {
11472 return NDR_ERR_SUCCESS
;
11475 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
11477 uint32_t size_array_0
= 0;
11478 uint32_t cntr_array_0
;
11479 TALLOC_CTX
*_mem_save_array_0
;
11480 if (ndr_flags
& NDR_SCALARS
) {
11481 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11482 NDR_CHECK(ndr_pull_align(ndr
, 8));
11483 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11484 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11485 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11486 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
11487 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11488 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11489 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11490 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11492 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11494 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11496 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11498 if (ndr_flags
& NDR_BUFFERS
) {
11500 return NDR_ERR_SUCCESS
;
11503 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11505 uint32_t cntr_array_0
;
11506 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11508 ndr_print_uint32(ndr
, "count", r
->count
);
11509 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11510 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11512 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11514 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11515 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11523 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11525 if (ndr_flags
& NDR_SCALARS
) {
11526 NDR_CHECK(ndr_push_align(ndr
, 8));
11527 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11528 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11529 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11530 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11531 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11533 if (ndr_flags
& NDR_BUFFERS
) {
11534 if (r
->source_dsa_obj_dn
) {
11535 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11536 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11537 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11538 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
));
11541 return NDR_ERR_SUCCESS
;
11544 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11546 uint32_t _ptr_source_dsa_obj_dn
;
11547 uint32_t size_source_dsa_obj_dn_1
= 0;
11548 uint32_t length_source_dsa_obj_dn_1
= 0;
11549 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11550 if (ndr_flags
& NDR_SCALARS
) {
11551 NDR_CHECK(ndr_pull_align(ndr
, 8));
11552 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11553 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11554 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11555 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11556 if (_ptr_source_dsa_obj_dn
) {
11557 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11559 r
->source_dsa_obj_dn
= NULL
;
11561 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11563 if (ndr_flags
& NDR_BUFFERS
) {
11564 if (r
->source_dsa_obj_dn
) {
11565 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11566 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11567 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11568 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11569 size_source_dsa_obj_dn_1
= ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
);
11570 length_source_dsa_obj_dn_1
= ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
);
11571 if (length_source_dsa_obj_dn_1
> size_source_dsa_obj_dn_1
) {
11572 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
);
11574 NDR_CHECK(ndr_check_string_terminator(ndr
, length_source_dsa_obj_dn_1
, sizeof(uint16_t)));
11575 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_dn
, length_source_dsa_obj_dn_1
, sizeof(uint16_t), CH_UTF16
));
11576 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11579 return NDR_ERR_SUCCESS
;
11582 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11584 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11586 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11587 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11588 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11589 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11591 if (r
->source_dsa_obj_dn
) {
11592 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11598 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11600 uint32_t cntr_array_0
;
11601 if (ndr_flags
& NDR_SCALARS
) {
11602 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11603 NDR_CHECK(ndr_push_align(ndr
, 8));
11604 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11605 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11606 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11607 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11609 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11611 if (ndr_flags
& NDR_BUFFERS
) {
11612 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11613 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11616 return NDR_ERR_SUCCESS
;
11619 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11621 uint32_t size_array_0
= 0;
11622 uint32_t cntr_array_0
;
11623 TALLOC_CTX
*_mem_save_array_0
;
11624 if (ndr_flags
& NDR_SCALARS
) {
11625 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11626 NDR_CHECK(ndr_pull_align(ndr
, 8));
11627 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11628 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11629 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11630 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
11631 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11632 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11633 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11636 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11638 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11640 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11642 if (ndr_flags
& NDR_BUFFERS
) {
11643 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11644 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11645 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11646 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11649 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11651 return NDR_ERR_SUCCESS
;
11654 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11656 uint32_t cntr_array_0
;
11657 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11659 ndr_print_uint32(ndr
, "count", r
->count
);
11660 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11661 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11663 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11665 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11666 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11674 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11676 if (ndr_flags
& NDR_SCALARS
) {
11677 NDR_CHECK(ndr_push_align(ndr
, 8));
11678 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11679 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11680 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11681 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11682 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11683 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11684 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11685 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11687 if (ndr_flags
& NDR_BUFFERS
) {
11688 if (r
->attribute_name
) {
11689 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11690 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11691 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11692 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11694 if (r
->originating_dsa_dn
) {
11695 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11696 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11697 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11698 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
));
11701 return NDR_ERR_SUCCESS
;
11704 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11706 uint32_t _ptr_attribute_name
;
11707 uint32_t size_attribute_name_1
= 0;
11708 uint32_t length_attribute_name_1
= 0;
11709 TALLOC_CTX
*_mem_save_attribute_name_0
;
11710 uint32_t _ptr_originating_dsa_dn
;
11711 uint32_t size_originating_dsa_dn_1
= 0;
11712 uint32_t length_originating_dsa_dn_1
= 0;
11713 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11714 if (ndr_flags
& NDR_SCALARS
) {
11715 NDR_CHECK(ndr_pull_align(ndr
, 8));
11716 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11717 if (_ptr_attribute_name
) {
11718 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11720 r
->attribute_name
= NULL
;
11722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11723 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11724 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11725 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11726 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11727 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11728 if (_ptr_originating_dsa_dn
) {
11729 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11731 r
->originating_dsa_dn
= NULL
;
11733 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11735 if (ndr_flags
& NDR_BUFFERS
) {
11736 if (r
->attribute_name
) {
11737 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11738 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11739 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11740 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11741 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
11742 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
11743 if (length_attribute_name_1
> size_attribute_name_1
) {
11744 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
);
11746 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
11747 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
11748 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11750 if (r
->originating_dsa_dn
) {
11751 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11752 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11753 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11754 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11755 size_originating_dsa_dn_1
= ndr_get_array_size(ndr
, &r
->originating_dsa_dn
);
11756 length_originating_dsa_dn_1
= ndr_get_array_length(ndr
, &r
->originating_dsa_dn
);
11757 if (length_originating_dsa_dn_1
> size_originating_dsa_dn_1
) {
11758 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
);
11760 NDR_CHECK(ndr_check_string_terminator(ndr
, length_originating_dsa_dn_1
, sizeof(uint16_t)));
11761 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->originating_dsa_dn
, length_originating_dsa_dn_1
, sizeof(uint16_t), CH_UTF16
));
11762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11765 return NDR_ERR_SUCCESS
;
11768 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11770 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11772 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11774 if (r
->attribute_name
) {
11775 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11778 ndr_print_uint32(ndr
, "version", r
->version
);
11779 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11780 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11781 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11782 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11783 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11785 if (r
->originating_dsa_dn
) {
11786 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11792 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11794 uint32_t cntr_array_0
;
11795 if (ndr_flags
& NDR_SCALARS
) {
11796 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11797 NDR_CHECK(ndr_push_align(ndr
, 8));
11798 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11799 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11800 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11801 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11803 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11805 if (ndr_flags
& NDR_BUFFERS
) {
11806 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11807 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11810 return NDR_ERR_SUCCESS
;
11813 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11815 uint32_t size_array_0
= 0;
11816 uint32_t cntr_array_0
;
11817 TALLOC_CTX
*_mem_save_array_0
;
11818 if (ndr_flags
& NDR_SCALARS
) {
11819 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11820 NDR_CHECK(ndr_pull_align(ndr
, 8));
11821 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11822 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11823 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11824 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
11825 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11826 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11827 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11828 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11830 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11832 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11834 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11836 if (ndr_flags
& NDR_BUFFERS
) {
11837 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
11838 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11839 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11840 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
11841 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11843 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11845 return NDR_ERR_SUCCESS
;
11848 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11850 uint32_t cntr_array_0
;
11851 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
11853 ndr_print_uint32(ndr
, "count", r
->count
);
11854 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11855 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11857 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11859 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11860 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11868 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11870 if (ndr_flags
& NDR_SCALARS
) {
11871 NDR_CHECK(ndr_push_align(ndr
, 8));
11872 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11873 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11874 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11875 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11876 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11877 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11878 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11879 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11880 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11881 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11882 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11883 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11884 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11886 if (ndr_flags
& NDR_BUFFERS
) {
11887 if (r
->attribute_name
) {
11888 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11889 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11890 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11891 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11893 if (r
->object_dn
) {
11894 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11895 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11896 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11897 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11900 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11902 if (r
->originating_dsa_dn
) {
11903 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11904 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11905 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11906 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
));
11909 return NDR_ERR_SUCCESS
;
11912 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11914 uint32_t _ptr_attribute_name
;
11915 uint32_t size_attribute_name_1
= 0;
11916 uint32_t length_attribute_name_1
= 0;
11917 TALLOC_CTX
*_mem_save_attribute_name_0
;
11918 uint32_t _ptr_object_dn
;
11919 uint32_t size_object_dn_1
= 0;
11920 uint32_t length_object_dn_1
= 0;
11921 TALLOC_CTX
*_mem_save_object_dn_0
;
11922 uint32_t _ptr_binary
;
11923 TALLOC_CTX
*_mem_save_binary_0
;
11924 uint32_t _ptr_originating_dsa_dn
;
11925 uint32_t size_originating_dsa_dn_1
= 0;
11926 uint32_t length_originating_dsa_dn_1
= 0;
11927 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11928 if (ndr_flags
& NDR_SCALARS
) {
11929 NDR_CHECK(ndr_pull_align(ndr
, 8));
11930 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11931 if (_ptr_attribute_name
) {
11932 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11934 r
->attribute_name
= NULL
;
11936 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11937 if (_ptr_object_dn
) {
11938 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11940 r
->object_dn
= NULL
;
11942 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11943 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11945 NDR_PULL_ALLOC(ndr
, r
->binary
);
11949 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11950 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11951 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11952 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11953 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11954 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11955 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11956 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11957 if (_ptr_originating_dsa_dn
) {
11958 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11960 r
->originating_dsa_dn
= NULL
;
11962 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11964 if (ndr_flags
& NDR_BUFFERS
) {
11965 if (r
->attribute_name
) {
11966 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11967 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11968 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11969 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11970 size_attribute_name_1
= ndr_get_array_size(ndr
, &r
->attribute_name
);
11971 length_attribute_name_1
= ndr_get_array_length(ndr
, &r
->attribute_name
);
11972 if (length_attribute_name_1
> size_attribute_name_1
) {
11973 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
);
11975 NDR_CHECK(ndr_check_string_terminator(ndr
, length_attribute_name_1
, sizeof(uint16_t)));
11976 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, length_attribute_name_1
, sizeof(uint16_t), CH_UTF16
));
11977 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11979 if (r
->object_dn
) {
11980 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11981 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11982 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11983 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11984 size_object_dn_1
= ndr_get_array_size(ndr
, &r
->object_dn
);
11985 length_object_dn_1
= ndr_get_array_length(ndr
, &r
->object_dn
);
11986 if (length_object_dn_1
> size_object_dn_1
) {
11987 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
);
11989 NDR_CHECK(ndr_check_string_terminator(ndr
, length_object_dn_1
, sizeof(uint16_t)));
11990 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, length_object_dn_1
, sizeof(uint16_t), CH_UTF16
));
11991 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11994 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11995 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11996 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11997 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11999 if (r
->originating_dsa_dn
) {
12000 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12001 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
12002 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
12003 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
12004 size_originating_dsa_dn_1
= ndr_get_array_size(ndr
, &r
->originating_dsa_dn
);
12005 length_originating_dsa_dn_1
= ndr_get_array_length(ndr
, &r
->originating_dsa_dn
);
12006 if (length_originating_dsa_dn_1
> size_originating_dsa_dn_1
) {
12007 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
);
12009 NDR_CHECK(ndr_check_string_terminator(ndr
, length_originating_dsa_dn_1
, sizeof(uint16_t)));
12010 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->originating_dsa_dn
, length_originating_dsa_dn_1
, sizeof(uint16_t), CH_UTF16
));
12011 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
12014 return NDR_ERR_SUCCESS
;
12017 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
12019 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
12021 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
12023 if (r
->attribute_name
) {
12024 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
12027 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
12029 if (r
->object_dn
) {
12030 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
12033 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
);
12034 ndr_print_ptr(ndr
, "binary", r
->binary
);
12037 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
12040 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
12041 ndr_print_NTTIME(ndr
, "created", r
->created
);
12042 ndr_print_uint32(ndr
, "version", r
->version
);
12043 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
12044 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
12045 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
12046 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
12047 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
12049 if (r
->originating_dsa_dn
) {
12050 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
12056 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
12058 uint32_t cntr_array_0
;
12059 if (ndr_flags
& NDR_SCALARS
) {
12060 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12061 NDR_CHECK(ndr_push_align(ndr
, 8));
12062 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12063 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
12064 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12065 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12067 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12069 if (ndr_flags
& NDR_BUFFERS
) {
12070 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12071 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12074 return NDR_ERR_SUCCESS
;
12077 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
12079 uint32_t size_array_0
= 0;
12080 uint32_t cntr_array_0
;
12081 TALLOC_CTX
*_mem_save_array_0
;
12082 if (ndr_flags
& NDR_SCALARS
) {
12083 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12084 NDR_CHECK(ndr_pull_align(ndr
, 8));
12085 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12086 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
12087 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
12088 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
12089 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12090 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12091 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
12092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12094 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12096 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12098 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12100 if (ndr_flags
& NDR_BUFFERS
) {
12101 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
12102 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12103 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12104 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
12105 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12107 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12109 return NDR_ERR_SUCCESS
;
12112 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
12114 uint32_t cntr_array_0
;
12115 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
12117 ndr_print_uint32(ndr
, "count", r
->count
);
12118 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
12119 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12121 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12123 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12124 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
12132 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
12134 if (ndr_flags
& NDR_SCALARS
) {
12135 NDR_CHECK(ndr_push_align(ndr
, 8));
12136 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
12137 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
12138 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
12139 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
12140 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
12142 uint32_t _flags_save_ipv4address
= ndr
->flags
;
12143 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
12144 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
12145 ndr
->flags
= _flags_save_ipv4address
;
12147 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
12148 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12150 if (ndr_flags
& NDR_BUFFERS
) {
12152 return NDR_ERR_SUCCESS
;
12155 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
12157 if (ndr_flags
& NDR_SCALARS
) {
12158 NDR_CHECK(ndr_pull_align(ndr
, 8));
12159 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
12160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
12161 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
12162 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
12163 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
12165 uint32_t _flags_save_ipv4address
= ndr
->flags
;
12166 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
12167 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
12168 ndr
->flags
= _flags_save_ipv4address
;
12170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
12171 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12173 if (ndr_flags
& NDR_BUFFERS
) {
12175 return NDR_ERR_SUCCESS
;
12178 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
12180 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
12182 ndr_print_hyper(ndr
, "u1", r
->u1
);
12183 ndr_print_uint32(ndr
, "u2", r
->u2
);
12184 ndr_print_uint32(ndr
, "u3", r
->u3
);
12185 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
12186 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
12187 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
12188 ndr_print_uint32(ndr
, "u5", r
->u5
);
12192 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
12194 uint32_t cntr_array_0
;
12195 if (ndr_flags
& NDR_SCALARS
) {
12196 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12197 NDR_CHECK(ndr_push_align(ndr
, 8));
12198 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12199 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
12200 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12201 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12203 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12205 if (ndr_flags
& NDR_BUFFERS
) {
12207 return NDR_ERR_SUCCESS
;
12210 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
12212 uint32_t size_array_0
= 0;
12213 uint32_t cntr_array_0
;
12214 TALLOC_CTX
*_mem_save_array_0
;
12215 if (ndr_flags
& NDR_SCALARS
) {
12216 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12217 NDR_CHECK(ndr_pull_align(ndr
, 8));
12218 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12219 if (r
->count
> 10000) {
12220 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12222 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12223 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
12224 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
12225 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12226 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12227 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
12228 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12230 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12232 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12234 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12236 if (ndr_flags
& NDR_BUFFERS
) {
12238 return NDR_ERR_SUCCESS
;
12241 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
12243 uint32_t cntr_array_0
;
12244 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
12246 ndr_print_uint32(ndr
, "count", r
->count
);
12247 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12248 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12250 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12252 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12253 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
12261 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
12263 if (ndr_flags
& NDR_SCALARS
) {
12264 NDR_CHECK(ndr_push_align(ndr
, 8));
12265 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
12266 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
12267 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
12268 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
12269 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
12270 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
12271 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
12272 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
12273 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12275 if (ndr_flags
& NDR_BUFFERS
) {
12277 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12278 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12279 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12280 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12283 return NDR_ERR_SUCCESS
;
12286 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
12288 uint32_t _ptr_str1
;
12289 uint32_t size_str1_1
= 0;
12290 uint32_t length_str1_1
= 0;
12291 TALLOC_CTX
*_mem_save_str1_0
;
12292 if (ndr_flags
& NDR_SCALARS
) {
12293 NDR_CHECK(ndr_pull_align(ndr
, 8));
12294 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
12296 NDR_PULL_ALLOC(ndr
, r
->str1
);
12300 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
12301 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
12302 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
12303 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
12304 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
12305 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
12306 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
12307 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12309 if (ndr_flags
& NDR_BUFFERS
) {
12311 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12312 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
12313 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
12314 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
12315 size_str1_1
= ndr_get_array_size(ndr
, &r
->str1
);
12316 length_str1_1
= ndr_get_array_length(ndr
, &r
->str1
);
12317 if (length_str1_1
> size_str1_1
) {
12318 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", size_str1_1
, length_str1_1
);
12320 NDR_CHECK(ndr_check_string_terminator(ndr
, length_str1_1
, sizeof(uint16_t)));
12321 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, length_str1_1
, sizeof(uint16_t), CH_UTF16
));
12322 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
12325 return NDR_ERR_SUCCESS
;
12328 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
12330 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
12332 ndr_print_ptr(ndr
, "str1", r
->str1
);
12335 ndr_print_string(ndr
, "str1", r
->str1
);
12338 ndr_print_uint32(ndr
, "u1", r
->u1
);
12339 ndr_print_uint32(ndr
, "u2", r
->u2
);
12340 ndr_print_uint32(ndr
, "u3", r
->u3
);
12341 ndr_print_uint32(ndr
, "u4", r
->u4
);
12342 ndr_print_uint32(ndr
, "u5", r
->u5
);
12343 ndr_print_hyper(ndr
, "u6", r
->u6
);
12344 ndr_print_uint32(ndr
, "u7", r
->u7
);
12348 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
12350 uint32_t cntr_array_0
;
12351 if (ndr_flags
& NDR_SCALARS
) {
12352 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12353 NDR_CHECK(ndr_push_align(ndr
, 8));
12354 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12355 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
12356 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12357 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12359 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12361 if (ndr_flags
& NDR_BUFFERS
) {
12362 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12363 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12366 return NDR_ERR_SUCCESS
;
12369 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
12371 uint32_t size_array_0
= 0;
12372 uint32_t cntr_array_0
;
12373 TALLOC_CTX
*_mem_save_array_0
;
12374 if (ndr_flags
& NDR_SCALARS
) {
12375 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12376 NDR_CHECK(ndr_pull_align(ndr
, 8));
12377 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12378 if (r
->count
> 256) {
12379 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12381 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12382 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
12383 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
12384 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12385 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12386 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
12387 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12391 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12393 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12395 if (ndr_flags
& NDR_BUFFERS
) {
12396 size_array_0
= ndr_get_array_size(ndr
, &r
->array
);
12397 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12398 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12399 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
12400 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12402 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12404 return NDR_ERR_SUCCESS
;
12407 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
12409 uint32_t cntr_array_0
;
12410 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
12412 ndr_print_uint32(ndr
, "count", r
->count
);
12413 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12414 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12416 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12418 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12419 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
12427 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
12429 if (ndr_flags
& NDR_SCALARS
) {
12430 int level
= ndr_push_get_switch_value(ndr
, r
);
12431 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
12432 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12434 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12435 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
12438 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12439 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
12442 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12443 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
12446 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12447 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
12450 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12451 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
12454 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12455 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
12458 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12459 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
12462 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12463 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
12466 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12467 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
12470 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12471 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
12474 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12475 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
12478 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12479 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours02
));
12482 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12483 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connections04
));
12486 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12487 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors05
));
12490 case DRSUAPI_DS_REPLICA_INFO_06
: {
12491 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->i06
));
12495 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12498 if (ndr_flags
& NDR_BUFFERS
) {
12499 int level
= ndr_push_get_switch_value(ndr
, r
);
12501 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12502 if (r
->neighbours
) {
12503 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12507 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12509 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12513 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12514 if (r
->objmetadata
) {
12515 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12519 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12520 if (r
->connectfailures
) {
12521 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12525 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12526 if (r
->linkfailures
) {
12527 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12531 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12532 if (r
->pendingops
) {
12533 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12537 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12538 if (r
->attrvalmetadata
) {
12539 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12543 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12545 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12549 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12551 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12555 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12556 if (r
->objmetadata2
) {
12557 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12561 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12562 if (r
->attrvalmetadata2
) {
12563 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12567 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12568 if (r
->neighbours02
) {
12569 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12573 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12574 if (r
->connections04
) {
12575 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12579 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12580 if (r
->cursors05
) {
12581 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12585 case DRSUAPI_DS_REPLICA_INFO_06
:
12587 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12592 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12595 return NDR_ERR_SUCCESS
;
12598 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12602 TALLOC_CTX
*_mem_save_neighbours_0
;
12603 uint32_t _ptr_neighbours
;
12604 TALLOC_CTX
*_mem_save_cursors_0
;
12605 uint32_t _ptr_cursors
;
12606 TALLOC_CTX
*_mem_save_objmetadata_0
;
12607 uint32_t _ptr_objmetadata
;
12608 TALLOC_CTX
*_mem_save_connectfailures_0
;
12609 uint32_t _ptr_connectfailures
;
12610 TALLOC_CTX
*_mem_save_linkfailures_0
;
12611 uint32_t _ptr_linkfailures
;
12612 TALLOC_CTX
*_mem_save_pendingops_0
;
12613 uint32_t _ptr_pendingops
;
12614 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12615 uint32_t _ptr_attrvalmetadata
;
12616 TALLOC_CTX
*_mem_save_cursors2_0
;
12617 uint32_t _ptr_cursors2
;
12618 TALLOC_CTX
*_mem_save_cursors3_0
;
12619 uint32_t _ptr_cursors3
;
12620 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12621 uint32_t _ptr_objmetadata2
;
12622 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12623 uint32_t _ptr_attrvalmetadata2
;
12624 TALLOC_CTX
*_mem_save_neighbours02_0
;
12625 uint32_t _ptr_neighbours02
;
12626 TALLOC_CTX
*_mem_save_connections04_0
;
12627 uint32_t _ptr_connections04
;
12628 TALLOC_CTX
*_mem_save_cursors05_0
;
12629 uint32_t _ptr_cursors05
;
12630 TALLOC_CTX
*_mem_save_i06_0
;
12632 level
= ndr_pull_get_switch_value(ndr
, r
);
12633 if (ndr_flags
& NDR_SCALARS
) {
12634 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12635 if (_level
!= level
) {
12636 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12638 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12640 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12641 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12642 if (_ptr_neighbours
) {
12643 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12645 r
->neighbours
= NULL
;
12649 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12650 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12651 if (_ptr_cursors
) {
12652 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12658 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12659 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12660 if (_ptr_objmetadata
) {
12661 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12663 r
->objmetadata
= NULL
;
12667 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12668 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12669 if (_ptr_connectfailures
) {
12670 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12672 r
->connectfailures
= NULL
;
12676 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12677 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12678 if (_ptr_linkfailures
) {
12679 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12681 r
->linkfailures
= NULL
;
12685 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12686 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12687 if (_ptr_pendingops
) {
12688 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12690 r
->pendingops
= NULL
;
12694 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12695 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12696 if (_ptr_attrvalmetadata
) {
12697 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12699 r
->attrvalmetadata
= NULL
;
12703 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12704 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12705 if (_ptr_cursors2
) {
12706 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12708 r
->cursors2
= NULL
;
12712 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12713 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12714 if (_ptr_cursors3
) {
12715 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12717 r
->cursors3
= NULL
;
12721 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12722 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12723 if (_ptr_objmetadata2
) {
12724 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12726 r
->objmetadata2
= NULL
;
12730 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12731 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12732 if (_ptr_attrvalmetadata2
) {
12733 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12735 r
->attrvalmetadata2
= NULL
;
12739 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12740 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours02
));
12741 if (_ptr_neighbours02
) {
12742 NDR_PULL_ALLOC(ndr
, r
->neighbours02
);
12744 r
->neighbours02
= NULL
;
12748 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12749 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connections04
));
12750 if (_ptr_connections04
) {
12751 NDR_PULL_ALLOC(ndr
, r
->connections04
);
12753 r
->connections04
= NULL
;
12757 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12758 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors05
));
12759 if (_ptr_cursors05
) {
12760 NDR_PULL_ALLOC(ndr
, r
->cursors05
);
12762 r
->cursors05
= NULL
;
12766 case DRSUAPI_DS_REPLICA_INFO_06
: {
12767 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_i06
));
12769 NDR_PULL_ALLOC(ndr
, r
->i06
);
12776 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12779 if (ndr_flags
& NDR_BUFFERS
) {
12781 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12782 if (r
->neighbours
) {
12783 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12784 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12785 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12786 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12790 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12792 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12793 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12794 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12795 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12799 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12800 if (r
->objmetadata
) {
12801 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12802 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12803 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12804 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12808 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12809 if (r
->connectfailures
) {
12810 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12811 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12812 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12813 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12817 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12818 if (r
->linkfailures
) {
12819 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12820 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12821 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12822 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12826 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12827 if (r
->pendingops
) {
12828 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12829 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12830 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12831 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12835 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12836 if (r
->attrvalmetadata
) {
12837 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12838 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12839 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12840 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12844 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12846 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12847 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12848 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12849 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12853 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12855 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12856 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12857 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12858 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
12862 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12863 if (r
->objmetadata2
) {
12864 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12865 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
12866 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
12871 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12872 if (r
->attrvalmetadata2
) {
12873 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12874 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
12875 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12876 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
12880 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12881 if (r
->neighbours02
) {
12882 _mem_save_neighbours02_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12883 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours02
, 0);
12884 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12885 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours02_0
, 0);
12889 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12890 if (r
->connections04
) {
12891 _mem_save_connections04_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12892 NDR_PULL_SET_MEM_CTX(ndr
, r
->connections04
, 0);
12893 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12894 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connections04_0
, 0);
12898 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12899 if (r
->cursors05
) {
12900 _mem_save_cursors05_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12901 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors05
, 0);
12902 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12903 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors05_0
, 0);
12907 case DRSUAPI_DS_REPLICA_INFO_06
:
12909 _mem_save_i06_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12910 NDR_PULL_SET_MEM_CTX(ndr
, r
->i06
, 0);
12911 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12912 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_i06_0
, 0);
12917 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12920 return NDR_ERR_SUCCESS
;
12923 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
12926 level
= ndr_print_get_switch_value(ndr
, r
);
12927 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
12929 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12930 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
12932 if (r
->neighbours
) {
12933 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
12938 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12939 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
12942 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
12947 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12948 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
12950 if (r
->objmetadata
) {
12951 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
12956 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12957 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
12959 if (r
->connectfailures
) {
12960 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
12965 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12966 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
12968 if (r
->linkfailures
) {
12969 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
12974 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12975 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
12977 if (r
->pendingops
) {
12978 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
12983 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12984 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12986 if (r
->attrvalmetadata
) {
12987 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12992 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12993 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
12996 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
13001 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
13002 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
13005 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
13010 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
13011 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
13013 if (r
->objmetadata2
) {
13014 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
13019 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
13020 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
13022 if (r
->attrvalmetadata2
) {
13023 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
13028 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
13029 ndr_print_ptr(ndr
, "neighbours02", r
->neighbours02
);
13031 if (r
->neighbours02
) {
13032 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours02", r
->neighbours02
);
13037 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
13038 ndr_print_ptr(ndr
, "connections04", r
->connections04
);
13040 if (r
->connections04
) {
13041 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "connections04", r
->connections04
);
13046 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
13047 ndr_print_ptr(ndr
, "cursors05", r
->cursors05
);
13049 if (r
->cursors05
) {
13050 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "cursors05", r
->cursors05
);
13055 case DRSUAPI_DS_REPLICA_INFO_06
:
13056 ndr_print_ptr(ndr
, "i06", r
->i06
);
13059 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "i06", r
->i06
);
13065 ndr_print_bad_level(ndr
, name
, level
);
13069 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
13071 if (ndr_flags
& NDR_SCALARS
) {
13072 int level
= ndr_push_get_switch_value(ndr
, r
);
13073 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13074 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13077 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13081 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13084 if (ndr_flags
& NDR_BUFFERS
) {
13085 int level
= ndr_push_get_switch_value(ndr
, r
);
13088 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13092 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13095 return NDR_ERR_SUCCESS
;
13098 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
13102 level
= ndr_pull_get_switch_value(ndr
, r
);
13103 if (ndr_flags
& NDR_SCALARS
) {
13104 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13105 if (_level
!= level
) {
13106 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13108 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13111 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13115 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13118 if (ndr_flags
& NDR_BUFFERS
) {
13121 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13125 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13128 return NDR_ERR_SUCCESS
;
13131 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
13134 level
= ndr_print_get_switch_value(ndr
, r
);
13135 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
13138 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
13142 ndr_print_bad_level(ndr
, name
, level
);
13146 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
13148 uint32_t cntr_req_array_1
;
13149 if (ndr_flags
& NDR_SCALARS
) {
13150 NDR_CHECK(ndr_push_align(ndr
, 5));
13151 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13152 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
13153 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13155 if (ndr_flags
& NDR_BUFFERS
) {
13156 if (r
->req_array
) {
13157 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13158 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
13159 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
13161 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
13162 if (r
->req_array
[cntr_req_array_1
]) {
13163 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
13168 return NDR_ERR_SUCCESS
;
13171 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
13173 uint32_t _ptr_req_array
;
13174 uint32_t size_req_array_1
= 0;
13175 uint32_t cntr_req_array_1
;
13176 TALLOC_CTX
*_mem_save_req_array_0
;
13177 TALLOC_CTX
*_mem_save_req_array_1
;
13178 TALLOC_CTX
*_mem_save_req_array_2
;
13179 if (ndr_flags
& NDR_SCALARS
) {
13180 NDR_CHECK(ndr_pull_align(ndr
, 5));
13181 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13182 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13183 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13185 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
13186 if (_ptr_req_array
) {
13187 NDR_PULL_ALLOC(ndr
, r
->req_array
);
13189 r
->req_array
= NULL
;
13191 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13193 if (ndr_flags
& NDR_BUFFERS
) {
13194 if (r
->req_array
) {
13195 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13196 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
13197 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
13198 size_req_array_1
= ndr_get_array_size(ndr
, &r
->req_array
);
13199 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, size_req_array_1
);
13200 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13201 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
13202 for (cntr_req_array_1
= 0; cntr_req_array_1
< size_req_array_1
; cntr_req_array_1
++) {
13203 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
13204 if (_ptr_req_array
) {
13205 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
13207 r
->req_array
[cntr_req_array_1
] = NULL
;
13210 for (cntr_req_array_1
= 0; cntr_req_array_1
< size_req_array_1
; cntr_req_array_1
++) {
13211 if (r
->req_array
[cntr_req_array_1
]) {
13212 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13213 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
13214 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
13215 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
13218 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
13219 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
13221 if (r
->req_array
) {
13222 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
13225 return NDR_ERR_SUCCESS
;
13228 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
13230 uint32_t cntr_req_array_1
;
13231 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
13233 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13234 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
13236 if (r
->req_array
) {
13237 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
13239 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
13241 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
13242 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13244 if (r
->req_array
[cntr_req_array_1
]) {
13245 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13257 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
13259 if (ndr_flags
& NDR_SCALARS
) {
13260 int level
= ndr_push_get_switch_value(ndr
, r
);
13261 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13262 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13265 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13269 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13272 if (ndr_flags
& NDR_BUFFERS
) {
13273 int level
= ndr_push_get_switch_value(ndr
, r
);
13276 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13280 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13283 return NDR_ERR_SUCCESS
;
13286 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
13290 level
= ndr_pull_get_switch_value(ndr
, r
);
13291 if (ndr_flags
& NDR_SCALARS
) {
13292 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13293 if (_level
!= level
) {
13294 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13296 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13299 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13303 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13306 if (ndr_flags
& NDR_BUFFERS
) {
13309 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13313 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13316 return NDR_ERR_SUCCESS
;
13319 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
13322 level
= ndr_print_get_switch_value(ndr
, r
);
13323 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
13326 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
13330 ndr_print_bad_level(ndr
, name
, level
);
13334 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
13336 if (ndr_flags
& NDR_SCALARS
) {
13337 NDR_CHECK(ndr_push_align(ndr
, 4));
13338 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
13339 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
13340 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
13342 if (ndr_flags
& NDR_BUFFERS
) {
13344 return NDR_ERR_SUCCESS
;
13347 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
13349 if (ndr_flags
& NDR_SCALARS
) {
13350 NDR_CHECK(ndr_pull_align(ndr
, 4));
13351 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
13352 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
13353 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
13355 if (ndr_flags
& NDR_BUFFERS
) {
13357 return NDR_ERR_SUCCESS
;
13360 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
13362 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
13364 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
13365 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
13369 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13371 uint32_t cntr_info_1
;
13372 if (ndr_flags
& NDR_SCALARS
) {
13373 NDR_CHECK(ndr_push_align(ndr
, 5));
13374 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
13375 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
13376 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
13377 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13379 if (ndr_flags
& NDR_BUFFERS
) {
13381 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
13382 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13383 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13387 return NDR_ERR_SUCCESS
;
13390 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
13392 uint32_t _ptr_info
;
13393 uint32_t size_info_1
= 0;
13394 uint32_t cntr_info_1
;
13395 TALLOC_CTX
*_mem_save_info_0
;
13396 TALLOC_CTX
*_mem_save_info_1
;
13397 if (ndr_flags
& NDR_SCALARS
) {
13398 NDR_CHECK(ndr_pull_align(ndr
, 5));
13399 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
13400 if (r
->num_info
> 10000) {
13401 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13403 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
13405 NDR_PULL_ALLOC(ndr
, r
->info
);
13409 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
13410 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13412 if (ndr_flags
& NDR_BUFFERS
) {
13414 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13415 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13416 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
13417 size_info_1
= ndr_get_array_size(ndr
, &r
->info
);
13418 NDR_PULL_ALLOC_N(ndr
, r
->info
, size_info_1
);
13419 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13420 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13421 for (cntr_info_1
= 0; cntr_info_1
< size_info_1
; cntr_info_1
++) {
13422 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13424 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
13425 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
13428 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
13431 return NDR_ERR_SUCCESS
;
13434 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13436 uint32_t cntr_info_1
;
13437 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
13439 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
13440 ndr_print_ptr(ndr
, "info", r
->info
);
13443 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
13445 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
13447 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
13448 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
13455 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
13459 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
13461 if (ndr_flags
& NDR_SCALARS
) {
13462 int level
= ndr_push_get_switch_value(ndr
, r
);
13463 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13464 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13467 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13471 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13474 if (ndr_flags
& NDR_BUFFERS
) {
13475 int level
= ndr_push_get_switch_value(ndr
, r
);
13478 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13482 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13485 return NDR_ERR_SUCCESS
;
13488 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
13492 level
= ndr_pull_get_switch_value(ndr
, r
);
13493 if (ndr_flags
& NDR_SCALARS
) {
13494 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13495 if (_level
!= level
) {
13496 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13498 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13501 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13505 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13508 if (ndr_flags
& NDR_BUFFERS
) {
13511 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13515 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13518 return NDR_ERR_SUCCESS
;
13521 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
13524 level
= ndr_print_get_switch_value(ndr
, r
);
13525 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13528 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13532 ndr_print_bad_level(ndr
, name
, level
);
13536 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13538 uint32_t cntr_site_to_1
;
13539 if (ndr_flags
& NDR_SCALARS
) {
13540 NDR_CHECK(ndr_push_align(ndr
, 5));
13541 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13542 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13543 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13544 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13545 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13547 if (ndr_flags
& NDR_BUFFERS
) {
13548 if (r
->site_from
) {
13549 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13550 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13551 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13552 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13555 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13556 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13557 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13559 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13560 if (r
->site_to
[cntr_site_to_1
]) {
13561 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13562 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13563 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13564 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
));
13569 return NDR_ERR_SUCCESS
;
13572 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13574 uint32_t _ptr_site_from
;
13575 uint32_t size_site_from_1
= 0;
13576 uint32_t length_site_from_1
= 0;
13577 TALLOC_CTX
*_mem_save_site_from_0
;
13578 uint32_t _ptr_site_to
;
13579 uint32_t size_site_to_1
= 0;
13580 uint32_t cntr_site_to_1
;
13581 uint32_t size_site_to_3
= 0;
13582 uint32_t length_site_to_3
= 0;
13583 TALLOC_CTX
*_mem_save_site_to_0
;
13584 TALLOC_CTX
*_mem_save_site_to_1
;
13585 TALLOC_CTX
*_mem_save_site_to_2
;
13586 if (ndr_flags
& NDR_SCALARS
) {
13587 NDR_CHECK(ndr_pull_align(ndr
, 5));
13588 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13589 if (_ptr_site_from
) {
13590 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13592 r
->site_from
= NULL
;
13594 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13595 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13596 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13598 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13599 if (_ptr_site_to
) {
13600 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13604 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13605 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13607 if (ndr_flags
& NDR_BUFFERS
) {
13608 if (r
->site_from
) {
13609 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13610 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13611 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13612 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13613 size_site_from_1
= ndr_get_array_size(ndr
, &r
->site_from
);
13614 length_site_from_1
= ndr_get_array_length(ndr
, &r
->site_from
);
13615 if (length_site_from_1
> size_site_from_1
) {
13616 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
);
13618 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_from_1
, sizeof(uint16_t)));
13619 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, length_site_from_1
, sizeof(uint16_t), CH_UTF16
));
13620 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13623 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13624 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13625 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13626 size_site_to_1
= ndr_get_array_size(ndr
, &r
->site_to
);
13627 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, size_site_to_1
);
13628 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13629 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13630 for (cntr_site_to_1
= 0; cntr_site_to_1
< size_site_to_1
; cntr_site_to_1
++) {
13631 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13632 if (_ptr_site_to
) {
13633 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13635 r
->site_to
[cntr_site_to_1
] = NULL
;
13638 for (cntr_site_to_1
= 0; cntr_site_to_1
< size_site_to_1
; cntr_site_to_1
++) {
13639 if (r
->site_to
[cntr_site_to_1
]) {
13640 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13641 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13642 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13643 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13644 size_site_to_3
= ndr_get_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]);
13645 length_site_to_3
= ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]);
13646 if (length_site_to_3
> size_site_to_3
) {
13647 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
);
13649 NDR_CHECK(ndr_check_string_terminator(ndr
, length_site_to_3
, sizeof(uint16_t)));
13650 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_to
[cntr_site_to_1
], length_site_to_3
, sizeof(uint16_t), CH_UTF16
));
13651 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13654 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13655 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13658 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13661 return NDR_ERR_SUCCESS
;
13664 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13666 uint32_t cntr_site_to_1
;
13667 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13669 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13671 if (r
->site_from
) {
13672 ndr_print_string(ndr
, "site_from", r
->site_from
);
13675 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13676 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13679 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13681 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13683 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13684 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13686 if (r
->site_to
[cntr_site_to_1
]) {
13687 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13696 ndr_print_uint32(ndr
, "flags", r
->flags
);
13700 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13702 if (ndr_flags
& NDR_SCALARS
) {
13703 int level
= ndr_push_get_switch_value(ndr
, r
);
13704 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13705 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13708 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13712 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13715 if (ndr_flags
& NDR_BUFFERS
) {
13716 int level
= ndr_push_get_switch_value(ndr
, r
);
13719 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13723 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13726 return NDR_ERR_SUCCESS
;
13729 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13733 level
= ndr_pull_get_switch_value(ndr
, r
);
13734 if (ndr_flags
& NDR_SCALARS
) {
13735 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13736 if (_level
!= level
) {
13737 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13739 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13742 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13746 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13749 if (ndr_flags
& NDR_BUFFERS
) {
13752 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13756 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13759 return NDR_ERR_SUCCESS
;
13762 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13765 level
= ndr_print_get_switch_value(ndr
, r
);
13766 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13769 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13773 ndr_print_bad_level(ndr
, name
, level
);
13777 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13779 if (flags
& NDR_IN
) {
13780 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13781 if (r
->in
.bind_guid
) {
13782 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13784 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13785 if (r
->in
.bind_info
) {
13786 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13789 if (flags
& NDR_OUT
) {
13790 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13791 if (r
->out
.bind_info
) {
13792 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13794 if (r
->out
.bind_handle
== NULL
) {
13795 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13797 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13798 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13800 return NDR_ERR_SUCCESS
;
13803 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13805 uint32_t _ptr_bind_guid
;
13806 uint32_t _ptr_bind_info
;
13807 TALLOC_CTX
*_mem_save_bind_guid_0
;
13808 TALLOC_CTX
*_mem_save_bind_info_0
;
13809 TALLOC_CTX
*_mem_save_bind_handle_0
;
13810 if (flags
& NDR_IN
) {
13811 ZERO_STRUCT(r
->out
);
13813 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13814 if (_ptr_bind_guid
) {
13815 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13817 r
->in
.bind_guid
= NULL
;
13819 if (r
->in
.bind_guid
) {
13820 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13821 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13822 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13825 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13826 if (_ptr_bind_info
) {
13827 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13829 r
->in
.bind_info
= NULL
;
13831 if (r
->in
.bind_info
) {
13832 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13833 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13834 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13837 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13838 ZERO_STRUCTP(r
->out
.bind_handle
);
13840 if (flags
& NDR_OUT
) {
13841 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13842 if (_ptr_bind_info
) {
13843 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13845 r
->out
.bind_info
= NULL
;
13847 if (r
->out
.bind_info
) {
13848 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13849 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13850 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13851 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13853 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13854 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13856 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13857 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13858 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13859 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13860 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13862 return NDR_ERR_SUCCESS
;
13865 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13867 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13869 if (flags
& NDR_SET_VALUES
) {
13870 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13872 if (flags
& NDR_IN
) {
13873 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
13875 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
13877 if (r
->in
.bind_guid
) {
13878 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
13881 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
13883 if (r
->in
.bind_info
) {
13884 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
13889 if (flags
& NDR_OUT
) {
13890 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
13892 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
13894 if (r
->out
.bind_info
) {
13895 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
13898 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13900 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13902 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13908 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
13910 if (flags
& NDR_IN
) {
13911 if (r
->in
.bind_handle
== NULL
) {
13912 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13914 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13916 if (flags
& NDR_OUT
) {
13917 if (r
->out
.bind_handle
== NULL
) {
13918 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13920 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13921 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13923 return NDR_ERR_SUCCESS
;
13926 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
13928 TALLOC_CTX
*_mem_save_bind_handle_0
;
13929 if (flags
& NDR_IN
) {
13930 ZERO_STRUCT(r
->out
);
13932 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13933 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13935 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13936 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13937 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13938 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13939 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13940 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
13942 if (flags
& NDR_OUT
) {
13943 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13944 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13946 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13947 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13948 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13949 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13950 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13952 return NDR_ERR_SUCCESS
;
13955 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
13957 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
13959 if (flags
& NDR_SET_VALUES
) {
13960 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13962 if (flags
& NDR_IN
) {
13963 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
13965 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13967 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13971 if (flags
& NDR_OUT
) {
13972 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
13974 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13976 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13978 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13984 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13986 if (flags
& NDR_IN
) {
13987 if (r
->in
.bind_handle
== NULL
) {
13988 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13990 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13991 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13992 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13993 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13995 if (flags
& NDR_OUT
) {
13996 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13998 return NDR_ERR_SUCCESS
;
14001 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
14003 TALLOC_CTX
*_mem_save_bind_handle_0
;
14004 if (flags
& NDR_IN
) {
14005 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14006 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14008 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14009 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14010 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14011 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14012 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14013 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14014 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14016 if (flags
& NDR_OUT
) {
14017 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14019 return NDR_ERR_SUCCESS
;
14022 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
14024 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
14026 if (flags
& NDR_SET_VALUES
) {
14027 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14029 if (flags
& NDR_IN
) {
14030 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
14032 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14034 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14036 ndr_print_int32(ndr
, "level", r
->in
.level
);
14037 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14038 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", &r
->in
.req
);
14041 if (flags
& NDR_OUT
) {
14042 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
14044 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14050 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
14052 if (flags
& NDR_IN
) {
14053 if (r
->in
.bind_handle
== NULL
) {
14054 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14056 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14057 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14058 if (r
->in
.req
== NULL
) {
14059 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14061 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14062 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14064 if (flags
& NDR_OUT
) {
14065 if (r
->out
.level_out
== NULL
) {
14066 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14068 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14069 if (r
->out
.ctr
== NULL
) {
14070 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14072 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14073 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14074 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14076 return NDR_ERR_SUCCESS
;
14079 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
14081 TALLOC_CTX
*_mem_save_bind_handle_0
;
14082 TALLOC_CTX
*_mem_save_req_0
;
14083 TALLOC_CTX
*_mem_save_level_out_0
;
14084 TALLOC_CTX
*_mem_save_ctr_0
;
14085 if (flags
& NDR_IN
) {
14086 ZERO_STRUCT(r
->out
);
14088 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14089 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14091 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14092 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14093 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14094 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14095 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14096 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14097 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14099 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14100 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14101 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14102 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14104 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14105 ZERO_STRUCTP(r
->out
.level_out
);
14106 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14107 ZERO_STRUCTP(r
->out
.ctr
);
14109 if (flags
& NDR_OUT
) {
14110 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14111 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14113 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14114 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14115 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14117 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14118 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14120 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14121 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14122 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14123 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14124 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14125 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14127 return NDR_ERR_SUCCESS
;
14130 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
14132 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
14134 if (flags
& NDR_SET_VALUES
) {
14135 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14137 if (flags
& NDR_IN
) {
14138 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
14140 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14142 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14144 ndr_print_int32(ndr
, "level", r
->in
.level
);
14145 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14147 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14148 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
14152 if (flags
& NDR_OUT
) {
14153 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
14155 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14157 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14159 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14161 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14162 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
14164 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14170 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
14172 if (flags
& NDR_IN
) {
14173 if (r
->in
.bind_handle
== NULL
) {
14174 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14176 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14177 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14178 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14179 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14181 if (flags
& NDR_OUT
) {
14182 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14184 return NDR_ERR_SUCCESS
;
14187 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
14189 TALLOC_CTX
*_mem_save_bind_handle_0
;
14190 if (flags
& NDR_IN
) {
14191 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14192 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14194 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14195 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14196 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14197 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14198 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14199 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14200 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14202 if (flags
& NDR_OUT
) {
14203 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14205 return NDR_ERR_SUCCESS
;
14208 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
14210 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
14212 if (flags
& NDR_SET_VALUES
) {
14213 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14215 if (flags
& NDR_IN
) {
14216 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
14218 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14220 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14222 ndr_print_int32(ndr
, "level", r
->in
.level
);
14223 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14224 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
14227 if (flags
& NDR_OUT
) {
14228 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
14230 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14236 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14238 if (flags
& NDR_IN
) {
14239 if (r
->in
.bind_handle
== NULL
) {
14240 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14242 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14243 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14244 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14245 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14247 if (flags
& NDR_OUT
) {
14248 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14250 return NDR_ERR_SUCCESS
;
14253 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
14255 TALLOC_CTX
*_mem_save_bind_handle_0
;
14256 if (flags
& NDR_IN
) {
14257 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14258 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14260 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14261 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14262 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14263 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14264 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14265 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14268 if (flags
& NDR_OUT
) {
14269 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14271 return NDR_ERR_SUCCESS
;
14274 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14276 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
14278 if (flags
& NDR_SET_VALUES
) {
14279 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14281 if (flags
& NDR_IN
) {
14282 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
14284 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14286 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14288 ndr_print_int32(ndr
, "level", r
->in
.level
);
14289 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14290 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
14293 if (flags
& NDR_OUT
) {
14294 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
14296 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14302 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14304 if (flags
& NDR_IN
) {
14305 if (r
->in
.bind_handle
== NULL
) {
14306 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14308 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14309 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14310 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14311 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14313 if (flags
& NDR_OUT
) {
14314 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14316 return NDR_ERR_SUCCESS
;
14319 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
14321 TALLOC_CTX
*_mem_save_bind_handle_0
;
14322 if (flags
& NDR_IN
) {
14323 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14324 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14326 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14327 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14328 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14329 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14330 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14331 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14332 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14334 if (flags
& NDR_OUT
) {
14335 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14337 return NDR_ERR_SUCCESS
;
14340 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14342 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
14344 if (flags
& NDR_SET_VALUES
) {
14345 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14347 if (flags
& NDR_IN
) {
14348 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
14350 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14352 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14354 ndr_print_int32(ndr
, "level", r
->in
.level
);
14355 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14356 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
14359 if (flags
& NDR_OUT
) {
14360 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
14362 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14368 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14370 if (flags
& NDR_IN
) {
14371 if (r
->in
.bind_handle
== NULL
) {
14372 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14374 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14375 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14376 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14377 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14379 if (flags
& NDR_OUT
) {
14380 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14382 return NDR_ERR_SUCCESS
;
14385 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
14387 TALLOC_CTX
*_mem_save_bind_handle_0
;
14388 if (flags
& NDR_IN
) {
14389 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14390 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14392 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14393 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14394 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14395 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14396 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14397 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14398 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14400 if (flags
& NDR_OUT
) {
14401 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14403 return NDR_ERR_SUCCESS
;
14406 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14408 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
14410 if (flags
& NDR_SET_VALUES
) {
14411 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14413 if (flags
& NDR_IN
) {
14414 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
14416 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14418 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14420 ndr_print_int32(ndr
, "level", r
->in
.level
);
14421 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14422 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
14425 if (flags
& NDR_OUT
) {
14426 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
14428 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14434 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14436 if (flags
& NDR_IN
) {
14438 if (flags
& NDR_OUT
) {
14439 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14441 return NDR_ERR_SUCCESS
;
14444 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
14446 if (flags
& NDR_IN
) {
14448 if (flags
& NDR_OUT
) {
14449 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14451 return NDR_ERR_SUCCESS
;
14454 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14456 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
14458 if (flags
& NDR_SET_VALUES
) {
14459 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14461 if (flags
& NDR_IN
) {
14462 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
14466 if (flags
& NDR_OUT
) {
14467 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
14469 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14475 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14477 if (flags
& NDR_IN
) {
14478 if (r
->in
.bind_handle
== NULL
) {
14479 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14481 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14482 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14483 if (r
->in
.req
== NULL
) {
14484 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14486 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14487 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14489 if (flags
& NDR_OUT
) {
14490 if (r
->out
.level_out
== NULL
) {
14491 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14493 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14494 if (r
->out
.ctr
== NULL
) {
14495 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14497 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14498 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14499 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14501 return NDR_ERR_SUCCESS
;
14504 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
14506 TALLOC_CTX
*_mem_save_bind_handle_0
;
14507 TALLOC_CTX
*_mem_save_req_0
;
14508 TALLOC_CTX
*_mem_save_level_out_0
;
14509 TALLOC_CTX
*_mem_save_ctr_0
;
14510 if (flags
& NDR_IN
) {
14511 ZERO_STRUCT(r
->out
);
14513 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14514 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14516 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14517 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14518 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14519 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14520 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14521 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14522 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14524 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14525 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14526 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14527 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14528 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14529 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14530 ZERO_STRUCTP(r
->out
.level_out
);
14531 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14532 ZERO_STRUCTP(r
->out
.ctr
);
14534 if (flags
& NDR_OUT
) {
14535 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14536 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14538 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14539 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14540 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14541 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14542 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14543 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14545 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14546 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14547 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14548 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14549 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14550 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14552 return NDR_ERR_SUCCESS
;
14555 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14557 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14559 if (flags
& NDR_SET_VALUES
) {
14560 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14562 if (flags
& NDR_IN
) {
14563 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14565 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14567 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14569 ndr_print_int32(ndr
, "level", r
->in
.level
);
14570 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14572 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14573 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14577 if (flags
& NDR_OUT
) {
14578 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14580 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14582 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14584 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14586 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14587 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14589 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14595 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14597 if (flags
& NDR_IN
) {
14599 if (flags
& NDR_OUT
) {
14600 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14602 return NDR_ERR_SUCCESS
;
14605 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14607 if (flags
& NDR_IN
) {
14609 if (flags
& NDR_OUT
) {
14610 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14612 return NDR_ERR_SUCCESS
;
14615 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14617 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14619 if (flags
& NDR_SET_VALUES
) {
14620 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14622 if (flags
& NDR_IN
) {
14623 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14627 if (flags
& NDR_OUT
) {
14628 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14630 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14636 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14638 if (flags
& NDR_IN
) {
14639 if (r
->in
.bind_handle
== NULL
) {
14640 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14642 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14643 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14644 if (r
->in
.req
== NULL
) {
14645 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14647 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14648 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14650 if (flags
& NDR_OUT
) {
14651 if (r
->out
.level_out
== NULL
) {
14652 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14654 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14655 if (r
->out
.info
== NULL
) {
14656 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14658 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14659 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14660 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14662 return NDR_ERR_SUCCESS
;
14665 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14667 TALLOC_CTX
*_mem_save_bind_handle_0
;
14668 TALLOC_CTX
*_mem_save_req_0
;
14669 TALLOC_CTX
*_mem_save_level_out_0
;
14670 TALLOC_CTX
*_mem_save_info_0
;
14671 if (flags
& NDR_IN
) {
14672 ZERO_STRUCT(r
->out
);
14674 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14675 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14677 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14678 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14679 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14680 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14681 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14682 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14683 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14685 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14686 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14687 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14688 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14689 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14690 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14691 ZERO_STRUCTP(r
->out
.level_out
);
14692 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14693 ZERO_STRUCTP(r
->out
.info
);
14695 if (flags
& NDR_OUT
) {
14696 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14697 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14699 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14700 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14701 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14702 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14703 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14704 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14706 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14707 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14708 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14709 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14711 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14713 return NDR_ERR_SUCCESS
;
14716 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14718 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14720 if (flags
& NDR_SET_VALUES
) {
14721 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14723 if (flags
& NDR_IN
) {
14724 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14726 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14728 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14730 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14731 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14733 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14734 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14738 if (flags
& NDR_OUT
) {
14739 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14741 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14743 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14745 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14747 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14748 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14750 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14756 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14758 if (flags
& NDR_IN
) {
14759 if (r
->in
.bind_handle
== NULL
) {
14760 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14762 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14763 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14764 if (r
->in
.req
== NULL
) {
14765 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14767 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14768 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14770 if (flags
& NDR_OUT
) {
14771 if (r
->out
.level_out
== NULL
) {
14772 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14774 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14775 if (r
->out
.ctr
== NULL
) {
14776 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14778 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14779 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14780 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14782 return NDR_ERR_SUCCESS
;
14785 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14787 TALLOC_CTX
*_mem_save_bind_handle_0
;
14788 TALLOC_CTX
*_mem_save_req_0
;
14789 TALLOC_CTX
*_mem_save_level_out_0
;
14790 TALLOC_CTX
*_mem_save_ctr_0
;
14791 if (flags
& NDR_IN
) {
14792 ZERO_STRUCT(r
->out
);
14794 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14795 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14797 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14798 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14799 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14800 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14801 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14802 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14803 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14805 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14806 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14807 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14808 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14809 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14810 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14811 ZERO_STRUCTP(r
->out
.level_out
);
14812 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14813 ZERO_STRUCTP(r
->out
.ctr
);
14815 if (flags
& NDR_OUT
) {
14816 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14817 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14819 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14820 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14821 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14822 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14823 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14824 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14826 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14827 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14828 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14829 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14830 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14831 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14833 return NDR_ERR_SUCCESS
;
14836 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14838 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14840 if (flags
& NDR_SET_VALUES
) {
14841 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14843 if (flags
& NDR_IN
) {
14844 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14846 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14848 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14850 ndr_print_int32(ndr
, "level", r
->in
.level
);
14851 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14853 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14854 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14858 if (flags
& NDR_OUT
) {
14859 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
14861 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14863 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14865 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14867 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14868 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
14870 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14876 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14878 if (flags
& NDR_IN
) {
14879 if (r
->in
.bind_handle
== NULL
) {
14880 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14882 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14883 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14884 if (r
->in
.req
== NULL
) {
14885 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14887 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14888 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14890 if (flags
& NDR_OUT
) {
14891 if (r
->out
.level_out
== NULL
) {
14892 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14894 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14895 if (r
->out
.res
== NULL
) {
14896 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14898 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14899 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14900 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14902 return NDR_ERR_SUCCESS
;
14905 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
14907 TALLOC_CTX
*_mem_save_bind_handle_0
;
14908 TALLOC_CTX
*_mem_save_req_0
;
14909 TALLOC_CTX
*_mem_save_level_out_0
;
14910 TALLOC_CTX
*_mem_save_res_0
;
14911 if (flags
& NDR_IN
) {
14912 ZERO_STRUCT(r
->out
);
14914 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14915 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14917 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14918 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14919 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14920 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14921 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14922 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14923 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14925 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14926 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14927 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14928 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14929 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14930 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14931 ZERO_STRUCTP(r
->out
.level_out
);
14932 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14933 ZERO_STRUCTP(r
->out
.res
);
14935 if (flags
& NDR_OUT
) {
14936 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14937 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14939 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14940 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14941 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14942 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14943 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14944 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14946 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14947 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14948 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14949 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14950 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14951 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14953 return NDR_ERR_SUCCESS
;
14956 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14958 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
14960 if (flags
& NDR_SET_VALUES
) {
14961 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14963 if (flags
& NDR_IN
) {
14964 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
14966 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14968 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14970 ndr_print_int32(ndr
, "level", r
->in
.level
);
14971 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14973 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14974 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
14978 if (flags
& NDR_OUT
) {
14979 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
14981 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14983 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14985 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14987 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14988 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
14990 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14996 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14998 if (flags
& NDR_IN
) {
14999 if (r
->in
.bind_handle
== NULL
) {
15000 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15002 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15003 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15004 if (r
->in
.req
== NULL
) {
15005 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15007 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15008 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15010 if (flags
& NDR_OUT
) {
15011 if (r
->out
.level_out
== NULL
) {
15012 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15014 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15015 if (r
->out
.res
== NULL
) {
15016 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15018 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
15019 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
15020 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15022 return NDR_ERR_SUCCESS
;
15025 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
15027 TALLOC_CTX
*_mem_save_bind_handle_0
;
15028 TALLOC_CTX
*_mem_save_req_0
;
15029 TALLOC_CTX
*_mem_save_level_out_0
;
15030 TALLOC_CTX
*_mem_save_res_0
;
15031 if (flags
& NDR_IN
) {
15032 ZERO_STRUCT(r
->out
);
15034 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15035 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15037 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15038 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15039 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15040 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15041 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15042 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15043 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15045 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15046 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15047 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15048 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15049 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15050 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15051 ZERO_STRUCTP(r
->out
.level_out
);
15052 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
15053 ZERO_STRUCTP(r
->out
.res
);
15055 if (flags
& NDR_OUT
) {
15056 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15057 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15059 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15060 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15061 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15062 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15063 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15064 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
15066 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15067 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
15068 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
15069 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
15070 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
15071 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15073 return NDR_ERR_SUCCESS
;
15076 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
15078 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
15080 if (flags
& NDR_SET_VALUES
) {
15081 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15083 if (flags
& NDR_IN
) {
15084 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
15086 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15088 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15090 ndr_print_int32(ndr
, "level", r
->in
.level
);
15091 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15093 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15094 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
15098 if (flags
& NDR_OUT
) {
15099 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
15101 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15103 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15105 ndr_print_ptr(ndr
, "res", r
->out
.res
);
15107 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
15108 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
15110 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15116 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
15118 if (flags
& NDR_IN
) {
15120 if (flags
& NDR_OUT
) {
15121 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15123 return NDR_ERR_SUCCESS
;
15126 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
15128 if (flags
& NDR_IN
) {
15130 if (flags
& NDR_OUT
) {
15131 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15133 return NDR_ERR_SUCCESS
;
15136 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
15138 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
15140 if (flags
& NDR_SET_VALUES
) {
15141 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15143 if (flags
& NDR_IN
) {
15144 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
15148 if (flags
& NDR_OUT
) {
15149 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
15151 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15157 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
15159 if (flags
& NDR_IN
) {
15160 if (r
->in
.bind_handle
== NULL
) {
15161 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15163 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15164 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15165 if (r
->in
.req
== NULL
) {
15166 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15168 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15169 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15171 if (flags
& NDR_OUT
) {
15172 if (r
->out
.level_out
== NULL
) {
15173 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15175 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15176 if (r
->out
.ctr
== NULL
) {
15177 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15179 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15180 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15181 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15183 return NDR_ERR_SUCCESS
;
15186 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
15188 TALLOC_CTX
*_mem_save_bind_handle_0
;
15189 TALLOC_CTX
*_mem_save_req_0
;
15190 TALLOC_CTX
*_mem_save_level_out_0
;
15191 TALLOC_CTX
*_mem_save_ctr_0
;
15192 if (flags
& NDR_IN
) {
15193 ZERO_STRUCT(r
->out
);
15195 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15196 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15198 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15199 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15200 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15201 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15202 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15203 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15204 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15206 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15207 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15208 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15209 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15211 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15212 ZERO_STRUCTP(r
->out
.level_out
);
15213 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15214 ZERO_STRUCTP(r
->out
.ctr
);
15216 if (flags
& NDR_OUT
) {
15217 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15218 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15220 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15221 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15222 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15224 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15225 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15227 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15228 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15229 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15230 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15231 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15232 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15234 return NDR_ERR_SUCCESS
;
15237 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
15239 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
15241 if (flags
& NDR_SET_VALUES
) {
15242 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15244 if (flags
& NDR_IN
) {
15245 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
15247 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15249 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15251 ndr_print_int32(ndr
, "level", r
->in
.level
);
15252 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15254 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15255 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
15259 if (flags
& NDR_OUT
) {
15260 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
15262 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15264 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15266 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15268 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15269 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
15271 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15277 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15279 if (flags
& NDR_IN
) {
15280 if (r
->in
.bind_handle
== NULL
) {
15281 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15283 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15284 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15285 if (r
->in
.req
== NULL
) {
15286 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15288 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15289 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15291 if (flags
& NDR_OUT
) {
15292 if (r
->out
.level_out
== NULL
) {
15293 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15295 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15296 if (r
->out
.ctr
== NULL
) {
15297 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15299 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15300 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15301 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15303 return NDR_ERR_SUCCESS
;
15306 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
15308 TALLOC_CTX
*_mem_save_bind_handle_0
;
15309 TALLOC_CTX
*_mem_save_req_0
;
15310 TALLOC_CTX
*_mem_save_level_out_0
;
15311 TALLOC_CTX
*_mem_save_ctr_0
;
15312 if (flags
& NDR_IN
) {
15313 ZERO_STRUCT(r
->out
);
15315 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15316 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15318 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15319 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15320 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15321 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15322 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15323 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15324 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15326 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15327 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15328 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15329 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15330 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15331 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15332 ZERO_STRUCTP(r
->out
.level_out
);
15333 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15334 ZERO_STRUCTP(r
->out
.ctr
);
15336 if (flags
& NDR_OUT
) {
15337 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15338 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15340 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15341 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15342 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15343 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15344 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15345 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15347 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15348 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15349 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15350 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15351 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15352 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15354 return NDR_ERR_SUCCESS
;
15357 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15359 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
15361 if (flags
& NDR_SET_VALUES
) {
15362 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15364 if (flags
& NDR_IN
) {
15365 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
15367 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15369 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15371 ndr_print_int32(ndr
, "level", r
->in
.level
);
15372 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15374 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15375 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
15379 if (flags
& NDR_OUT
) {
15380 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
15382 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15384 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15386 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15388 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15389 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
15391 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15397 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15399 if (flags
& NDR_IN
) {
15400 if (r
->in
.bind_handle
== NULL
) {
15401 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15403 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15404 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15405 if (r
->in
.req
== NULL
) {
15406 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15408 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15409 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15411 if (flags
& NDR_OUT
) {
15412 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15414 return NDR_ERR_SUCCESS
;
15417 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
15419 TALLOC_CTX
*_mem_save_bind_handle_0
;
15420 TALLOC_CTX
*_mem_save_req_0
;
15421 if (flags
& NDR_IN
) {
15422 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15423 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15425 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15426 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15427 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15428 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15429 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15430 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15431 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15433 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15434 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15435 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15436 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15437 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15439 if (flags
& NDR_OUT
) {
15440 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15442 return NDR_ERR_SUCCESS
;
15445 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15447 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
15449 if (flags
& NDR_SET_VALUES
) {
15450 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15452 if (flags
& NDR_IN
) {
15453 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
15455 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15457 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15459 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15460 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15462 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15463 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
15467 if (flags
& NDR_OUT
) {
15468 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
15470 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15476 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15478 if (flags
& NDR_IN
) {
15479 if (r
->in
.bind_handle
== NULL
) {
15480 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15482 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15483 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
15484 if (r
->in
.req
== NULL
) {
15485 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15487 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15488 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15490 if (flags
& NDR_OUT
) {
15491 if (r
->out
.info_type
== NULL
) {
15492 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15494 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
15495 if (r
->out
.info
== NULL
) {
15496 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15498 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15499 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15500 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15502 return NDR_ERR_SUCCESS
;
15505 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
15507 TALLOC_CTX
*_mem_save_bind_handle_0
;
15508 TALLOC_CTX
*_mem_save_req_0
;
15509 TALLOC_CTX
*_mem_save_info_type_0
;
15510 TALLOC_CTX
*_mem_save_info_0
;
15511 if (flags
& NDR_IN
) {
15512 ZERO_STRUCT(r
->out
);
15514 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15515 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15517 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15518 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15519 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15521 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
15522 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15523 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15525 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15526 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15527 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15528 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15529 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15530 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15531 ZERO_STRUCTP(r
->out
.info_type
);
15532 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15533 ZERO_STRUCTP(r
->out
.info
);
15535 if (flags
& NDR_OUT
) {
15536 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15537 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15539 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15540 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15541 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15542 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15543 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15544 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15546 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15547 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15548 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15549 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15550 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15551 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15553 return NDR_ERR_SUCCESS
;
15556 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15558 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15560 if (flags
& NDR_SET_VALUES
) {
15561 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15563 if (flags
& NDR_IN
) {
15564 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15566 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15568 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15570 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15571 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15573 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15574 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15578 if (flags
& NDR_OUT
) {
15579 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15581 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15583 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15585 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15587 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15588 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15590 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15596 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15598 if (flags
& NDR_IN
) {
15600 if (flags
& NDR_OUT
) {
15601 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15603 return NDR_ERR_SUCCESS
;
15606 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15608 if (flags
& NDR_IN
) {
15610 if (flags
& NDR_OUT
) {
15611 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15613 return NDR_ERR_SUCCESS
;
15616 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15618 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15620 if (flags
& NDR_SET_VALUES
) {
15621 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15623 if (flags
& NDR_IN
) {
15624 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15628 if (flags
& NDR_OUT
) {
15629 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15631 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15637 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15639 if (flags
& NDR_IN
) {
15640 if (r
->in
.bind_handle
== NULL
) {
15641 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15643 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15644 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15645 if (r
->in
.req
== NULL
) {
15646 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15648 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15649 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15651 if (flags
& NDR_OUT
) {
15652 if (r
->out
.level_out
== NULL
) {
15653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15655 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15656 if (r
->out
.ctr
== NULL
) {
15657 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15659 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15660 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15661 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15663 return NDR_ERR_SUCCESS
;
15666 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15668 TALLOC_CTX
*_mem_save_bind_handle_0
;
15669 TALLOC_CTX
*_mem_save_req_0
;
15670 TALLOC_CTX
*_mem_save_level_out_0
;
15671 TALLOC_CTX
*_mem_save_ctr_0
;
15672 if (flags
& NDR_IN
) {
15673 ZERO_STRUCT(r
->out
);
15675 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15676 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15678 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15679 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15680 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15681 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15682 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15683 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15684 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15686 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15687 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15688 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15689 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15691 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15692 ZERO_STRUCTP(r
->out
.level_out
);
15693 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15694 ZERO_STRUCTP(r
->out
.ctr
);
15696 if (flags
& NDR_OUT
) {
15697 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15698 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15700 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15701 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15702 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15703 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15704 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15705 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15707 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15708 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15709 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15710 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15711 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15712 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15714 return NDR_ERR_SUCCESS
;
15717 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15719 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15721 if (flags
& NDR_SET_VALUES
) {
15722 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15724 if (flags
& NDR_IN
) {
15725 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15727 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15729 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15731 ndr_print_int32(ndr
, "level", r
->in
.level
);
15732 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15734 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15735 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15739 if (flags
& NDR_OUT
) {
15740 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15742 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15744 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15746 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15748 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15749 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15751 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15757 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15759 if (flags
& NDR_IN
) {
15761 if (flags
& NDR_OUT
) {
15762 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15764 return NDR_ERR_SUCCESS
;
15767 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15769 if (flags
& NDR_IN
) {
15771 if (flags
& NDR_OUT
) {
15772 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15774 return NDR_ERR_SUCCESS
;
15777 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15779 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15781 if (flags
& NDR_SET_VALUES
) {
15782 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15784 if (flags
& NDR_IN
) {
15785 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15789 if (flags
& NDR_OUT
) {
15790 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15792 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15798 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15800 if (flags
& NDR_IN
) {
15802 if (flags
& NDR_OUT
) {
15803 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15805 return NDR_ERR_SUCCESS
;
15808 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15810 if (flags
& NDR_IN
) {
15812 if (flags
& NDR_OUT
) {
15813 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15815 return NDR_ERR_SUCCESS
;
15818 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15820 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15822 if (flags
& NDR_SET_VALUES
) {
15823 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15825 if (flags
& NDR_IN
) {
15826 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15830 if (flags
& NDR_OUT
) {
15831 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15833 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15839 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15841 if (flags
& NDR_IN
) {
15842 if (r
->in
.bind_handle
== NULL
) {
15843 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15845 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15846 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15847 if (r
->in
.req
== NULL
) {
15848 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15850 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15851 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15853 if (flags
& NDR_OUT
) {
15854 if (r
->out
.level_out
== NULL
) {
15855 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15857 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15858 if (r
->out
.ctr
== NULL
) {
15859 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15861 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15862 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15863 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15865 return NDR_ERR_SUCCESS
;
15868 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
15870 TALLOC_CTX
*_mem_save_bind_handle_0
;
15871 TALLOC_CTX
*_mem_save_req_0
;
15872 TALLOC_CTX
*_mem_save_level_out_0
;
15873 TALLOC_CTX
*_mem_save_ctr_0
;
15874 if (flags
& NDR_IN
) {
15875 ZERO_STRUCT(r
->out
);
15877 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15878 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15880 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15881 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15882 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15883 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15884 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15885 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15886 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15888 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15889 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15890 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15891 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15892 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15893 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15894 ZERO_STRUCTP(r
->out
.level_out
);
15895 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15896 ZERO_STRUCTP(r
->out
.ctr
);
15898 if (flags
& NDR_OUT
) {
15899 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15900 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15902 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15903 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15904 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15906 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15907 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15909 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15910 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15911 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15912 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15913 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15914 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15916 return NDR_ERR_SUCCESS
;
15919 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15921 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
15923 if (flags
& NDR_SET_VALUES
) {
15924 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15926 if (flags
& NDR_IN
) {
15927 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
15929 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15931 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15933 ndr_print_int32(ndr
, "level", r
->in
.level
);
15934 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15936 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15937 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
15941 if (flags
& NDR_OUT
) {
15942 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
15944 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15946 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15948 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15950 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15951 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
15953 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15959 static const struct ndr_interface_call drsuapi_calls
[] = {
15962 sizeof(struct drsuapi_DsBind
),
15963 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
15964 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
15965 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
15969 "drsuapi_DsUnbind",
15970 sizeof(struct drsuapi_DsUnbind
),
15971 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
15972 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
15973 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
15977 "drsuapi_DsReplicaSync",
15978 sizeof(struct drsuapi_DsReplicaSync
),
15979 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
15980 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
15981 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
15985 "drsuapi_DsGetNCChanges",
15986 sizeof(struct drsuapi_DsGetNCChanges
),
15987 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
15988 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
15989 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
15993 "drsuapi_DsReplicaUpdateRefs",
15994 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
15995 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
15996 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
15997 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
16001 "drsuapi_DsReplicaAdd",
16002 sizeof(struct drsuapi_DsReplicaAdd
),
16003 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
16004 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
16005 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
16009 "drsuapi_DsReplicaDel",
16010 sizeof(struct drsuapi_DsReplicaDel
),
16011 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
16012 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
16013 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
16017 "drsuapi_DsReplicaMod",
16018 sizeof(struct drsuapi_DsReplicaMod
),
16019 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
16020 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
16021 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
16025 "DRSUAPI_VERIFY_NAMES",
16026 sizeof(struct DRSUAPI_VERIFY_NAMES
),
16027 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
16028 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
16029 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
16033 "drsuapi_DsGetMemberships",
16034 sizeof(struct drsuapi_DsGetMemberships
),
16035 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
16036 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
16037 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
16041 "DRSUAPI_INTER_DOMAIN_MOVE",
16042 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
16043 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
16044 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
16045 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
16049 "drsuapi_DsGetNT4ChangeLog",
16050 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
16051 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
16052 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
16053 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
16057 "drsuapi_DsCrackNames",
16058 sizeof(struct drsuapi_DsCrackNames
),
16059 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
16060 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
16061 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
16065 "drsuapi_DsWriteAccountSpn",
16066 sizeof(struct drsuapi_DsWriteAccountSpn
),
16067 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
16068 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
16069 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
16073 "drsuapi_DsRemoveDSServer",
16074 sizeof(struct drsuapi_DsRemoveDSServer
),
16075 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
16076 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
16077 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
16081 "DRSUAPI_REMOVE_DS_DOMAIN",
16082 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
16083 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
16084 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
16085 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
16089 "drsuapi_DsGetDomainControllerInfo",
16090 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
16091 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
16092 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
16093 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
16097 "drsuapi_DsAddEntry",
16098 sizeof(struct drsuapi_DsAddEntry
),
16099 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
16100 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
16101 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
16105 "drsuapi_DsExecuteKCC",
16106 sizeof(struct drsuapi_DsExecuteKCC
),
16107 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
16108 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
16109 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
16113 "drsuapi_DsReplicaGetInfo",
16114 sizeof(struct drsuapi_DsReplicaGetInfo
),
16115 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
16116 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
16117 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
16121 "DRSUAPI_ADD_SID_HISTORY",
16122 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
16123 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
16124 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
16125 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
16129 "drsuapi_DsGetMemberships2",
16130 sizeof(struct drsuapi_DsGetMemberships2
),
16131 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
16132 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
16133 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
16137 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
16138 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
16139 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
16140 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
16141 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
16145 "DRSUAPI_GET_OBJECT_EXISTENCE",
16146 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
16147 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
16148 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
16149 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
16153 "drsuapi_QuerySitesByCost",
16154 sizeof(struct drsuapi_QuerySitesByCost
),
16155 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
16156 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
16157 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
16160 { NULL
, 0, NULL
, NULL
, NULL
, false }
16163 static const char * const drsuapi_endpoint_strings
[] = {
16164 "ncacn_np:[\\pipe\\lsass]",
16165 "ncacn_np:[\\pipe\\protected_storage]",
16170 static const struct ndr_interface_string_array drsuapi_endpoints
= {
16172 .names
= drsuapi_endpoint_strings
16175 static const char * const drsuapi_authservice_strings
[] = {
16179 static const struct ndr_interface_string_array drsuapi_authservices
= {
16181 .names
= drsuapi_authservice_strings
16185 const struct ndr_interface_table ndr_table_drsuapi
= {
16188 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
16189 NDR_DRSUAPI_VERSION
16191 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
16193 .calls
= drsuapi_calls
,
16194 .endpoints
= &drsuapi_endpoints
,
16195 .authservices
= &drsuapi_authservices