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 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DrsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
12 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
13 return NDR_ERR_SUCCESS
;
16 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DrsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
19 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
21 return NDR_ERR_SUCCESS
;
24 _PUBLIC_
void ndr_print_drsuapi_DrsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
26 ndr_print_uint32(ndr
, name
, r
);
28 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP
, r
);
29 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK
, r
);
30 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF
, r
);
31 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC
, r
);
40 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY
, r
);
41 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC
, r
);
42 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE
, r
);
43 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY
, r
);
44 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME
, r
);
45 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK
, r
);
46 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW
, r
);
47 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE
, r
);
48 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET
, r
);
49 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN
, r
);
50 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING
, r
);
51 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED
, r
);
52 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC
, r
);
53 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC
, r
);
54 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION
, r
);
55 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY
, r
);
56 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS
, r
);
57 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP
, r
);
61 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
63 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
64 return NDR_ERR_SUCCESS
;
67 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
70 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
72 return NDR_ERR_SUCCESS
;
75 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
77 ndr_print_uint32(ndr
, name
, r
);
79 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE
, r
);
80 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION
, r
);
81 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI
, r
);
82 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2
, r
);
83 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS
, r
);
84 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1
, r
);
85 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION
, r
);
86 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00000080", DRSUAPI_SUPPORTED_EXTENSION_00000080
, r
);
87 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE
, r
);
88 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2
, r
);
89 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION
, r
);
90 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2
, r
);
91 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
);
92 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND
, r
);
93 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3
, r
);
99 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00100000", DRSUAPI_SUPPORTED_EXTENSION_00100000
, r
);
100 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2
, r
);
101 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6
, r
);
102 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS
, r
);
103 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8
, r
);
104 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5
, r
);
105 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6
, r
);
106 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3
, r
);
107 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7
, r
);
108 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT
, r
);
109 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS
, r
);
110 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_20000000", DRSUAPI_SUPPORTED_EXTENSION_20000000
, r
);
111 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_40000000", DRSUAPI_SUPPORTED_EXTENSION_40000000
, r
);
112 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_80000000", DRSUAPI_SUPPORTED_EXTENSION_80000000
, r
);
116 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
118 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
119 return NDR_ERR_SUCCESS
;
122 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
125 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
127 return NDR_ERR_SUCCESS
;
130 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
132 ndr_print_uint32(ndr
, name
, r
);
134 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM
, r
);
135 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2
, r
);
139 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo24
*r
)
141 if (ndr_flags
& NDR_SCALARS
) {
142 NDR_CHECK(ndr_push_align(ndr
, 4));
143 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
144 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
145 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
146 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
148 if (ndr_flags
& NDR_BUFFERS
) {
150 return NDR_ERR_SUCCESS
;
153 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo24
*r
)
155 if (ndr_flags
& NDR_SCALARS
) {
156 NDR_CHECK(ndr_pull_align(ndr
, 4));
157 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
158 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
159 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
160 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
162 if (ndr_flags
& NDR_BUFFERS
) {
164 return NDR_ERR_SUCCESS
;
167 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo24(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo24
*r
)
169 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo24");
171 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
172 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
173 ndr_print_uint32(ndr
, "pid", r
->pid
);
177 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo28(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo28
*r
)
179 if (ndr_flags
& NDR_SCALARS
) {
180 NDR_CHECK(ndr_push_align(ndr
, 4));
181 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
182 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
183 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
184 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
185 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
187 if (ndr_flags
& NDR_BUFFERS
) {
189 return NDR_ERR_SUCCESS
;
192 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo28
*r
)
194 if (ndr_flags
& NDR_SCALARS
) {
195 NDR_CHECK(ndr_pull_align(ndr
, 4));
196 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
197 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
198 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
199 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
200 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
202 if (ndr_flags
& NDR_BUFFERS
) {
204 return NDR_ERR_SUCCESS
;
207 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo28(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo28
*r
)
209 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo28");
211 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
212 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
213 ndr_print_uint32(ndr
, "pid", r
->pid
);
214 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
218 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo48(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo48
*r
)
220 if (ndr_flags
& NDR_SCALARS
) {
221 NDR_CHECK(ndr_push_align(ndr
, 4));
222 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
223 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
224 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
225 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
226 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, r
->supported_extensions_ext
));
227 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
228 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
230 if (ndr_flags
& NDR_BUFFERS
) {
232 return NDR_ERR_SUCCESS
;
235 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo48
*r
)
237 if (ndr_flags
& NDR_SCALARS
) {
238 NDR_CHECK(ndr_pull_align(ndr
, 4));
239 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
240 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
241 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
242 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
243 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, &r
->supported_extensions_ext
));
244 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
245 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
247 if (ndr_flags
& NDR_BUFFERS
) {
249 return NDR_ERR_SUCCESS
;
252 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo48(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo48
*r
)
254 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo48");
256 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
257 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
258 ndr_print_uint32(ndr
, "pid", r
->pid
);
259 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
260 ndr_print_drsuapi_SupportedExtensionsExt(ndr
, "supported_extensions_ext", r
->supported_extensions_ext
);
261 ndr_print_GUID(ndr
, "config_dn_guid", &r
->config_dn_guid
);
265 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoFallBack
*r
)
267 if (ndr_flags
& NDR_SCALARS
) {
268 NDR_CHECK(ndr_push_align(ndr
, 4));
270 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
271 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
272 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->info
));
273 ndr
->flags
= _flags_save_DATA_BLOB
;
275 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
277 if (ndr_flags
& NDR_BUFFERS
) {
279 return NDR_ERR_SUCCESS
;
282 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoFallBack
*r
)
284 if (ndr_flags
& NDR_SCALARS
) {
285 NDR_CHECK(ndr_pull_align(ndr
, 4));
287 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
288 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
289 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->info
));
290 ndr
->flags
= _flags_save_DATA_BLOB
;
292 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
294 if (ndr_flags
& NDR_BUFFERS
) {
296 return NDR_ERR_SUCCESS
;
299 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoFallBack
*r
)
301 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoFallBack");
303 ndr_print_DATA_BLOB(ndr
, "info", r
->info
);
307 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsBindInfo
*r
)
309 if (ndr_flags
& NDR_SCALARS
) {
310 int level
= ndr_push_get_switch_value(ndr
, r
);
311 NDR_CHECK(ndr_push_union_align(ndr
, 1));
315 struct ndr_push
*_ndr_info24
;
316 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
317 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
318 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info24
, 4, -1));
324 struct ndr_push
*_ndr_info28
;
325 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
326 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
327 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info28
, 4, -1));
333 struct ndr_push
*_ndr_info48
;
334 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
335 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
336 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info48
, 4, -1));
342 struct ndr_push
*_ndr_FallBack
;
343 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
344 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
345 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
351 if (ndr_flags
& NDR_BUFFERS
) {
352 int level
= ndr_push_get_switch_value(ndr
, r
);
368 return NDR_ERR_SUCCESS
;
371 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsBindInfo
*r
)
374 level
= ndr_pull_get_switch_value(ndr
, r
);
375 if (ndr_flags
& NDR_SCALARS
) {
376 NDR_CHECK(ndr_pull_union_align(ndr
, 1));
380 struct ndr_pull
*_ndr_info24
;
381 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
382 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
383 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info24
, 4, -1));
389 struct ndr_pull
*_ndr_info28
;
390 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
391 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
392 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info28
, 4, -1));
398 struct ndr_pull
*_ndr_info48
;
399 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
400 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
401 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info48
, 4, -1));
407 struct ndr_pull
*_ndr_FallBack
;
408 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
409 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
410 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
416 if (ndr_flags
& NDR_BUFFERS
) {
432 return NDR_ERR_SUCCESS
;
435 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsBindInfo
*r
)
438 level
= ndr_print_get_switch_value(ndr
, r
);
439 ndr_print_union(ndr
, name
, level
, "drsuapi_DsBindInfo");
442 ndr_print_drsuapi_DsBindInfo24(ndr
, "info24", &r
->info24
);
446 ndr_print_drsuapi_DsBindInfo28(ndr
, "info28", &r
->info28
);
450 ndr_print_drsuapi_DsBindInfo48(ndr
, "info48", &r
->info48
);
454 ndr_print_drsuapi_DsBindInfoFallBack(ndr
, "FallBack", &r
->FallBack
);
460 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoCtr
*r
)
462 if (ndr_flags
& NDR_SCALARS
) {
463 NDR_CHECK(ndr_push_align(ndr
, 4));
464 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
465 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->length
));
466 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
467 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
469 if (ndr_flags
& NDR_BUFFERS
) {
471 return NDR_ERR_SUCCESS
;
474 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoCtr
*r
)
476 if (ndr_flags
& NDR_SCALARS
) {
477 NDR_CHECK(ndr_pull_align(ndr
, 4));
478 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
479 if (r
->length
< 1 || r
->length
> 10000) {
480 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
482 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->length
));
483 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
484 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
486 if (ndr_flags
& NDR_BUFFERS
) {
488 return NDR_ERR_SUCCESS
;
491 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoCtr
*r
)
493 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoCtr");
495 ndr_print_uint32(ndr
, "length", r
->length
);
496 ndr_print_set_switch_value(ndr
, &r
->info
, r
->length
);
497 ndr_print_drsuapi_DsBindInfo(ndr
, "info", &r
->info
);
501 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
503 if (ndr_flags
& NDR_SCALARS
) {
504 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->dn
) + 1));
505 NDR_CHECK(ndr_push_align(ndr
, 4));
506 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
507 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
508 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
509 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
510 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
511 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
512 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
514 if (ndr_flags
& NDR_BUFFERS
) {
515 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
517 return NDR_ERR_SUCCESS
;
520 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier
*r
)
522 if (ndr_flags
& NDR_SCALARS
) {
523 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dn
));
524 NDR_CHECK(ndr_pull_align(ndr
, 4));
525 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
526 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
527 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
528 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
529 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
530 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, ndr_get_array_size(ndr
, &r
->dn
), sizeof(uint16_t), CH_UTF16
));
532 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->dn
, r
->__ndr_size_dn
+ 1));
534 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
536 if (ndr_flags
& NDR_BUFFERS
) {
537 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
539 return NDR_ERR_SUCCESS
;
542 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
544 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier");
546 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
);
547 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
);
548 ndr_print_GUID(ndr
, "guid", &r
->guid
);
549 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
550 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
551 ndr_print_string(ndr
, "dn", r
->dn
);
555 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier
*r
, struct smb_iconv_convenience
*ic
, int flags
)
557 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier
, ic
);
560 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
562 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
563 return NDR_ERR_SUCCESS
;
566 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
569 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
571 return NDR_ERR_SUCCESS
;
574 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
576 ndr_print_uint32(ndr
, name
, r
);
578 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION
, r
);
579 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE
, r
);
580 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC
, r
);
581 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING
, r
);
582 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES
, r
);
583 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL
, r
);
584 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT
, r
);
585 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD
, r
);
586 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE
, r
);
587 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE
, r
);
588 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED
, r
);
589 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY
, r
);
590 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY
, r
);
591 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL
, r
);
592 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION
, r
);
593 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED
, r
);
594 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS
, r
);
595 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET
, r
);
596 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE
, r
);
597 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION
, r
);
598 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA
, r
);
599 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL
, r
);
600 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS
, r
);
601 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED
, r
);
605 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
607 if (ndr_flags
& NDR_SCALARS
) {
608 NDR_CHECK(ndr_push_align(ndr
, 5));
609 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
610 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
612 uint32_t _flags_save_string
= ndr
->flags
;
613 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
614 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->other_info
));
615 ndr
->flags
= _flags_save_string
;
617 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->options
));
618 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
620 if (ndr_flags
& NDR_BUFFERS
) {
621 if (r
->naming_context
) {
622 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
625 uint32_t _flags_save_string
= ndr
->flags
;
626 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
628 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->other_info
));
630 ndr
->flags
= _flags_save_string
;
633 return NDR_ERR_SUCCESS
;
636 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
638 uint32_t _ptr_naming_context
;
639 TALLOC_CTX
*_mem_save_naming_context_0
;
640 uint32_t _ptr_other_info
;
641 TALLOC_CTX
*_mem_save_other_info_0
;
642 if (ndr_flags
& NDR_SCALARS
) {
643 NDR_CHECK(ndr_pull_align(ndr
, 5));
644 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
645 if (_ptr_naming_context
) {
646 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
648 r
->naming_context
= NULL
;
650 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
652 uint32_t _flags_save_string
= ndr
->flags
;
653 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
654 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
655 if (_ptr_other_info
) {
656 NDR_PULL_ALLOC(ndr
, r
->other_info
);
658 r
->other_info
= NULL
;
660 ndr
->flags
= _flags_save_string
;
662 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->options
));
663 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
665 if (ndr_flags
& NDR_BUFFERS
) {
666 if (r
->naming_context
) {
667 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
668 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
669 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
670 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
673 uint32_t _flags_save_string
= ndr
->flags
;
674 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
676 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
677 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
678 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->other_info
));
679 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
681 ndr
->flags
= _flags_save_string
;
684 return NDR_ERR_SUCCESS
;
687 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
689 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
691 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
693 if (r
->naming_context
) {
694 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
697 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
698 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
701 ndr_print_string(ndr
, "other_info", r
->other_info
);
704 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "options", r
->options
);
708 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
710 if (ndr_flags
& NDR_SCALARS
) {
711 int level
= ndr_push_get_switch_value(ndr
, r
);
712 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
713 NDR_CHECK(ndr_push_union_align(ndr
, 5));
716 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
720 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
723 if (ndr_flags
& NDR_BUFFERS
) {
724 int level
= ndr_push_get_switch_value(ndr
, r
);
727 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
731 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
734 return NDR_ERR_SUCCESS
;
737 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
741 level
= ndr_pull_get_switch_value(ndr
, r
);
742 if (ndr_flags
& NDR_SCALARS
) {
743 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
744 if (_level
!= level
) {
745 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
747 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
754 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
757 if (ndr_flags
& NDR_BUFFERS
) {
760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
764 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
767 return NDR_ERR_SUCCESS
;
770 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
773 level
= ndr_print_get_switch_value(ndr
, r
);
774 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
777 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
781 ndr_print_bad_level(ndr
, name
, level
);
785 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
787 if (ndr_flags
& NDR_SCALARS
) {
788 NDR_CHECK(ndr_push_align(ndr
, 8));
789 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
790 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
791 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
792 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
794 if (ndr_flags
& NDR_BUFFERS
) {
796 return NDR_ERR_SUCCESS
;
799 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
801 if (ndr_flags
& NDR_SCALARS
) {
802 NDR_CHECK(ndr_pull_align(ndr
, 8));
803 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
804 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
805 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
806 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
808 if (ndr_flags
& NDR_BUFFERS
) {
810 return NDR_ERR_SUCCESS
;
813 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
815 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
817 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
818 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
819 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
823 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
825 if (ndr_flags
& NDR_SCALARS
) {
826 NDR_CHECK(ndr_push_align(ndr
, 8));
827 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
828 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
829 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
831 if (ndr_flags
& NDR_BUFFERS
) {
833 return NDR_ERR_SUCCESS
;
836 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
838 if (ndr_flags
& NDR_SCALARS
) {
839 NDR_CHECK(ndr_pull_align(ndr
, 8));
840 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
841 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
842 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
844 if (ndr_flags
& NDR_BUFFERS
) {
846 return NDR_ERR_SUCCESS
;
849 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
851 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
853 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
854 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
858 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
860 uint32_t cntr_cursors_0
;
861 if (ndr_flags
& NDR_SCALARS
) {
862 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
863 NDR_CHECK(ndr_push_align(ndr
, 8));
864 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
865 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
866 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
867 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
868 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
869 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
871 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
873 if (ndr_flags
& NDR_BUFFERS
) {
875 return NDR_ERR_SUCCESS
;
878 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
880 uint32_t cntr_cursors_0
;
881 TALLOC_CTX
*_mem_save_cursors_0
;
882 if (ndr_flags
& NDR_SCALARS
) {
883 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
884 NDR_CHECK(ndr_pull_align(ndr
, 8));
885 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
886 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
887 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
888 if (r
->count
> 0x100000) {
889 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
891 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
892 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
893 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
894 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
895 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
900 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
902 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
904 if (ndr_flags
& NDR_BUFFERS
) {
906 return NDR_ERR_SUCCESS
;
909 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
911 uint32_t cntr_cursors_0
;
912 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
914 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
915 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
916 ndr_print_uint32(ndr
, "count", r
->count
);
917 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
918 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
920 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
922 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
923 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
931 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
933 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
934 return NDR_ERR_SUCCESS
;
937 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
940 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
942 return NDR_ERR_SUCCESS
;
945 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
947 ndr_print_uint32(ndr
, name
, r
);
949 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE
, r
);
950 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
, r
);
951 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS
, r
);
952 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
);
953 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP", DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP
, r
);
954 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR
, r
);
955 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC
, r
);
956 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY", DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY
, r
);
957 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS
, r
);
958 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS
, r
);
959 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET
, r
);
960 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED
, r
);
961 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING", DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING
, r
);
962 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED
, r
);
963 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS
, r
);
964 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC
, r
);
965 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES
, r
);
966 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS
, r
);
967 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET
, r
);
971 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
974 uint32_t _flags_save_ENUM
= ndr
->flags
;
975 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
976 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
977 ndr
->flags
= _flags_save_ENUM
;
979 return NDR_ERR_SUCCESS
;
982 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
986 uint32_t _flags_save_ENUM
= ndr
->flags
;
987 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
988 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
990 ndr
->flags
= _flags_save_ENUM
;
992 return NDR_ERR_SUCCESS
;
995 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
997 const char *val
= NULL
;
1000 uint32_t _flags_save_ENUM
= ndr
->flags
;
1001 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1003 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
1004 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
1005 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
1006 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
1007 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
1008 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
1009 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
1010 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
1012 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1013 ndr
->flags
= _flags_save_ENUM
;
1017 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError r
)
1020 uint32_t _flags_save_ENUM
= ndr
->flags
;
1021 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1022 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1023 ndr
->flags
= _flags_save_ENUM
;
1025 return NDR_ERR_SUCCESS
;
1028 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*r
)
1032 uint32_t _flags_save_ENUM
= ndr
->flags
;
1033 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1034 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1036 ndr
->flags
= _flags_save_ENUM
;
1038 return NDR_ERR_SUCCESS
;
1041 _PUBLIC_
void ndr_print_drsuapi_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError r
)
1043 const char *val
= NULL
;
1046 uint32_t _flags_save_ENUM
= ndr
->flags
;
1047 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1049 case DRSUAPI_EXOP_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
1050 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1051 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1052 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1053 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1054 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1055 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1056 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1057 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1058 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1059 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1060 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1061 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1062 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1063 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1064 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1065 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1067 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1068 ndr
->flags
= _flags_save_ENUM
;
1072 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1074 if (ndr_flags
& NDR_SCALARS
) {
1075 NDR_CHECK(ndr_push_align(ndr
, 8));
1076 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1077 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1078 if (r
->naming_context
== NULL
) {
1079 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1081 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1082 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1083 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1084 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1085 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1086 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1087 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1088 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1089 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1091 if (ndr_flags
& NDR_BUFFERS
) {
1092 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1093 if (r
->uptodateness_vector
) {
1094 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1097 return NDR_ERR_SUCCESS
;
1100 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1102 uint32_t _ptr_naming_context
;
1103 TALLOC_CTX
*_mem_save_naming_context_0
;
1104 uint32_t _ptr_uptodateness_vector
;
1105 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1106 if (ndr_flags
& NDR_SCALARS
) {
1107 NDR_CHECK(ndr_pull_align(ndr
, 8));
1108 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1109 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1110 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1111 if (_ptr_naming_context
) {
1112 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1114 r
->naming_context
= NULL
;
1116 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1117 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1118 if (_ptr_uptodateness_vector
) {
1119 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1121 r
->uptodateness_vector
= NULL
;
1123 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1124 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1125 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1126 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1127 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1128 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1130 if (ndr_flags
& NDR_BUFFERS
) {
1131 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1132 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1133 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1135 if (r
->uptodateness_vector
) {
1136 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1137 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1138 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1139 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1142 return NDR_ERR_SUCCESS
;
1145 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1147 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1149 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1150 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1151 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1153 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1155 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1156 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1158 if (r
->uptodateness_vector
) {
1159 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1162 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1163 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1164 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1165 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1166 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1170 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOID(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOID
*r
)
1172 if (ndr_flags
& NDR_SCALARS
) {
1173 NDR_CHECK(ndr_push_align(ndr
, 5));
1174 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
1175 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary_oid
));
1176 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1178 if (ndr_flags
& NDR_BUFFERS
) {
1179 if (r
->binary_oid
) {
1180 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
1181 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1184 return NDR_ERR_SUCCESS
;
1187 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOID
*r
)
1189 uint32_t _ptr_binary_oid
;
1190 TALLOC_CTX
*_mem_save_binary_oid_0
;
1191 if (ndr_flags
& NDR_SCALARS
) {
1192 NDR_CHECK(ndr_pull_align(ndr
, 5));
1193 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
1194 if (r
->length
> 10000) {
1195 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1197 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary_oid
));
1198 if (_ptr_binary_oid
) {
1199 NDR_PULL_ALLOC(ndr
, r
->binary_oid
);
1201 r
->binary_oid
= NULL
;
1203 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1205 if (ndr_flags
& NDR_BUFFERS
) {
1206 if (r
->binary_oid
) {
1207 _mem_save_binary_oid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1208 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary_oid
, 0);
1209 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->binary_oid
));
1210 NDR_PULL_ALLOC_N(ndr
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
));
1211 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
)));
1212 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_oid_0
, 0);
1214 if (r
->binary_oid
) {
1215 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->binary_oid
, r
->length
));
1218 return NDR_ERR_SUCCESS
;
1221 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1223 if (ndr_flags
& NDR_SCALARS
) {
1224 NDR_CHECK(ndr_push_align(ndr
, 5));
1225 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1226 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1227 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1229 if (ndr_flags
& NDR_BUFFERS
) {
1230 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1232 return NDR_ERR_SUCCESS
;
1235 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1237 if (ndr_flags
& NDR_SCALARS
) {
1238 NDR_CHECK(ndr_pull_align(ndr
, 5));
1239 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1240 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1241 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1243 if (ndr_flags
& NDR_BUFFERS
) {
1244 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1246 return NDR_ERR_SUCCESS
;
1249 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1251 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1253 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1254 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1258 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1260 uint32_t cntr_mappings_1
;
1261 if (ndr_flags
& NDR_SCALARS
) {
1262 NDR_CHECK(ndr_push_align(ndr
, 5));
1263 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1264 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1265 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1267 if (ndr_flags
& NDR_BUFFERS
) {
1269 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_mappings
));
1270 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1271 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1273 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1274 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1278 return NDR_ERR_SUCCESS
;
1281 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1283 uint32_t _ptr_mappings
;
1284 uint32_t cntr_mappings_1
;
1285 TALLOC_CTX
*_mem_save_mappings_0
;
1286 TALLOC_CTX
*_mem_save_mappings_1
;
1287 if (ndr_flags
& NDR_SCALARS
) {
1288 NDR_CHECK(ndr_pull_align(ndr
, 5));
1289 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1290 if (r
->num_mappings
> 0x100000) {
1291 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1293 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1294 if (_ptr_mappings
) {
1295 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1299 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1301 if (ndr_flags
& NDR_BUFFERS
) {
1303 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1304 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1305 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1306 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, ndr_get_array_size(ndr
, &r
->mappings
));
1307 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1308 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1309 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1312 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1313 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1315 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1319 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1322 return NDR_ERR_SUCCESS
;
1325 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1327 uint32_t cntr_mappings_1
;
1328 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1330 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1331 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1334 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1336 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1338 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1339 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1349 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1352 uint32_t _flags_save_ENUM
= ndr
->flags
;
1353 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1354 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1355 ndr
->flags
= _flags_save_ENUM
;
1357 return NDR_ERR_SUCCESS
;
1360 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1364 uint32_t _flags_save_ENUM
= ndr
->flags
;
1365 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1366 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1368 ndr
->flags
= _flags_save_ENUM
;
1370 return NDR_ERR_SUCCESS
;
1373 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1375 const char *val
= NULL
;
1378 uint32_t _flags_save_ENUM
= ndr
->flags
;
1379 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1381 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1382 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1383 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1384 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1385 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1386 case DRSUAPI_ATTRIBUTE_possSuperiors
: val
= "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1387 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1388 case DRSUAPI_ATTRIBUTE_subClassOf
: val
= "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1389 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1390 case DRSUAPI_ATTRIBUTE_mustContain
: val
= "DRSUAPI_ATTRIBUTE_mustContain"; break;
1391 case DRSUAPI_ATTRIBUTE_mayContain
: val
= "DRSUAPI_ATTRIBUTE_mayContain"; break;
1392 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1393 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1394 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1395 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1396 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1397 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1398 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1399 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1400 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1401 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1402 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1403 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1404 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1405 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1406 case DRSUAPI_ATTRIBUTE_auxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1407 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1408 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1409 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1410 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1411 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1412 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1413 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1414 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1415 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1416 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1417 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1418 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1419 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1420 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1421 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1422 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1423 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1424 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1425 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1426 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1427 case DRSUAPI_ATTRIBUTE_systemPossSuperiors
: val
= "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1428 case DRSUAPI_ATTRIBUTE_systemMayContain
: val
= "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1429 case DRSUAPI_ATTRIBUTE_systemMustContain
: val
= "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1430 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1431 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1432 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1433 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1434 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1435 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1436 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1437 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1438 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1439 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1440 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1441 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1442 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1443 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1444 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1445 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1446 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1447 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1448 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1449 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1451 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1452 ndr
->flags
= _flags_save_ENUM
;
1456 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1458 uint32_t cntr_attids_0
;
1459 if (ndr_flags
& NDR_SCALARS
) {
1460 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attids
));
1461 NDR_CHECK(ndr_push_align(ndr
, 4));
1462 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1463 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1464 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1465 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1466 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1468 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1470 if (ndr_flags
& NDR_BUFFERS
) {
1472 return NDR_ERR_SUCCESS
;
1475 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1477 uint32_t cntr_attids_0
;
1478 TALLOC_CTX
*_mem_save_attids_0
;
1479 if (ndr_flags
& NDR_SCALARS
) {
1480 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1481 NDR_CHECK(ndr_pull_align(ndr
, 4));
1482 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1483 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1484 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1485 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1486 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1488 NDR_PULL_ALLOC_N(ndr
, r
->attids
, ndr_get_array_size(ndr
, &r
->attids
));
1489 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1490 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1491 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1492 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1494 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1496 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1498 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1500 if (ndr_flags
& NDR_BUFFERS
) {
1502 return NDR_ERR_SUCCESS
;
1505 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1507 uint32_t cntr_attids_0
;
1508 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1510 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1511 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1512 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1513 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1515 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1517 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1518 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1526 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1528 if (ndr_flags
& NDR_SCALARS
) {
1529 NDR_CHECK(ndr_push_align(ndr
, 8));
1530 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1531 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1532 if (r
->naming_context
== NULL
) {
1533 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1535 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1536 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1537 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1538 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1539 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1541 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1542 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1543 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1544 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1545 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1546 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1548 if (ndr_flags
& NDR_BUFFERS
) {
1549 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1550 if (r
->uptodateness_vector
) {
1551 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1553 if (r
->partial_attribute_set
) {
1554 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1556 if (r
->partial_attribute_set_ex
) {
1557 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1559 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1561 return NDR_ERR_SUCCESS
;
1564 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1566 uint32_t _ptr_naming_context
;
1567 TALLOC_CTX
*_mem_save_naming_context_0
;
1568 uint32_t _ptr_uptodateness_vector
;
1569 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1570 uint32_t _ptr_partial_attribute_set
;
1571 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1572 uint32_t _ptr_partial_attribute_set_ex
;
1573 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1574 if (ndr_flags
& NDR_SCALARS
) {
1575 NDR_CHECK(ndr_pull_align(ndr
, 8));
1576 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1577 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1578 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1579 if (_ptr_naming_context
) {
1580 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1582 r
->naming_context
= NULL
;
1584 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1585 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1586 if (_ptr_uptodateness_vector
) {
1587 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1589 r
->uptodateness_vector
= NULL
;
1591 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1592 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1593 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1594 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1595 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1596 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1597 if (_ptr_partial_attribute_set
) {
1598 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1600 r
->partial_attribute_set
= NULL
;
1602 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1603 if (_ptr_partial_attribute_set_ex
) {
1604 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1606 r
->partial_attribute_set_ex
= NULL
;
1608 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1609 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1611 if (ndr_flags
& NDR_BUFFERS
) {
1612 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1613 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1614 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1615 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1616 if (r
->uptodateness_vector
) {
1617 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1618 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1620 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1622 if (r
->partial_attribute_set
) {
1623 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1624 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1625 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1626 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1628 if (r
->partial_attribute_set_ex
) {
1629 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1630 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1631 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1632 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1636 return NDR_ERR_SUCCESS
;
1639 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1641 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1643 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1644 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1645 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1647 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1649 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1650 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1652 if (r
->uptodateness_vector
) {
1653 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1656 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1657 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1658 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1659 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1660 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1661 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1663 if (r
->partial_attribute_set
) {
1664 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1667 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1669 if (r
->partial_attribute_set_ex
) {
1670 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1673 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1677 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1679 if (ndr_flags
& NDR_SCALARS
) {
1680 NDR_CHECK(ndr_push_align(ndr
, 8));
1681 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1682 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1683 if (r
->naming_context
== NULL
) {
1684 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1686 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1687 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1688 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1689 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
1690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1692 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1693 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1694 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1695 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1696 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1697 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_flags
));
1698 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1700 if (ndr_flags
& NDR_BUFFERS
) {
1701 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1702 if (r
->uptodateness_vector
) {
1703 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1705 if (r
->partial_attribute_set
) {
1706 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1708 if (r
->partial_attribute_set_ex
) {
1709 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1713 return NDR_ERR_SUCCESS
;
1716 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest10
*r
)
1718 uint32_t _ptr_naming_context
;
1719 TALLOC_CTX
*_mem_save_naming_context_0
;
1720 uint32_t _ptr_uptodateness_vector
;
1721 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1722 uint32_t _ptr_partial_attribute_set
;
1723 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1724 uint32_t _ptr_partial_attribute_set_ex
;
1725 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1726 if (ndr_flags
& NDR_SCALARS
) {
1727 NDR_CHECK(ndr_pull_align(ndr
, 8));
1728 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1729 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1730 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1731 if (_ptr_naming_context
) {
1732 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1734 r
->naming_context
= NULL
;
1736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1737 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1738 if (_ptr_uptodateness_vector
) {
1739 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1741 r
->uptodateness_vector
= NULL
;
1743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1744 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1745 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1746 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1747 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1748 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1749 if (_ptr_partial_attribute_set
) {
1750 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1752 r
->partial_attribute_set
= NULL
;
1754 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1755 if (_ptr_partial_attribute_set_ex
) {
1756 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1758 r
->partial_attribute_set_ex
= NULL
;
1760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1761 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_flags
));
1762 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1764 if (ndr_flags
& NDR_BUFFERS
) {
1765 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1766 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1768 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1769 if (r
->uptodateness_vector
) {
1770 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1771 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1772 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1773 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1775 if (r
->partial_attribute_set
) {
1776 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1777 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1778 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1779 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1781 if (r
->partial_attribute_set_ex
) {
1782 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1783 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1784 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1785 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1789 return NDR_ERR_SUCCESS
;
1792 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1794 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest10");
1796 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1797 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1798 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1800 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1802 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1803 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1805 if (r
->uptodateness_vector
) {
1806 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1809 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
1810 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1811 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1812 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1813 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1814 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1816 if (r
->partial_attribute_set
) {
1817 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1820 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1822 if (r
->partial_attribute_set_ex
) {
1823 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1826 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1827 ndr_print_uint32(ndr
, "more_flags", r
->more_flags
);
1831 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1833 if (ndr_flags
& NDR_SCALARS
) {
1834 int level
= ndr_push_get_switch_value(ndr
, r
);
1835 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
1836 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1843 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1847 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1851 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1854 if (ndr_flags
& NDR_BUFFERS
) {
1855 int level
= ndr_push_get_switch_value(ndr
, r
);
1858 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1862 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1866 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1870 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1873 return NDR_ERR_SUCCESS
;
1876 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1880 level
= ndr_pull_get_switch_value(ndr
, r
);
1881 if (ndr_flags
& NDR_SCALARS
) {
1882 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
1883 if (_level
!= level
) {
1884 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1886 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1893 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1897 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1901 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1904 if (ndr_flags
& NDR_BUFFERS
) {
1907 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1911 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1915 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1919 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1922 return NDR_ERR_SUCCESS
;
1925 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1928 level
= ndr_print_get_switch_value(ndr
, r
);
1929 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1932 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1936 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1940 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr
, "req10", &r
->req10
);
1944 ndr_print_bad_level(ndr
, name
, level
);
1948 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1950 if (ndr_flags
& NDR_SCALARS
) {
1951 NDR_CHECK(ndr_push_align(ndr
, 8));
1952 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1953 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1954 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1955 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1957 if (ndr_flags
& NDR_BUFFERS
) {
1959 return NDR_ERR_SUCCESS
;
1962 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1964 if (ndr_flags
& NDR_SCALARS
) {
1965 NDR_CHECK(ndr_pull_align(ndr
, 8));
1966 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1967 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1968 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1969 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1971 if (ndr_flags
& NDR_BUFFERS
) {
1973 return NDR_ERR_SUCCESS
;
1976 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1978 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1980 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1981 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1982 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1986 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1988 uint32_t cntr_cursors_0
;
1989 if (ndr_flags
& NDR_SCALARS
) {
1990 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1991 NDR_CHECK(ndr_push_align(ndr
, 8));
1992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1994 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1996 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1997 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1999 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2001 if (ndr_flags
& NDR_BUFFERS
) {
2003 return NDR_ERR_SUCCESS
;
2006 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
2008 uint32_t cntr_cursors_0
;
2009 TALLOC_CTX
*_mem_save_cursors_0
;
2010 if (ndr_flags
& NDR_SCALARS
) {
2011 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
2012 NDR_CHECK(ndr_pull_align(ndr
, 8));
2013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2014 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
2015 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2016 if (r
->count
> 0x100000) {
2017 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2019 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
2020 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
2021 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2022 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
2023 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
2024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
2026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
2028 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
2030 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2032 if (ndr_flags
& NDR_BUFFERS
) {
2034 return NDR_ERR_SUCCESS
;
2037 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
2039 uint32_t cntr_cursors_0
;
2040 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
2042 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
2043 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2044 ndr_print_uint32(ndr
, "count", r
->count
);
2045 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2046 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
2048 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
2050 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
2051 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
2059 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
2061 if (ndr_flags
& NDR_SCALARS
) {
2062 NDR_CHECK(ndr_push_align(ndr
, 5));
2063 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
2064 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
2065 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2067 if (ndr_flags
& NDR_BUFFERS
) {
2069 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
2072 return NDR_ERR_SUCCESS
;
2075 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
2078 TALLOC_CTX
*_mem_save_blob_0
;
2079 if (ndr_flags
& NDR_SCALARS
) {
2080 NDR_CHECK(ndr_pull_align(ndr
, 5));
2081 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2082 if (r
->__ndr_size
> 10485760) {
2083 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2085 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
2087 NDR_PULL_ALLOC(ndr
, r
->blob
);
2091 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2093 if (ndr_flags
& NDR_BUFFERS
) {
2095 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2096 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
2097 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
2098 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
2101 return NDR_ERR_SUCCESS
;
2104 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
2106 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
2108 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
2109 ndr_print_ptr(ndr
, "blob", r
->blob
);
2112 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
2118 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
2120 uint32_t cntr_values_1
;
2121 if (ndr_flags
& NDR_SCALARS
) {
2122 NDR_CHECK(ndr_push_align(ndr
, 5));
2123 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
2124 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
2125 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2127 if (ndr_flags
& NDR_BUFFERS
) {
2129 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_values
));
2130 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2131 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2133 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2134 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2138 return NDR_ERR_SUCCESS
;
2141 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
2143 uint32_t _ptr_values
;
2144 uint32_t cntr_values_1
;
2145 TALLOC_CTX
*_mem_save_values_0
;
2146 TALLOC_CTX
*_mem_save_values_1
;
2147 if (ndr_flags
& NDR_SCALARS
) {
2148 NDR_CHECK(ndr_pull_align(ndr
, 5));
2149 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
2150 if (r
->num_values
> 10485760) {
2151 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2153 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
2155 NDR_PULL_ALLOC(ndr
, r
->values
);
2159 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2161 if (ndr_flags
& NDR_BUFFERS
) {
2163 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2164 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2165 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
2166 NDR_PULL_ALLOC_N(ndr
, r
->values
, ndr_get_array_size(ndr
, &r
->values
));
2167 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2168 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2169 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2170 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2172 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2173 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2175 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
2176 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
2179 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
2182 return NDR_ERR_SUCCESS
;
2185 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
2187 uint32_t cntr_values_1
;
2188 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
2190 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
2191 ndr_print_ptr(ndr
, "values", r
->values
);
2194 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
2196 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
2198 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
2199 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
2209 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2211 if (ndr_flags
& NDR_SCALARS
) {
2212 NDR_CHECK(ndr_push_align(ndr
, 4));
2213 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2214 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2215 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2216 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2217 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2218 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2219 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2221 if (ndr_flags
& NDR_BUFFERS
) {
2222 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2224 return NDR_ERR_SUCCESS
;
2227 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2229 if (ndr_flags
& NDR_SCALARS
) {
2230 NDR_CHECK(ndr_pull_align(ndr
, 4));
2231 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2232 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2233 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2234 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2235 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2236 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2237 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2239 if (ndr_flags
& NDR_BUFFERS
) {
2240 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2242 return NDR_ERR_SUCCESS
;
2245 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2247 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
2249 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
);
2250 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
);
2251 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2252 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2253 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2254 ndr_print_string(ndr
, "dn", r
->dn
);
2258 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2260 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
2263 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2265 if (ndr_flags
& NDR_SCALARS
) {
2266 NDR_CHECK(ndr_push_align(ndr
, 4));
2267 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2268 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2269 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2270 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2271 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2272 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2273 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
2275 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2276 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2277 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
2278 ndr
->flags
= _flags_save_DATA_BLOB
;
2280 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2282 if (ndr_flags
& NDR_BUFFERS
) {
2283 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2285 return NDR_ERR_SUCCESS
;
2288 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2290 if (ndr_flags
& NDR_SCALARS
) {
2291 NDR_CHECK(ndr_pull_align(ndr
, 4));
2292 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2293 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2294 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2295 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2296 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2297 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2298 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
2300 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2301 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2302 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
2303 ndr
->flags
= _flags_save_DATA_BLOB
;
2305 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2307 if (ndr_flags
& NDR_BUFFERS
) {
2308 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2310 return NDR_ERR_SUCCESS
;
2313 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2315 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2317 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
);
2318 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
);
2319 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2320 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2321 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2322 ndr_print_string(ndr
, "dn", r
->dn
);
2323 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2324 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2328 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2330 if (ndr_flags
& NDR_SCALARS
) {
2331 NDR_CHECK(ndr_push_align(ndr
, 5));
2332 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2333 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2334 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2336 if (ndr_flags
& NDR_BUFFERS
) {
2337 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2339 return NDR_ERR_SUCCESS
;
2342 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2344 if (ndr_flags
& NDR_SCALARS
) {
2345 NDR_CHECK(ndr_pull_align(ndr
, 5));
2346 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2347 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2348 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2350 if (ndr_flags
& NDR_BUFFERS
) {
2351 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2353 return NDR_ERR_SUCCESS
;
2356 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2358 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2360 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2361 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2365 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2367 uint32_t cntr_attributes_1
;
2368 if (ndr_flags
& NDR_SCALARS
) {
2369 NDR_CHECK(ndr_push_align(ndr
, 5));
2370 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2371 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2372 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2374 if (ndr_flags
& NDR_BUFFERS
) {
2375 if (r
->attributes
) {
2376 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2377 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2378 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2380 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2381 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2385 return NDR_ERR_SUCCESS
;
2388 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2390 uint32_t _ptr_attributes
;
2391 uint32_t cntr_attributes_1
;
2392 TALLOC_CTX
*_mem_save_attributes_0
;
2393 TALLOC_CTX
*_mem_save_attributes_1
;
2394 if (ndr_flags
& NDR_SCALARS
) {
2395 NDR_CHECK(ndr_pull_align(ndr
, 5));
2396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2397 if (r
->num_attributes
> 1048576) {
2398 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2400 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2401 if (_ptr_attributes
) {
2402 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2404 r
->attributes
= NULL
;
2406 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2408 if (ndr_flags
& NDR_BUFFERS
) {
2409 if (r
->attributes
) {
2410 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2411 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2412 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2413 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, ndr_get_array_size(ndr
, &r
->attributes
));
2414 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2415 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2416 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2417 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2419 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2420 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2423 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2425 if (r
->attributes
) {
2426 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2429 return NDR_ERR_SUCCESS
;
2432 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2434 uint32_t cntr_attributes_1
;
2435 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2437 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2438 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2440 if (r
->attributes
) {
2441 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2443 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2445 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2446 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2456 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2458 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2459 return NDR_ERR_SUCCESS
;
2462 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2465 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2467 return NDR_ERR_SUCCESS
;
2470 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2472 ndr_print_uint32(ndr
, name
, r
);
2474 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2475 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2476 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2480 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2482 if (ndr_flags
& NDR_SCALARS
) {
2483 NDR_CHECK(ndr_push_align(ndr
, 5));
2484 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2485 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2486 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2487 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2489 if (ndr_flags
& NDR_BUFFERS
) {
2490 if (r
->identifier
) {
2491 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2493 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2495 return NDR_ERR_SUCCESS
;
2498 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2500 uint32_t _ptr_identifier
;
2501 TALLOC_CTX
*_mem_save_identifier_0
;
2502 if (ndr_flags
& NDR_SCALARS
) {
2503 NDR_CHECK(ndr_pull_align(ndr
, 5));
2504 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2505 if (_ptr_identifier
) {
2506 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2508 r
->identifier
= NULL
;
2510 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2511 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2512 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2514 if (ndr_flags
& NDR_BUFFERS
) {
2515 if (r
->identifier
) {
2516 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2517 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2518 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2519 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2521 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2523 return NDR_ERR_SUCCESS
;
2526 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2528 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2530 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2532 if (r
->identifier
) {
2533 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2536 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2537 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2541 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2543 if (ndr_flags
& NDR_SCALARS
) {
2544 NDR_CHECK(ndr_push_align(ndr
, 8));
2545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2546 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2547 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2548 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2549 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2551 if (ndr_flags
& NDR_BUFFERS
) {
2553 return NDR_ERR_SUCCESS
;
2556 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2558 if (ndr_flags
& NDR_SCALARS
) {
2559 NDR_CHECK(ndr_pull_align(ndr
, 8));
2560 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2561 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2562 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2563 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2564 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2566 if (ndr_flags
& NDR_BUFFERS
) {
2568 return NDR_ERR_SUCCESS
;
2571 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2573 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2575 ndr_print_uint32(ndr
, "version", r
->version
);
2576 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2577 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2578 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2582 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2584 uint32_t cntr_meta_data_0
;
2585 if (ndr_flags
& NDR_SCALARS
) {
2586 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2587 NDR_CHECK(ndr_push_align(ndr
, 8));
2588 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2589 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2590 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2592 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2594 if (ndr_flags
& NDR_BUFFERS
) {
2596 return NDR_ERR_SUCCESS
;
2599 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2601 uint32_t cntr_meta_data_0
;
2602 TALLOC_CTX
*_mem_save_meta_data_0
;
2603 if (ndr_flags
& NDR_SCALARS
) {
2604 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2605 NDR_CHECK(ndr_pull_align(ndr
, 8));
2606 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2607 if (r
->count
> 1048576) {
2608 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2610 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, ndr_get_array_size(ndr
, &r
->meta_data
));
2611 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2612 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2613 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2614 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2616 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2618 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2620 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2622 if (ndr_flags
& NDR_BUFFERS
) {
2624 return NDR_ERR_SUCCESS
;
2627 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2629 uint32_t cntr_meta_data_0
;
2630 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2632 ndr_print_uint32(ndr
, "count", r
->count
);
2633 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2635 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2637 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2638 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2646 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2648 if (ndr_flags
& NDR_SCALARS
) {
2649 NDR_CHECK(ndr_push_align(ndr
, 5));
2650 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2651 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2652 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2653 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2654 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2655 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2657 if (ndr_flags
& NDR_BUFFERS
) {
2658 if (r
->next_object
) {
2659 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2661 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2662 if (r
->parent_object_guid
) {
2663 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2665 if (r
->meta_data_ctr
) {
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2669 return NDR_ERR_SUCCESS
;
2672 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2674 uint32_t _ptr_next_object
;
2675 TALLOC_CTX
*_mem_save_next_object_0
;
2676 uint32_t _ptr_parent_object_guid
;
2677 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2678 uint32_t _ptr_meta_data_ctr
;
2679 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2680 if (ndr_flags
& NDR_SCALARS
) {
2681 NDR_CHECK(ndr_pull_align(ndr
, 5));
2682 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2683 if (_ptr_next_object
) {
2684 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2686 r
->next_object
= NULL
;
2688 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2689 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2690 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2691 if (_ptr_parent_object_guid
) {
2692 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2694 r
->parent_object_guid
= NULL
;
2696 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2697 if (_ptr_meta_data_ctr
) {
2698 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2700 r
->meta_data_ctr
= NULL
;
2702 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2704 if (ndr_flags
& NDR_BUFFERS
) {
2705 if (r
->next_object
) {
2706 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2707 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2709 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2712 if (r
->parent_object_guid
) {
2713 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2714 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2715 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2716 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2718 if (r
->meta_data_ctr
) {
2719 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2720 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2721 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2722 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2725 return NDR_ERR_SUCCESS
;
2728 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2730 if (ndr_flags
& NDR_SCALARS
) {
2731 NDR_CHECK(ndr_push_align(ndr
, 8));
2732 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2733 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2734 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2735 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2736 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2737 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2738 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2739 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2740 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2741 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2742 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2743 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2744 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2746 if (ndr_flags
& NDR_BUFFERS
) {
2747 if (r
->naming_context
) {
2748 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2750 if (r
->uptodateness_vector
) {
2751 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2753 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2754 if (r
->first_object
) {
2755 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2758 return NDR_ERR_SUCCESS
;
2761 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2763 uint32_t _ptr_naming_context
;
2764 TALLOC_CTX
*_mem_save_naming_context_0
;
2765 uint32_t _ptr_uptodateness_vector
;
2766 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2767 uint32_t _ptr_first_object
;
2768 TALLOC_CTX
*_mem_save_first_object_0
;
2769 if (ndr_flags
& NDR_SCALARS
) {
2770 NDR_CHECK(ndr_pull_align(ndr
, 8));
2771 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2772 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2773 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2774 if (_ptr_naming_context
) {
2775 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2777 r
->naming_context
= NULL
;
2779 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2780 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2781 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2782 if (_ptr_uptodateness_vector
) {
2783 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2785 r
->uptodateness_vector
= NULL
;
2787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2788 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2789 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2790 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2791 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2792 if (_ptr_first_object
) {
2793 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2795 r
->first_object
= NULL
;
2797 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2798 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2800 if (ndr_flags
& NDR_BUFFERS
) {
2801 if (r
->naming_context
) {
2802 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2803 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2804 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2805 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2807 if (r
->uptodateness_vector
) {
2808 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2809 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2810 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2811 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2813 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2814 if (r
->first_object
) {
2815 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2816 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2817 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2818 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2821 return NDR_ERR_SUCCESS
;
2824 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2826 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2828 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2829 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2830 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2832 if (r
->naming_context
) {
2833 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2836 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2837 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2838 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2840 if (r
->uptodateness_vector
) {
2841 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2844 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2845 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2846 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2847 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
);
2848 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2850 if (r
->first_object
) {
2851 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2854 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2858 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2860 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2863 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2865 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2866 return NDR_ERR_SUCCESS
;
2869 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2872 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2874 return NDR_ERR_SUCCESS
;
2877 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2879 ndr_print_uint32(ndr
, name
, r
);
2881 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2885 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2887 if (ndr_flags
& NDR_SCALARS
) {
2888 NDR_CHECK(ndr_push_align(ndr
, 8));
2889 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2890 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2891 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2892 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2893 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2894 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2895 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2897 if (ndr_flags
& NDR_BUFFERS
) {
2898 if (r
->identifier
) {
2899 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2901 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2903 return NDR_ERR_SUCCESS
;
2906 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2908 uint32_t _ptr_identifier
;
2909 TALLOC_CTX
*_mem_save_identifier_0
;
2910 if (ndr_flags
& NDR_SCALARS
) {
2911 NDR_CHECK(ndr_pull_align(ndr
, 8));
2912 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2913 if (_ptr_identifier
) {
2914 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2916 r
->identifier
= NULL
;
2918 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2919 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2920 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2921 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2922 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2923 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2925 if (ndr_flags
& NDR_BUFFERS
) {
2926 if (r
->identifier
) {
2927 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2928 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2929 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2930 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2932 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2934 return NDR_ERR_SUCCESS
;
2937 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2939 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2941 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2943 if (r
->identifier
) {
2944 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2947 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2948 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2949 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2950 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2951 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2955 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2957 uint32_t cntr_linked_attributes_1
;
2958 if (ndr_flags
& NDR_SCALARS
) {
2959 NDR_CHECK(ndr_push_align(ndr
, 8));
2960 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2961 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2962 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2963 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2964 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2965 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2966 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2967 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2968 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2969 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2970 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2971 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2972 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2973 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2974 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2975 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2976 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2977 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2979 if (ndr_flags
& NDR_BUFFERS
) {
2980 if (r
->naming_context
) {
2981 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2983 if (r
->uptodateness_vector
) {
2984 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2986 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2987 if (r
->first_object
) {
2988 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2990 if (r
->linked_attributes
) {
2991 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2992 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2993 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2995 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2996 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3000 return NDR_ERR_SUCCESS
;
3003 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
3005 uint32_t _ptr_naming_context
;
3006 TALLOC_CTX
*_mem_save_naming_context_0
;
3007 uint32_t _ptr_uptodateness_vector
;
3008 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
3009 uint32_t _ptr_first_object
;
3010 TALLOC_CTX
*_mem_save_first_object_0
;
3011 uint32_t _ptr_linked_attributes
;
3012 uint32_t cntr_linked_attributes_1
;
3013 TALLOC_CTX
*_mem_save_linked_attributes_0
;
3014 TALLOC_CTX
*_mem_save_linked_attributes_1
;
3015 if (ndr_flags
& NDR_SCALARS
) {
3016 NDR_CHECK(ndr_pull_align(ndr
, 8));
3017 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
3018 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
3019 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
3020 if (_ptr_naming_context
) {
3021 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3023 r
->naming_context
= NULL
;
3025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
3026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
3027 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
3028 if (_ptr_uptodateness_vector
) {
3029 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
3031 r
->uptodateness_vector
= NULL
;
3033 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
3034 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
3035 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
3036 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
3037 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
3038 if (_ptr_first_object
) {
3039 NDR_PULL_ALLOC(ndr
, r
->first_object
);
3041 r
->first_object
= NULL
;
3043 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
3044 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
3045 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
3046 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
3047 if (r
->linked_attributes_count
> 1048576) {
3048 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3050 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
3051 if (_ptr_linked_attributes
) {
3052 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
3054 r
->linked_attributes
= NULL
;
3056 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
3057 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3059 if (ndr_flags
& NDR_BUFFERS
) {
3060 if (r
->naming_context
) {
3061 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3062 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3063 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3064 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3066 if (r
->uptodateness_vector
) {
3067 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3068 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
3069 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
3070 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3072 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3073 if (r
->first_object
) {
3074 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3075 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3076 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3077 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3079 if (r
->linked_attributes
) {
3080 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3081 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3082 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3083 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, ndr_get_array_size(ndr
, &r
->linked_attributes
));
3084 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3085 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3086 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3087 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3089 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3090 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3095 if (r
->linked_attributes
) {
3096 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3099 return NDR_ERR_SUCCESS
;
3102 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3104 uint32_t cntr_linked_attributes_1
;
3105 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3107 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3108 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3109 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3111 if (r
->naming_context
) {
3112 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3115 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3116 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3117 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3119 if (r
->uptodateness_vector
) {
3120 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3123 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3124 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3125 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3126 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
);
3127 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3129 if (r
->first_object
) {
3130 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3133 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3134 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3135 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3136 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3137 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3139 if (r
->linked_attributes
) {
3140 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3142 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3144 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3145 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3152 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3156 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3158 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3161 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3163 if (ndr_flags
& NDR_SCALARS
) {
3164 NDR_CHECK(ndr_push_align(ndr
, 1));
3166 struct ndr_push
*_ndr_ctr1
;
3167 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3168 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3169 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3171 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3173 if (ndr_flags
& NDR_BUFFERS
) {
3175 return NDR_ERR_SUCCESS
;
3178 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3180 if (ndr_flags
& NDR_SCALARS
) {
3181 NDR_CHECK(ndr_pull_align(ndr
, 1));
3183 struct ndr_pull
*_ndr_ctr1
;
3184 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3185 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3186 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3188 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3190 if (ndr_flags
& NDR_BUFFERS
) {
3192 return NDR_ERR_SUCCESS
;
3195 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3197 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3199 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3203 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3205 if (ndr_flags
& NDR_SCALARS
) {
3206 NDR_CHECK(ndr_push_align(ndr
, 1));
3208 struct ndr_push
*_ndr_ctr6
;
3209 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3210 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3211 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3213 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3215 if (ndr_flags
& NDR_BUFFERS
) {
3217 return NDR_ERR_SUCCESS
;
3220 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3222 if (ndr_flags
& NDR_SCALARS
) {
3223 NDR_CHECK(ndr_pull_align(ndr
, 1));
3225 struct ndr_pull
*_ndr_ctr6
;
3226 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3227 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3228 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3230 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3232 if (ndr_flags
& NDR_BUFFERS
) {
3234 return NDR_ERR_SUCCESS
;
3237 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3239 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3241 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3245 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3248 TALLOC_CTX
*_mem_save_ts_0
;
3249 if (ndr_flags
& NDR_SCALARS
) {
3250 NDR_CHECK(ndr_pull_align(ndr
, 5));
3251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3252 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3253 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3255 NDR_PULL_ALLOC(ndr
, r
->ts
);
3259 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3261 if (ndr_flags
& NDR_BUFFERS
) {
3263 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3264 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3266 struct ndr_pull
*_ndr_ts
;
3267 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3269 struct ndr_pull
*_ndr_ts_compressed
;
3270 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3271 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3272 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3274 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3276 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3279 return NDR_ERR_SUCCESS
;
3282 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3284 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3286 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3287 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3288 ndr_print_ptr(ndr
, "ts", r
->ts
);
3291 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3297 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3300 TALLOC_CTX
*_mem_save_ts_0
;
3301 if (ndr_flags
& NDR_SCALARS
) {
3302 NDR_CHECK(ndr_pull_align(ndr
, 5));
3303 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3304 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3305 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3307 NDR_PULL_ALLOC(ndr
, r
->ts
);
3311 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3313 if (ndr_flags
& NDR_BUFFERS
) {
3315 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3316 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3318 struct ndr_pull
*_ndr_ts
;
3319 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3321 struct ndr_pull
*_ndr_ts_compressed
;
3322 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3323 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3324 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3326 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3328 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3331 return NDR_ERR_SUCCESS
;
3334 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3336 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3338 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3339 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3340 ndr_print_ptr(ndr
, "ts", r
->ts
);
3343 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3349 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3352 TALLOC_CTX
*_mem_save_ts_0
;
3353 if (ndr_flags
& NDR_SCALARS
) {
3354 NDR_CHECK(ndr_pull_align(ndr
, 5));
3355 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3356 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3357 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3359 NDR_PULL_ALLOC(ndr
, r
->ts
);
3363 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3365 if (ndr_flags
& NDR_BUFFERS
) {
3367 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3368 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3370 struct ndr_pull
*_ndr_ts
;
3371 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3373 struct ndr_pull
*_ndr_ts_compressed
;
3374 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3375 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3376 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3378 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3383 return NDR_ERR_SUCCESS
;
3386 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3388 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3390 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3391 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3392 ndr_print_ptr(ndr
, "ts", r
->ts
);
3395 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3401 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3404 TALLOC_CTX
*_mem_save_ts_0
;
3405 if (ndr_flags
& NDR_SCALARS
) {
3406 NDR_CHECK(ndr_pull_align(ndr
, 5));
3407 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3408 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3409 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3411 NDR_PULL_ALLOC(ndr
, r
->ts
);
3415 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3417 if (ndr_flags
& NDR_BUFFERS
) {
3419 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3420 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3422 struct ndr_pull
*_ndr_ts
;
3423 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3425 struct ndr_pull
*_ndr_ts_compressed
;
3426 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3427 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3428 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3430 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3435 return NDR_ERR_SUCCESS
;
3438 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3440 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3442 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3443 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3444 ndr_print_ptr(ndr
, "ts", r
->ts
);
3447 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3453 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3455 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3456 return NDR_ERR_SUCCESS
;
3459 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3462 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3464 return NDR_ERR_SUCCESS
;
3467 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3469 const char *val
= NULL
;
3472 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3473 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3475 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3478 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3481 uint32_t _flags_save_UNION
= ndr
->flags
;
3482 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3483 if (ndr_flags
& NDR_SCALARS
) {
3484 int level
= ndr_push_get_switch_value(ndr
, r
);
3485 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3487 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3488 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3491 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3492 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3495 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3496 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3499 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3500 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3504 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3507 if (ndr_flags
& NDR_BUFFERS
) {
3508 int level
= ndr_push_get_switch_value(ndr
, r
);
3510 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3511 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3514 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3515 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3518 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3519 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3522 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3523 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3527 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3530 ndr
->flags
= _flags_save_UNION
;
3532 return NDR_ERR_SUCCESS
;
3535 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3539 uint32_t _flags_save_UNION
= ndr
->flags
;
3540 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3541 level
= ndr_pull_get_switch_value(ndr
, r
);
3542 if (ndr_flags
& NDR_SCALARS
) {
3543 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3545 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3546 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3549 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3550 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3553 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3554 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3557 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3558 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3562 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3565 if (ndr_flags
& NDR_BUFFERS
) {
3567 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3568 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3571 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3572 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3575 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3576 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3579 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3580 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3584 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3587 ndr
->flags
= _flags_save_UNION
;
3589 return NDR_ERR_SUCCESS
;
3592 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3596 uint32_t _flags_save_UNION
= ndr
->flags
;
3597 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3598 level
= ndr_print_get_switch_value(ndr
, r
);
3599 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3601 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3602 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3605 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3606 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3609 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3610 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3613 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3614 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3618 ndr_print_bad_level(ndr
, name
, level
);
3620 ndr
->flags
= _flags_save_UNION
;
3624 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3626 if (ndr_flags
& NDR_SCALARS
) {
3627 NDR_CHECK(ndr_push_align(ndr
, 5));
3628 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3629 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3631 if (ndr_flags
& NDR_BUFFERS
) {
3632 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3634 return NDR_ERR_SUCCESS
;
3637 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3639 if (ndr_flags
& NDR_SCALARS
) {
3640 NDR_CHECK(ndr_pull_align(ndr
, 5));
3641 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3642 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3644 if (ndr_flags
& NDR_BUFFERS
) {
3645 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3647 return NDR_ERR_SUCCESS
;
3650 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3652 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3654 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3658 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3660 if (ndr_flags
& NDR_SCALARS
) {
3661 NDR_CHECK(ndr_push_align(ndr
, 5));
3662 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
3663 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3664 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3665 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3666 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3668 if (ndr_flags
& NDR_BUFFERS
) {
3669 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3671 return NDR_ERR_SUCCESS
;
3674 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3676 if (ndr_flags
& NDR_SCALARS
) {
3677 NDR_CHECK(ndr_pull_align(ndr
, 5));
3678 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
3679 if (r
->level
< 0 || r
->level
> 6) {
3680 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3682 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3683 if (r
->type
< 2 || r
->type
> 3) {
3684 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3686 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3687 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3688 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3690 if (ndr_flags
& NDR_BUFFERS
) {
3691 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3693 return NDR_ERR_SUCCESS
;
3696 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3698 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3700 ndr_print_int32(ndr
, "level", r
->level
);
3701 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3702 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3703 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3707 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3709 if (ndr_flags
& NDR_SCALARS
) {
3710 int level
= ndr_push_get_switch_value(ndr
, r
);
3711 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3712 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3715 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3719 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3723 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3727 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3731 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3734 if (ndr_flags
& NDR_BUFFERS
) {
3735 int level
= ndr_push_get_switch_value(ndr
, r
);
3738 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3742 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3746 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3750 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3754 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3757 return NDR_ERR_SUCCESS
;
3760 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3764 level
= ndr_pull_get_switch_value(ndr
, r
);
3765 if (ndr_flags
& NDR_SCALARS
) {
3766 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3767 if (_level
!= level
) {
3768 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3770 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3773 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3777 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3781 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3785 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3789 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3792 if (ndr_flags
& NDR_BUFFERS
) {
3795 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3799 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3803 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3807 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3811 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3814 return NDR_ERR_SUCCESS
;
3817 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3820 level
= ndr_print_get_switch_value(ndr
, r
);
3821 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3824 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3828 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3832 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3836 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3840 ndr_print_bad_level(ndr
, name
, level
);
3844 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3846 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3847 return NDR_ERR_SUCCESS
;
3850 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3853 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3855 return NDR_ERR_SUCCESS
;
3858 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3860 ndr_print_uint32(ndr
, name
, r
);
3862 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION
, r
);
3863 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK
, r
);
3864 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE
, r
);
3865 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE
, r
);
3866 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE
, r
);
3870 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3872 if (ndr_flags
& NDR_SCALARS
) {
3873 NDR_CHECK(ndr_push_align(ndr
, 5));
3874 if (r
->naming_context
== NULL
) {
3875 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3877 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3878 if (r
->dest_dsa_dns_name
== NULL
) {
3879 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3881 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3882 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3883 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->options
));
3884 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3886 if (ndr_flags
& NDR_BUFFERS
) {
3887 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3888 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3889 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3890 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3891 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
));
3893 return NDR_ERR_SUCCESS
;
3896 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3898 uint32_t _ptr_naming_context
;
3899 TALLOC_CTX
*_mem_save_naming_context_0
;
3900 uint32_t _ptr_dest_dsa_dns_name
;
3901 if (ndr_flags
& NDR_SCALARS
) {
3902 NDR_CHECK(ndr_pull_align(ndr
, 5));
3903 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3904 if (_ptr_naming_context
) {
3905 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3907 r
->naming_context
= NULL
;
3909 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3910 if (_ptr_dest_dsa_dns_name
) {
3911 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3913 r
->dest_dsa_dns_name
= NULL
;
3915 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3916 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3917 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3919 if (ndr_flags
& NDR_BUFFERS
) {
3920 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3921 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3922 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3923 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3924 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3925 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3926 if (ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
) > ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
)) {
3927 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
), ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
));
3929 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t)));
3930 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dest_dsa_dns_name
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t), CH_DOS
));
3932 return NDR_ERR_SUCCESS
;
3935 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3937 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3939 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3941 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3943 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3945 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3947 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3948 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "options", r
->options
);
3952 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3954 if (ndr_flags
& NDR_SCALARS
) {
3955 int level
= ndr_push_get_switch_value(ndr
, r
);
3956 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3957 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3960 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3964 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3967 if (ndr_flags
& NDR_BUFFERS
) {
3968 int level
= ndr_push_get_switch_value(ndr
, r
);
3971 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3975 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3978 return NDR_ERR_SUCCESS
;
3981 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3985 level
= ndr_pull_get_switch_value(ndr
, r
);
3986 if (ndr_flags
& NDR_SCALARS
) {
3987 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3988 if (_level
!= level
) {
3989 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3991 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3998 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4001 if (ndr_flags
& NDR_BUFFERS
) {
4004 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4008 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4011 return NDR_ERR_SUCCESS
;
4014 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
4017 level
= ndr_print_get_switch_value(ndr
, r
);
4018 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
4021 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
4025 ndr_print_bad_level(ndr
, name
, level
);
4029 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4031 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4032 return NDR_ERR_SUCCESS
;
4035 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4038 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4040 return NDR_ERR_SUCCESS
;
4043 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4045 ndr_print_uint32(ndr
, name
, r
);
4047 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4048 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4052 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4054 if (ndr_flags
& NDR_SCALARS
) {
4055 NDR_CHECK(ndr_push_align(ndr
, 5));
4056 if (r
->naming_context
== NULL
) {
4057 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4059 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4060 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4061 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4062 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->options
));
4063 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4065 if (ndr_flags
& NDR_BUFFERS
) {
4066 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4067 if (r
->source_dsa_address
) {
4068 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4069 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4070 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4071 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
));
4074 return NDR_ERR_SUCCESS
;
4077 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
4079 uint32_t _ptr_naming_context
;
4080 TALLOC_CTX
*_mem_save_naming_context_0
;
4081 uint32_t _ptr_source_dsa_address
;
4082 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4083 if (ndr_flags
& NDR_SCALARS
) {
4084 NDR_CHECK(ndr_pull_align(ndr
, 5));
4085 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4086 if (_ptr_naming_context
) {
4087 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4089 r
->naming_context
= NULL
;
4091 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4092 if (_ptr_source_dsa_address
) {
4093 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4095 r
->source_dsa_address
= NULL
;
4097 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4098 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->options
));
4099 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4101 if (ndr_flags
& NDR_BUFFERS
) {
4102 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4103 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4104 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4105 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4106 if (r
->source_dsa_address
) {
4107 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4108 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4109 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4110 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4111 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4112 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_address
), ndr_get_array_length(ndr
, &r
->source_dsa_address
));
4114 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4115 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t), CH_UTF16
));
4116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4119 return NDR_ERR_SUCCESS
;
4122 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4124 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4126 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4128 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4130 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4132 if (r
->source_dsa_address
) {
4133 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4136 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4137 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "options", r
->options
);
4141 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4143 if (ndr_flags
& NDR_SCALARS
) {
4144 NDR_CHECK(ndr_push_align(ndr
, 5));
4145 if (r
->naming_context
== NULL
) {
4146 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4148 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4149 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4150 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4151 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4152 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4153 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->options
));
4154 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4156 if (ndr_flags
& NDR_BUFFERS
) {
4157 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4158 if (r
->source_dsa_dn
) {
4159 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4161 if (r
->transport_dn
) {
4162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4164 if (r
->source_dsa_address
) {
4165 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4166 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4167 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4168 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
));
4171 return NDR_ERR_SUCCESS
;
4174 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4176 uint32_t _ptr_naming_context
;
4177 TALLOC_CTX
*_mem_save_naming_context_0
;
4178 uint32_t _ptr_source_dsa_dn
;
4179 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4180 uint32_t _ptr_transport_dn
;
4181 TALLOC_CTX
*_mem_save_transport_dn_0
;
4182 uint32_t _ptr_source_dsa_address
;
4183 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4184 if (ndr_flags
& NDR_SCALARS
) {
4185 NDR_CHECK(ndr_pull_align(ndr
, 5));
4186 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4187 if (_ptr_naming_context
) {
4188 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4190 r
->naming_context
= NULL
;
4192 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4193 if (_ptr_source_dsa_dn
) {
4194 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4196 r
->source_dsa_dn
= NULL
;
4198 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4199 if (_ptr_transport_dn
) {
4200 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4202 r
->transport_dn
= NULL
;
4204 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4205 if (_ptr_source_dsa_address
) {
4206 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4208 r
->source_dsa_address
= NULL
;
4210 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->options
));
4212 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4214 if (ndr_flags
& NDR_BUFFERS
) {
4215 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4216 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4217 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4218 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4219 if (r
->source_dsa_dn
) {
4220 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4221 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4225 if (r
->transport_dn
) {
4226 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4227 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4228 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4229 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4231 if (r
->source_dsa_address
) {
4232 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4233 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4234 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4235 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4236 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4237 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_address
), ndr_get_array_length(ndr
, &r
->source_dsa_address
));
4239 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4240 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t), CH_UTF16
));
4241 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4244 return NDR_ERR_SUCCESS
;
4247 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4249 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4251 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4253 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4255 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4257 if (r
->source_dsa_dn
) {
4258 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4261 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4263 if (r
->transport_dn
) {
4264 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4267 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4269 if (r
->source_dsa_address
) {
4270 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4273 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4274 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "options", r
->options
);
4278 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4280 if (ndr_flags
& NDR_SCALARS
) {
4281 int level
= ndr_push_get_switch_value(ndr
, r
);
4282 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4283 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4286 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4290 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4294 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4297 if (ndr_flags
& NDR_BUFFERS
) {
4298 int level
= ndr_push_get_switch_value(ndr
, r
);
4301 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4305 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4309 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4312 return NDR_ERR_SUCCESS
;
4315 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4319 level
= ndr_pull_get_switch_value(ndr
, r
);
4320 if (ndr_flags
& NDR_SCALARS
) {
4321 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4322 if (_level
!= level
) {
4323 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4325 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4332 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4336 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4339 if (ndr_flags
& NDR_BUFFERS
) {
4342 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4350 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4353 return NDR_ERR_SUCCESS
;
4356 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4359 level
= ndr_print_get_switch_value(ndr
, r
);
4360 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4363 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4367 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4371 ndr_print_bad_level(ndr
, name
, level
);
4375 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4377 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4378 return NDR_ERR_SUCCESS
;
4381 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4384 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4386 return NDR_ERR_SUCCESS
;
4389 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4391 ndr_print_uint32(ndr
, name
, r
);
4393 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4394 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4398 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4400 if (ndr_flags
& NDR_SCALARS
) {
4401 NDR_CHECK(ndr_push_align(ndr
, 5));
4402 if (r
->naming_context
== NULL
) {
4403 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4405 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4406 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4407 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->options
));
4408 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4410 if (ndr_flags
& NDR_BUFFERS
) {
4411 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4412 if (r
->source_dsa_address
) {
4413 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4414 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4415 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4416 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
));
4419 return NDR_ERR_SUCCESS
;
4422 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4424 uint32_t _ptr_naming_context
;
4425 TALLOC_CTX
*_mem_save_naming_context_0
;
4426 uint32_t _ptr_source_dsa_address
;
4427 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4428 if (ndr_flags
& NDR_SCALARS
) {
4429 NDR_CHECK(ndr_pull_align(ndr
, 5));
4430 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4431 if (_ptr_naming_context
) {
4432 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4434 r
->naming_context
= NULL
;
4436 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4437 if (_ptr_source_dsa_address
) {
4438 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4440 r
->source_dsa_address
= NULL
;
4442 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->options
));
4443 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4445 if (ndr_flags
& NDR_BUFFERS
) {
4446 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4447 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4448 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4449 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4450 if (r
->source_dsa_address
) {
4451 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4452 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4453 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4454 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4455 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4456 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_address
), ndr_get_array_length(ndr
, &r
->source_dsa_address
));
4458 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4459 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t), CH_UTF16
));
4460 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4463 return NDR_ERR_SUCCESS
;
4466 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4468 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4470 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4472 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4474 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4476 if (r
->source_dsa_address
) {
4477 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4480 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "options", r
->options
);
4484 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4486 if (ndr_flags
& NDR_SCALARS
) {
4487 int level
= ndr_push_get_switch_value(ndr
, r
);
4488 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4489 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4492 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4496 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4499 if (ndr_flags
& NDR_BUFFERS
) {
4500 int level
= ndr_push_get_switch_value(ndr
, r
);
4503 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4507 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4510 return NDR_ERR_SUCCESS
;
4513 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4517 level
= ndr_pull_get_switch_value(ndr
, r
);
4518 if (ndr_flags
& NDR_SCALARS
) {
4519 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4520 if (_level
!= level
) {
4521 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4523 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4530 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4533 if (ndr_flags
& NDR_BUFFERS
) {
4536 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4540 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4543 return NDR_ERR_SUCCESS
;
4546 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4549 level
= ndr_print_get_switch_value(ndr
, r
);
4550 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4553 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4557 ndr_print_bad_level(ndr
, name
, level
);
4561 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4563 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4564 return NDR_ERR_SUCCESS
;
4567 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4572 return NDR_ERR_SUCCESS
;
4575 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4577 ndr_print_uint32(ndr
, name
, r
);
4579 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4580 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4584 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4586 if (ndr_flags
& NDR_SCALARS
) {
4587 NDR_CHECK(ndr_push_align(ndr
, 5));
4588 if (r
->naming_context
== NULL
) {
4589 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4591 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4592 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4593 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4594 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4595 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4596 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4597 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->options
));
4598 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4600 if (ndr_flags
& NDR_BUFFERS
) {
4601 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4602 if (r
->source_dra_address
) {
4603 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4604 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4605 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4606 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
));
4609 return NDR_ERR_SUCCESS
;
4612 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4614 uint32_t _ptr_naming_context
;
4615 TALLOC_CTX
*_mem_save_naming_context_0
;
4616 uint32_t _ptr_source_dra_address
;
4617 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4618 if (ndr_flags
& NDR_SCALARS
) {
4619 NDR_CHECK(ndr_pull_align(ndr
, 5));
4620 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4621 if (_ptr_naming_context
) {
4622 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4624 r
->naming_context
= NULL
;
4626 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4627 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4628 if (_ptr_source_dra_address
) {
4629 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4631 r
->source_dra_address
= NULL
;
4633 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4634 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4635 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4636 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->options
));
4637 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4639 if (ndr_flags
& NDR_BUFFERS
) {
4640 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4641 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4643 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4644 if (r
->source_dra_address
) {
4645 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4646 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4647 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4648 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4649 if (ndr_get_array_length(ndr
, &r
->source_dra_address
) > ndr_get_array_size(ndr
, &r
->source_dra_address
)) {
4650 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dra_address
), ndr_get_array_length(ndr
, &r
->source_dra_address
));
4652 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t)));
4653 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dra_address
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t), CH_UTF16
));
4654 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4657 return NDR_ERR_SUCCESS
;
4660 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4662 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4664 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4666 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4668 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4669 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4671 if (r
->source_dra_address
) {
4672 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4675 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4676 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4677 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4678 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "options", r
->options
);
4682 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4684 if (ndr_flags
& NDR_SCALARS
) {
4685 int level
= ndr_push_get_switch_value(ndr
, r
);
4686 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4687 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4690 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4694 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4697 if (ndr_flags
& NDR_BUFFERS
) {
4698 int level
= ndr_push_get_switch_value(ndr
, r
);
4701 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4705 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4708 return NDR_ERR_SUCCESS
;
4711 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4715 level
= ndr_pull_get_switch_value(ndr
, r
);
4716 if (ndr_flags
& NDR_SCALARS
) {
4717 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4718 if (_level
!= level
) {
4719 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4721 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4724 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4728 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4731 if (ndr_flags
& NDR_BUFFERS
) {
4734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4738 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4741 return NDR_ERR_SUCCESS
;
4744 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4747 level
= ndr_print_get_switch_value(ndr
, r
);
4748 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4751 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4755 ndr_print_bad_level(ndr
, name
, level
);
4759 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4761 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4762 return NDR_ERR_SUCCESS
;
4765 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4768 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4770 return NDR_ERR_SUCCESS
;
4773 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4775 const char *val
= NULL
;
4778 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4779 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4780 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4781 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4782 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4783 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4784 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4786 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4789 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4791 uint32_t cntr_info_array_1
;
4792 uint32_t cntr_group_attrs_1
;
4793 uint32_t cntr_sids_1
;
4794 if (ndr_flags
& NDR_SCALARS
) {
4795 NDR_CHECK(ndr_push_align(ndr
, 5));
4796 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4797 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4798 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4799 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4800 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4801 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4802 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4804 if (ndr_flags
& NDR_BUFFERS
) {
4805 if (r
->info_array
) {
4806 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4807 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4808 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4810 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4811 if (r
->info_array
[cntr_info_array_1
]) {
4812 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4816 if (r
->group_attrs
) {
4817 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4818 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4819 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4823 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4824 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4825 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4827 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4828 if (r
->sids
[cntr_sids_1
]) {
4829 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4834 return NDR_ERR_SUCCESS
;
4837 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4839 uint32_t _ptr_info_array
;
4840 uint32_t cntr_info_array_1
;
4841 TALLOC_CTX
*_mem_save_info_array_0
;
4842 TALLOC_CTX
*_mem_save_info_array_1
;
4843 TALLOC_CTX
*_mem_save_info_array_2
;
4844 uint32_t _ptr_group_attrs
;
4845 uint32_t cntr_group_attrs_1
;
4846 TALLOC_CTX
*_mem_save_group_attrs_0
;
4847 TALLOC_CTX
*_mem_save_group_attrs_1
;
4849 uint32_t cntr_sids_1
;
4850 TALLOC_CTX
*_mem_save_sids_0
;
4851 TALLOC_CTX
*_mem_save_sids_1
;
4852 TALLOC_CTX
*_mem_save_sids_2
;
4853 if (ndr_flags
& NDR_SCALARS
) {
4854 NDR_CHECK(ndr_pull_align(ndr
, 5));
4855 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4856 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4857 if (r
->num_memberships
> 10000) {
4858 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4860 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4861 if (r
->num_sids
> 10000) {
4862 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4864 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4865 if (_ptr_info_array
) {
4866 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4868 r
->info_array
= NULL
;
4870 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4871 if (_ptr_group_attrs
) {
4872 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4874 r
->group_attrs
= NULL
;
4876 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4878 NDR_PULL_ALLOC(ndr
, r
->sids
);
4882 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4884 if (ndr_flags
& NDR_BUFFERS
) {
4885 if (r
->info_array
) {
4886 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4887 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4888 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4889 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
4890 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4891 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4892 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4893 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4894 if (_ptr_info_array
) {
4895 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4897 r
->info_array
[cntr_info_array_1
] = NULL
;
4900 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4901 if (r
->info_array
[cntr_info_array_1
]) {
4902 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4903 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4904 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4908 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4909 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4911 if (r
->group_attrs
) {
4912 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4913 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4914 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4915 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, ndr_get_array_size(ndr
, &r
->group_attrs
));
4916 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4917 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4918 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4919 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4922 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4925 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4926 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4927 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4928 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4929 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4930 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4931 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4932 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4934 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4936 r
->sids
[cntr_sids_1
] = NULL
;
4939 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4940 if (r
->sids
[cntr_sids_1
]) {
4941 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4942 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4943 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4944 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4947 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4950 if (r
->info_array
) {
4951 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4953 if (r
->group_attrs
) {
4954 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4957 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4960 return NDR_ERR_SUCCESS
;
4963 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4965 uint32_t cntr_info_array_1
;
4966 uint32_t cntr_group_attrs_1
;
4967 uint32_t cntr_sids_1
;
4968 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4970 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4971 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4972 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4973 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4975 if (r
->info_array
) {
4976 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4978 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4980 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4981 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4983 if (r
->info_array
[cntr_info_array_1
]) {
4984 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4993 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4995 if (r
->group_attrs
) {
4996 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4998 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
5000 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
5001 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
5008 ndr_print_ptr(ndr
, "sids", r
->sids
);
5011 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
5013 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
5015 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
5016 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
5018 if (r
->sids
[cntr_sids_1
]) {
5019 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
5031 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
5033 if (ndr_flags
& NDR_SCALARS
) {
5034 int level
= ndr_push_get_switch_value(ndr
, r
);
5035 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5036 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5039 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
5043 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5046 if (ndr_flags
& NDR_BUFFERS
) {
5047 int level
= ndr_push_get_switch_value(ndr
, r
);
5050 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5054 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5057 return NDR_ERR_SUCCESS
;
5060 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
5064 level
= ndr_pull_get_switch_value(ndr
, r
);
5065 if (ndr_flags
& NDR_SCALARS
) {
5066 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5067 if (_level
!= level
) {
5068 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5070 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5073 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
5077 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5080 if (ndr_flags
& NDR_BUFFERS
) {
5083 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5087 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5090 return NDR_ERR_SUCCESS
;
5093 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
5096 level
= ndr_print_get_switch_value(ndr
, r
);
5097 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
5100 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
5104 ndr_print_bad_level(ndr
, name
, level
);
5108 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5110 uint32_t cntr_info_array_1
;
5111 if (ndr_flags
& NDR_SCALARS
) {
5112 NDR_CHECK(ndr_push_align(ndr
, 5));
5113 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5114 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
5115 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
5116 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
5117 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
5118 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5120 if (ndr_flags
& NDR_BUFFERS
) {
5121 if (r
->info_array
) {
5122 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5123 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5124 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
5126 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5127 if (r
->info_array
[cntr_info_array_1
]) {
5128 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5133 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5136 return NDR_ERR_SUCCESS
;
5139 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
5141 uint32_t _ptr_info_array
;
5142 uint32_t cntr_info_array_1
;
5143 TALLOC_CTX
*_mem_save_info_array_0
;
5144 TALLOC_CTX
*_mem_save_info_array_1
;
5145 TALLOC_CTX
*_mem_save_info_array_2
;
5146 uint32_t _ptr_domain
;
5147 TALLOC_CTX
*_mem_save_domain_0
;
5148 if (ndr_flags
& NDR_SCALARS
) {
5149 NDR_CHECK(ndr_pull_align(ndr
, 5));
5150 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5151 if (r
->count
< 1 || r
->count
> 10000) {
5152 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5154 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5155 if (_ptr_info_array
) {
5156 NDR_PULL_ALLOC(ndr
, r
->info_array
);
5158 r
->info_array
= NULL
;
5160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5161 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
5162 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5164 NDR_PULL_ALLOC(ndr
, r
->domain
);
5168 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5170 if (ndr_flags
& NDR_BUFFERS
) {
5171 if (r
->info_array
) {
5172 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5173 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5174 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5175 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
5176 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5177 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5178 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5179 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5180 if (_ptr_info_array
) {
5181 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5183 r
->info_array
[cntr_info_array_1
] = NULL
;
5186 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5187 if (r
->info_array
[cntr_info_array_1
]) {
5188 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5189 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5190 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5194 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5195 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5198 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5199 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5200 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5201 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5203 if (r
->info_array
) {
5204 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5207 return NDR_ERR_SUCCESS
;
5210 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5212 uint32_t cntr_info_array_1
;
5213 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5215 ndr_print_uint32(ndr
, "count", r
->count
);
5216 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5218 if (r
->info_array
) {
5219 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5221 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5223 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5224 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5226 if (r
->info_array
[cntr_info_array_1
]) {
5227 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5236 ndr_print_uint32(ndr
, "flags", r
->flags
);
5237 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5238 ndr_print_ptr(ndr
, "domain", r
->domain
);
5241 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5247 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5249 if (ndr_flags
& NDR_SCALARS
) {
5250 int level
= ndr_push_get_switch_value(ndr
, r
);
5251 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5252 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5255 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5259 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5262 if (ndr_flags
& NDR_BUFFERS
) {
5263 int level
= ndr_push_get_switch_value(ndr
, r
);
5266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5270 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5273 return NDR_ERR_SUCCESS
;
5276 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5280 level
= ndr_pull_get_switch_value(ndr
, r
);
5281 if (ndr_flags
& NDR_SCALARS
) {
5282 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5283 if (_level
!= level
) {
5284 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5286 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5289 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5293 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5296 if (ndr_flags
& NDR_BUFFERS
) {
5299 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5303 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5306 return NDR_ERR_SUCCESS
;
5309 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5312 level
= ndr_print_get_switch_value(ndr
, r
);
5313 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5316 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5320 ndr_print_bad_level(ndr
, name
, level
);
5324 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5326 if (ndr_flags
& NDR_SCALARS
) {
5327 NDR_CHECK(ndr_push_align(ndr
, 5));
5328 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
5329 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
5330 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
5331 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
5332 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5334 if (ndr_flags
& NDR_BUFFERS
) {
5336 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
5337 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
5340 return NDR_ERR_SUCCESS
;
5343 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5346 TALLOC_CTX
*_mem_save_data_0
;
5347 if (ndr_flags
& NDR_SCALARS
) {
5348 NDR_CHECK(ndr_pull_align(ndr
, 5));
5349 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
5350 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
5351 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5352 if (r
->length
> 0x00A00000) {
5353 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5355 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5357 NDR_PULL_ALLOC(ndr
, r
->data
);
5361 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5363 if (ndr_flags
& NDR_BUFFERS
) {
5365 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5366 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5367 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5368 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
5369 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
5370 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5373 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5376 return NDR_ERR_SUCCESS
;
5379 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5381 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5383 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
5384 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
5385 ndr_print_uint32(ndr
, "length", r
->length
);
5386 ndr_print_ptr(ndr
, "data", r
->data
);
5389 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5395 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5397 if (ndr_flags
& NDR_SCALARS
) {
5398 int level
= ndr_push_get_switch_value(ndr
, r
);
5399 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5400 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5403 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5407 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5410 if (ndr_flags
& NDR_BUFFERS
) {
5411 int level
= ndr_push_get_switch_value(ndr
, r
);
5414 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5418 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5421 return NDR_ERR_SUCCESS
;
5424 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5428 level
= ndr_pull_get_switch_value(ndr
, r
);
5429 if (ndr_flags
& NDR_SCALARS
) {
5430 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5431 if (_level
!= level
) {
5432 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5434 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5437 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5441 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5444 if (ndr_flags
& NDR_BUFFERS
) {
5447 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5451 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5454 return NDR_ERR_SUCCESS
;
5457 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5460 level
= ndr_print_get_switch_value(ndr
, r
);
5461 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5464 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5468 ndr_print_bad_level(ndr
, name
, level
);
5472 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5474 if (ndr_flags
& NDR_SCALARS
) {
5475 NDR_CHECK(ndr_push_align(ndr
, 8));
5476 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
5477 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
5478 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
5479 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time2
));
5480 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown3
));
5481 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time4
));
5482 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown5
));
5483 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time6
));
5484 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5485 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data1
));
5486 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data2
));
5487 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5489 if (ndr_flags
& NDR_BUFFERS
) {
5491 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length1
));
5492 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, r
->length1
));
5495 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length2
));
5496 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, r
->length2
));
5499 return NDR_ERR_SUCCESS
;
5502 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5504 uint32_t _ptr_data1
;
5505 TALLOC_CTX
*_mem_save_data1_0
;
5506 uint32_t _ptr_data2
;
5507 TALLOC_CTX
*_mem_save_data2_0
;
5508 if (ndr_flags
& NDR_SCALARS
) {
5509 NDR_CHECK(ndr_pull_align(ndr
, 8));
5510 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length1
));
5511 if (r
->length1
> 0x00A00000) {
5512 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5514 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length2
));
5515 if (r
->length2
> 0x00A00000) {
5516 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5518 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
5519 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time2
));
5520 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown3
));
5521 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time4
));
5522 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown5
));
5523 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time6
));
5524 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5525 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data1
));
5527 NDR_PULL_ALLOC(ndr
, r
->data1
);
5531 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data2
));
5533 NDR_PULL_ALLOC(ndr
, r
->data2
);
5537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5539 if (ndr_flags
& NDR_BUFFERS
) {
5541 _mem_save_data1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5542 NDR_PULL_SET_MEM_CTX(ndr
, r
->data1
, 0);
5543 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data1
));
5544 NDR_PULL_ALLOC_N(ndr
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
));
5545 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
)));
5546 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data1_0
, 0);
5549 _mem_save_data2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5550 NDR_PULL_SET_MEM_CTX(ndr
, r
->data2
, 0);
5551 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data2
));
5552 NDR_PULL_ALLOC_N(ndr
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
));
5553 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
)));
5554 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data2_0
, 0);
5557 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data1
, r
->length1
));
5560 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data2
, r
->length2
));
5563 return NDR_ERR_SUCCESS
;
5566 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5568 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5570 ndr_print_uint32(ndr
, "length1", r
->length1
);
5571 ndr_print_uint32(ndr
, "length2", r
->length2
);
5572 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
5573 ndr_print_NTTIME(ndr
, "time2", r
->time2
);
5574 ndr_print_hyper(ndr
, "unknown3", r
->unknown3
);
5575 ndr_print_NTTIME(ndr
, "time4", r
->time4
);
5576 ndr_print_hyper(ndr
, "unknown5", r
->unknown5
);
5577 ndr_print_NTTIME(ndr
, "time6", r
->time6
);
5578 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5579 ndr_print_ptr(ndr
, "data1", r
->data1
);
5582 ndr_print_array_uint8(ndr
, "data1", r
->data1
, r
->length1
);
5585 ndr_print_ptr(ndr
, "data2", r
->data2
);
5588 ndr_print_array_uint8(ndr
, "data2", r
->data2
, r
->length2
);
5594 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5596 if (ndr_flags
& NDR_SCALARS
) {
5597 int level
= ndr_push_get_switch_value(ndr
, r
);
5598 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5599 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5602 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5606 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5609 if (ndr_flags
& NDR_BUFFERS
) {
5610 int level
= ndr_push_get_switch_value(ndr
, r
);
5613 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5617 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5620 return NDR_ERR_SUCCESS
;
5623 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5627 level
= ndr_pull_get_switch_value(ndr
, r
);
5628 if (ndr_flags
& NDR_SCALARS
) {
5629 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5630 if (_level
!= level
) {
5631 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5633 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5636 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5640 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5643 if (ndr_flags
& NDR_BUFFERS
) {
5646 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5650 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5653 return NDR_ERR_SUCCESS
;
5656 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5659 level
= ndr_print_get_switch_value(ndr
, r
);
5660 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5663 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5667 ndr_print_bad_level(ndr
, name
, level
);
5671 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5673 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5674 return NDR_ERR_SUCCESS
;
5677 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5680 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5682 return NDR_ERR_SUCCESS
;
5685 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5687 const char *val
= NULL
;
5690 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5691 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5692 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5693 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5694 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5695 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5696 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5697 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5699 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5702 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5704 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5705 return NDR_ERR_SUCCESS
;
5708 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5711 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5713 return NDR_ERR_SUCCESS
;
5716 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5718 const char *val
= NULL
;
5721 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5722 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5723 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5724 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5725 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5727 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5730 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5732 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5733 return NDR_ERR_SUCCESS
;
5736 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5739 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5741 return NDR_ERR_SUCCESS
;
5744 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5746 const char *val
= NULL
;
5749 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5750 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5751 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5752 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5753 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5754 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5755 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5756 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5757 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5758 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5759 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5761 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5764 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5766 if (ndr_flags
& NDR_SCALARS
) {
5767 NDR_CHECK(ndr_push_align(ndr
, 5));
5768 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5769 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5771 if (ndr_flags
& NDR_BUFFERS
) {
5773 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5774 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5775 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5776 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5779 return NDR_ERR_SUCCESS
;
5782 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5785 TALLOC_CTX
*_mem_save_str_0
;
5786 if (ndr_flags
& NDR_SCALARS
) {
5787 NDR_CHECK(ndr_pull_align(ndr
, 5));
5788 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5790 NDR_PULL_ALLOC(ndr
, r
->str
);
5794 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5796 if (ndr_flags
& NDR_BUFFERS
) {
5798 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5799 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5800 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5801 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5802 if (ndr_get_array_length(ndr
, &r
->str
) > ndr_get_array_size(ndr
, &r
->str
)) {
5803 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->str
), ndr_get_array_length(ndr
, &r
->str
));
5805 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t)));
5806 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t), CH_UTF16
));
5807 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5810 return NDR_ERR_SUCCESS
;
5813 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5815 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5817 ndr_print_ptr(ndr
, "str", r
->str
);
5820 ndr_print_string(ndr
, "str", r
->str
);
5826 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5828 uint32_t cntr_names_1
;
5829 if (ndr_flags
& NDR_SCALARS
) {
5830 NDR_CHECK(ndr_push_align(ndr
, 5));
5831 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5832 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5833 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5834 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5835 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5836 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5837 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5838 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5840 if (ndr_flags
& NDR_BUFFERS
) {
5842 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5843 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5844 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5846 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5847 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5851 return NDR_ERR_SUCCESS
;
5854 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5856 uint32_t _ptr_names
;
5857 uint32_t cntr_names_1
;
5858 TALLOC_CTX
*_mem_save_names_0
;
5859 TALLOC_CTX
*_mem_save_names_1
;
5860 if (ndr_flags
& NDR_SCALARS
) {
5861 NDR_CHECK(ndr_pull_align(ndr
, 5));
5862 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5863 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5864 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5865 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5866 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5867 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5868 if (r
->count
< 1 || r
->count
> 10000) {
5869 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5871 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5873 NDR_PULL_ALLOC(ndr
, r
->names
);
5877 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5879 if (ndr_flags
& NDR_BUFFERS
) {
5881 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5882 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5883 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5884 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
5885 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5886 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5887 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5888 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5890 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5891 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5893 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5894 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5897 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5900 return NDR_ERR_SUCCESS
;
5903 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5905 uint32_t cntr_names_1
;
5906 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5908 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5909 ndr_print_uint32(ndr
, "language", r
->language
);
5910 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5911 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5912 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5913 ndr_print_uint32(ndr
, "count", r
->count
);
5914 ndr_print_ptr(ndr
, "names", r
->names
);
5917 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5919 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5921 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5922 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5932 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5934 if (ndr_flags
& NDR_SCALARS
) {
5935 int level
= ndr_push_get_switch_value(ndr
, r
);
5936 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5937 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5940 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5944 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5947 if (ndr_flags
& NDR_BUFFERS
) {
5948 int level
= ndr_push_get_switch_value(ndr
, r
);
5951 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5955 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5958 return NDR_ERR_SUCCESS
;
5961 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5965 level
= ndr_pull_get_switch_value(ndr
, r
);
5966 if (ndr_flags
& NDR_SCALARS
) {
5967 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5968 if (_level
!= level
) {
5969 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5971 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5974 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5978 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5981 if (ndr_flags
& NDR_BUFFERS
) {
5984 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5988 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5991 return NDR_ERR_SUCCESS
;
5994 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5997 level
= ndr_print_get_switch_value(ndr
, r
);
5998 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
6001 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
6005 ndr_print_bad_level(ndr
, name
, level
);
6009 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
6011 if (ndr_flags
& NDR_SCALARS
) {
6012 NDR_CHECK(ndr_push_align(ndr
, 5));
6013 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
6014 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
6015 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
6016 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6018 if (ndr_flags
& NDR_BUFFERS
) {
6019 if (r
->dns_domain_name
) {
6020 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
6021 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6022 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
6023 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
));
6025 if (r
->result_name
) {
6026 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
6027 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6028 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
6029 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6032 return NDR_ERR_SUCCESS
;
6035 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
6037 uint32_t _ptr_dns_domain_name
;
6038 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
6039 uint32_t _ptr_result_name
;
6040 TALLOC_CTX
*_mem_save_result_name_0
;
6041 if (ndr_flags
& NDR_SCALARS
) {
6042 NDR_CHECK(ndr_pull_align(ndr
, 5));
6043 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
6044 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
6045 if (_ptr_dns_domain_name
) {
6046 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
6048 r
->dns_domain_name
= NULL
;
6050 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
6051 if (_ptr_result_name
) {
6052 NDR_PULL_ALLOC(ndr
, r
->result_name
);
6054 r
->result_name
= NULL
;
6056 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6058 if (ndr_flags
& NDR_BUFFERS
) {
6059 if (r
->dns_domain_name
) {
6060 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6061 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
6062 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
6063 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
6064 if (ndr_get_array_length(ndr
, &r
->dns_domain_name
) > ndr_get_array_size(ndr
, &r
->dns_domain_name
)) {
6065 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->dns_domain_name
), ndr_get_array_length(ndr
, &r
->dns_domain_name
));
6067 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t)));
6068 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_domain_name
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t), CH_UTF16
));
6069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
6071 if (r
->result_name
) {
6072 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6073 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
6074 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
6075 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
6076 if (ndr_get_array_length(ndr
, &r
->result_name
) > ndr_get_array_size(ndr
, &r
->result_name
)) {
6077 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->result_name
), ndr_get_array_length(ndr
, &r
->result_name
));
6079 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t)));
6080 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t), CH_UTF16
));
6081 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
6084 return NDR_ERR_SUCCESS
;
6087 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
6089 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
6091 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
6092 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
6094 if (r
->dns_domain_name
) {
6095 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
6098 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
6100 if (r
->result_name
) {
6101 ndr_print_string(ndr
, "result_name", r
->result_name
);
6107 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
6109 uint32_t cntr_array_1
;
6110 if (ndr_flags
& NDR_SCALARS
) {
6111 NDR_CHECK(ndr_push_align(ndr
, 5));
6112 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6113 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
6114 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6116 if (ndr_flags
& NDR_BUFFERS
) {
6118 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6119 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6120 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6122 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6123 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6127 return NDR_ERR_SUCCESS
;
6130 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
6132 uint32_t _ptr_array
;
6133 uint32_t cntr_array_1
;
6134 TALLOC_CTX
*_mem_save_array_0
;
6135 TALLOC_CTX
*_mem_save_array_1
;
6136 if (ndr_flags
& NDR_SCALARS
) {
6137 NDR_CHECK(ndr_pull_align(ndr
, 5));
6138 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6139 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6141 NDR_PULL_ALLOC(ndr
, r
->array
);
6145 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6147 if (ndr_flags
& NDR_BUFFERS
) {
6149 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6150 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6151 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6152 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
6153 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6154 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6155 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6156 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6158 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6159 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6161 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6162 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6165 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6168 return NDR_ERR_SUCCESS
;
6171 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6173 uint32_t cntr_array_1
;
6174 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6176 ndr_print_uint32(ndr
, "count", r
->count
);
6177 ndr_print_ptr(ndr
, "array", r
->array
);
6180 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6182 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6184 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6185 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6195 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6197 if (ndr_flags
& NDR_SCALARS
) {
6198 int level
= ndr_push_get_switch_value(ndr
, r
);
6199 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6200 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6203 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6207 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6210 if (ndr_flags
& NDR_BUFFERS
) {
6211 int level
= ndr_push_get_switch_value(ndr
, r
);
6215 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6220 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6223 return NDR_ERR_SUCCESS
;
6226 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6230 TALLOC_CTX
*_mem_save_ctr1_0
;
6231 level
= ndr_pull_get_switch_value(ndr
, r
);
6232 if (ndr_flags
& NDR_SCALARS
) {
6233 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6234 if (_level
!= level
) {
6235 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6237 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6241 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6243 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6250 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6253 if (ndr_flags
& NDR_BUFFERS
) {
6257 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6258 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6259 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6260 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6265 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6268 return NDR_ERR_SUCCESS
;
6271 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6274 level
= ndr_print_get_switch_value(ndr
, r
);
6275 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6278 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6281 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6287 ndr_print_bad_level(ndr
, name
, level
);
6291 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6293 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6294 return NDR_ERR_SUCCESS
;
6297 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6300 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6302 return NDR_ERR_SUCCESS
;
6305 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6307 const char *val
= NULL
;
6310 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6311 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6312 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6314 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6317 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6319 uint32_t cntr_spn_names_1
;
6320 if (ndr_flags
& NDR_SCALARS
) {
6321 NDR_CHECK(ndr_push_align(ndr
, 5));
6322 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6324 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6325 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6326 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6327 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6329 if (ndr_flags
& NDR_BUFFERS
) {
6331 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6332 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6333 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6334 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6337 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6338 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6339 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6341 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6342 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6346 return NDR_ERR_SUCCESS
;
6349 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6351 uint32_t _ptr_object_dn
;
6352 TALLOC_CTX
*_mem_save_object_dn_0
;
6353 uint32_t _ptr_spn_names
;
6354 uint32_t cntr_spn_names_1
;
6355 TALLOC_CTX
*_mem_save_spn_names_0
;
6356 TALLOC_CTX
*_mem_save_spn_names_1
;
6357 if (ndr_flags
& NDR_SCALARS
) {
6358 NDR_CHECK(ndr_pull_align(ndr
, 5));
6359 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6360 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6361 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6362 if (_ptr_object_dn
) {
6363 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6365 r
->object_dn
= NULL
;
6367 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6368 if (r
->count
> 10000) {
6369 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6371 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6372 if (_ptr_spn_names
) {
6373 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6375 r
->spn_names
= NULL
;
6377 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6379 if (ndr_flags
& NDR_BUFFERS
) {
6381 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6382 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6383 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6384 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6385 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
6386 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_dn
), ndr_get_array_length(ndr
, &r
->object_dn
));
6388 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
6389 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
6390 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6393 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6394 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6395 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6396 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, ndr_get_array_size(ndr
, &r
->spn_names
));
6397 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6398 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6399 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6400 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6402 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6403 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6406 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6409 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6412 return NDR_ERR_SUCCESS
;
6415 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6417 uint32_t cntr_spn_names_1
;
6418 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6420 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6421 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6422 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6425 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6428 ndr_print_uint32(ndr
, "count", r
->count
);
6429 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6432 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6434 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6436 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6437 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6447 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6449 if (ndr_flags
& NDR_SCALARS
) {
6450 int level
= ndr_push_get_switch_value(ndr
, r
);
6451 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6452 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6455 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6459 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6462 if (ndr_flags
& NDR_BUFFERS
) {
6463 int level
= ndr_push_get_switch_value(ndr
, r
);
6466 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6470 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6473 return NDR_ERR_SUCCESS
;
6476 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6480 level
= ndr_pull_get_switch_value(ndr
, r
);
6481 if (ndr_flags
& NDR_SCALARS
) {
6482 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6483 if (_level
!= level
) {
6484 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6486 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6489 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6493 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6496 if (ndr_flags
& NDR_BUFFERS
) {
6499 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6503 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6506 return NDR_ERR_SUCCESS
;
6509 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6512 level
= ndr_print_get_switch_value(ndr
, r
);
6513 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6516 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6520 ndr_print_bad_level(ndr
, name
, level
);
6524 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6526 if (ndr_flags
& NDR_SCALARS
) {
6527 NDR_CHECK(ndr_push_align(ndr
, 4));
6528 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6529 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6531 if (ndr_flags
& NDR_BUFFERS
) {
6533 return NDR_ERR_SUCCESS
;
6536 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6538 if (ndr_flags
& NDR_SCALARS
) {
6539 NDR_CHECK(ndr_pull_align(ndr
, 4));
6540 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6541 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6543 if (ndr_flags
& NDR_BUFFERS
) {
6545 return NDR_ERR_SUCCESS
;
6548 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6550 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6552 ndr_print_WERROR(ndr
, "status", r
->status
);
6556 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6558 if (ndr_flags
& NDR_SCALARS
) {
6559 int level
= ndr_push_get_switch_value(ndr
, r
);
6560 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6561 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6564 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6568 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6571 if (ndr_flags
& NDR_BUFFERS
) {
6572 int level
= ndr_push_get_switch_value(ndr
, r
);
6578 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6581 return NDR_ERR_SUCCESS
;
6584 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6588 level
= ndr_pull_get_switch_value(ndr
, r
);
6589 if (ndr_flags
& NDR_SCALARS
) {
6590 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6591 if (_level
!= level
) {
6592 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6594 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6597 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6601 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6604 if (ndr_flags
& NDR_BUFFERS
) {
6610 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6613 return NDR_ERR_SUCCESS
;
6616 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6619 level
= ndr_print_get_switch_value(ndr
, r
);
6620 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6623 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6627 ndr_print_bad_level(ndr
, name
, level
);
6631 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6633 if (ndr_flags
& NDR_SCALARS
) {
6634 NDR_CHECK(ndr_push_align(ndr
, 5));
6635 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6636 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6637 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6638 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6640 if (ndr_flags
& NDR_BUFFERS
) {
6642 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6643 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6644 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6645 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6648 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6649 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6650 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6651 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6654 return NDR_ERR_SUCCESS
;
6657 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6659 uint32_t _ptr_server_dn
;
6660 TALLOC_CTX
*_mem_save_server_dn_0
;
6661 uint32_t _ptr_domain_dn
;
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 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
6687 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->server_dn
), ndr_get_array_length(ndr
, &r
->server_dn
));
6689 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
6690 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
6691 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6694 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6695 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6696 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6697 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6698 if (ndr_get_array_length(ndr
, &r
->domain_dn
) > ndr_get_array_size(ndr
, &r
->domain_dn
)) {
6699 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->domain_dn
), ndr_get_array_length(ndr
, &r
->domain_dn
));
6701 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t)));
6702 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t), CH_UTF16
));
6703 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6706 return NDR_ERR_SUCCESS
;
6709 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6711 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6713 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6716 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6719 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6722 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6725 ndr_print_uint32(ndr
, "commit", r
->commit
);
6729 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6731 if (ndr_flags
& NDR_SCALARS
) {
6732 int level
= ndr_push_get_switch_value(ndr
, r
);
6733 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6734 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6737 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6741 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6744 if (ndr_flags
& NDR_BUFFERS
) {
6745 int level
= ndr_push_get_switch_value(ndr
, r
);
6748 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6752 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6755 return NDR_ERR_SUCCESS
;
6758 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6762 level
= ndr_pull_get_switch_value(ndr
, r
);
6763 if (ndr_flags
& NDR_SCALARS
) {
6764 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6765 if (_level
!= level
) {
6766 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6768 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6771 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6775 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6778 if (ndr_flags
& NDR_BUFFERS
) {
6781 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6785 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6788 return NDR_ERR_SUCCESS
;
6791 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6794 level
= ndr_print_get_switch_value(ndr
, r
);
6795 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6798 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6802 ndr_print_bad_level(ndr
, name
, level
);
6806 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6808 if (ndr_flags
& NDR_SCALARS
) {
6809 NDR_CHECK(ndr_push_align(ndr
, 4));
6810 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6811 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6813 if (ndr_flags
& NDR_BUFFERS
) {
6815 return NDR_ERR_SUCCESS
;
6818 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6820 if (ndr_flags
& NDR_SCALARS
) {
6821 NDR_CHECK(ndr_pull_align(ndr
, 4));
6822 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6823 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6825 if (ndr_flags
& NDR_BUFFERS
) {
6827 return NDR_ERR_SUCCESS
;
6830 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6832 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6834 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6838 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6840 if (ndr_flags
& NDR_SCALARS
) {
6841 int level
= ndr_push_get_switch_value(ndr
, r
);
6842 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6843 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6846 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6850 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6853 if (ndr_flags
& NDR_BUFFERS
) {
6854 int level
= ndr_push_get_switch_value(ndr
, r
);
6860 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6863 return NDR_ERR_SUCCESS
;
6866 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6870 level
= ndr_pull_get_switch_value(ndr
, r
);
6871 if (ndr_flags
& NDR_SCALARS
) {
6872 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6873 if (_level
!= level
) {
6874 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6876 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6879 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6883 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6886 if (ndr_flags
& NDR_BUFFERS
) {
6892 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6895 return NDR_ERR_SUCCESS
;
6898 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6901 level
= ndr_print_get_switch_value(ndr
, r
);
6902 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6905 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6909 ndr_print_bad_level(ndr
, name
, level
);
6913 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6915 if (ndr_flags
& NDR_SCALARS
) {
6916 NDR_CHECK(ndr_push_align(ndr
, 5));
6917 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6918 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6919 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6921 if (ndr_flags
& NDR_BUFFERS
) {
6922 if (r
->domain_name
) {
6923 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6924 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6925 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6926 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6929 return NDR_ERR_SUCCESS
;
6932 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6934 uint32_t _ptr_domain_name
;
6935 TALLOC_CTX
*_mem_save_domain_name_0
;
6936 if (ndr_flags
& NDR_SCALARS
) {
6937 NDR_CHECK(ndr_pull_align(ndr
, 5));
6938 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6939 if (_ptr_domain_name
) {
6940 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6942 r
->domain_name
= NULL
;
6944 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6945 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6947 if (ndr_flags
& NDR_BUFFERS
) {
6948 if (r
->domain_name
) {
6949 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6950 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6951 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6952 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6953 if (ndr_get_array_length(ndr
, &r
->domain_name
) > ndr_get_array_size(ndr
, &r
->domain_name
)) {
6954 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->domain_name
), ndr_get_array_length(ndr
, &r
->domain_name
));
6956 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t)));
6957 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t), CH_UTF16
));
6958 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6961 return NDR_ERR_SUCCESS
;
6964 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6966 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6968 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6970 if (r
->domain_name
) {
6971 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6974 ndr_print_int32(ndr
, "level", r
->level
);
6978 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6980 if (ndr_flags
& NDR_SCALARS
) {
6981 int level
= ndr_push_get_switch_value(ndr
, r
);
6982 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6983 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6986 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6990 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6993 if (ndr_flags
& NDR_BUFFERS
) {
6994 int level
= ndr_push_get_switch_value(ndr
, r
);
6997 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
7001 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7004 return NDR_ERR_SUCCESS
;
7007 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
7011 level
= ndr_pull_get_switch_value(ndr
, r
);
7012 if (ndr_flags
& NDR_SCALARS
) {
7013 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
7014 if (_level
!= level
) {
7015 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
7017 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
7020 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
7024 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7027 if (ndr_flags
& NDR_BUFFERS
) {
7030 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
7034 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7037 return NDR_ERR_SUCCESS
;
7040 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
7043 level
= ndr_print_get_switch_value(ndr
, r
);
7044 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
7047 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
7051 ndr_print_bad_level(ndr
, name
, level
);
7055 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
7057 if (ndr_flags
& NDR_SCALARS
) {
7058 NDR_CHECK(ndr_push_align(ndr
, 5));
7059 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7060 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7061 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7062 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7063 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7064 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7065 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7066 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7068 if (ndr_flags
& NDR_BUFFERS
) {
7069 if (r
->netbios_name
) {
7070 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7071 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7072 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7073 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7076 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7077 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7078 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7079 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7082 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7083 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7084 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7085 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7087 if (r
->computer_dn
) {
7088 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7089 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7090 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7091 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7094 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7095 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7096 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7097 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7100 return NDR_ERR_SUCCESS
;
7103 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
7105 uint32_t _ptr_netbios_name
;
7106 TALLOC_CTX
*_mem_save_netbios_name_0
;
7107 uint32_t _ptr_dns_name
;
7108 TALLOC_CTX
*_mem_save_dns_name_0
;
7109 uint32_t _ptr_site_name
;
7110 TALLOC_CTX
*_mem_save_site_name_0
;
7111 uint32_t _ptr_computer_dn
;
7112 TALLOC_CTX
*_mem_save_computer_dn_0
;
7113 uint32_t _ptr_server_dn
;
7114 TALLOC_CTX
*_mem_save_server_dn_0
;
7115 if (ndr_flags
& NDR_SCALARS
) {
7116 NDR_CHECK(ndr_pull_align(ndr
, 5));
7117 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7118 if (_ptr_netbios_name
) {
7119 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7121 r
->netbios_name
= NULL
;
7123 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7124 if (_ptr_dns_name
) {
7125 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7129 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7130 if (_ptr_site_name
) {
7131 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7133 r
->site_name
= NULL
;
7135 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7136 if (_ptr_computer_dn
) {
7137 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7139 r
->computer_dn
= NULL
;
7141 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7142 if (_ptr_server_dn
) {
7143 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7145 r
->server_dn
= NULL
;
7147 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7148 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7149 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7151 if (ndr_flags
& NDR_BUFFERS
) {
7152 if (r
->netbios_name
) {
7153 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7154 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7155 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7156 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7157 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7158 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->netbios_name
), ndr_get_array_length(ndr
, &r
->netbios_name
));
7160 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7161 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7162 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7165 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7166 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7167 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7168 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7169 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7170 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->dns_name
), ndr_get_array_length(ndr
, &r
->dns_name
));
7172 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7173 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7174 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7177 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7178 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7179 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7180 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7181 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7182 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_name
), ndr_get_array_length(ndr
, &r
->site_name
));
7184 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7185 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7186 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7188 if (r
->computer_dn
) {
7189 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7190 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7191 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7192 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7193 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7194 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->computer_dn
), ndr_get_array_length(ndr
, &r
->computer_dn
));
7196 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7197 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7198 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7201 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7202 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7203 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7204 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7205 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7206 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->server_dn
), ndr_get_array_length(ndr
, &r
->server_dn
));
7208 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7209 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7213 return NDR_ERR_SUCCESS
;
7216 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7218 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7220 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7222 if (r
->netbios_name
) {
7223 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7226 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7229 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7232 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7235 ndr_print_string(ndr
, "site_name", r
->site_name
);
7238 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7240 if (r
->computer_dn
) {
7241 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7244 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7247 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7250 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7251 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7255 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7257 uint32_t cntr_array_1
;
7258 if (ndr_flags
& NDR_SCALARS
) {
7259 NDR_CHECK(ndr_push_align(ndr
, 5));
7260 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7261 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7262 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7264 if (ndr_flags
& NDR_BUFFERS
) {
7266 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7267 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7268 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7270 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7271 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7275 return NDR_ERR_SUCCESS
;
7278 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7280 uint32_t _ptr_array
;
7281 uint32_t cntr_array_1
;
7282 TALLOC_CTX
*_mem_save_array_0
;
7283 TALLOC_CTX
*_mem_save_array_1
;
7284 if (ndr_flags
& NDR_SCALARS
) {
7285 NDR_CHECK(ndr_pull_align(ndr
, 5));
7286 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7287 if (r
->count
> 10000) {
7288 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7290 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7292 NDR_PULL_ALLOC(ndr
, r
->array
);
7296 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7298 if (ndr_flags
& NDR_BUFFERS
) {
7300 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7301 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7302 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7303 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7304 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7305 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7306 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7307 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7309 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7310 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7312 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7313 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7316 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7319 return NDR_ERR_SUCCESS
;
7322 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7324 uint32_t cntr_array_1
;
7325 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7327 ndr_print_uint32(ndr
, "count", r
->count
);
7328 ndr_print_ptr(ndr
, "array", r
->array
);
7331 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7333 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7335 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7336 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7346 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7348 if (ndr_flags
& NDR_SCALARS
) {
7349 NDR_CHECK(ndr_push_align(ndr
, 5));
7350 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7351 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7352 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7353 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7354 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7355 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7356 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7357 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7358 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7359 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7360 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7361 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7362 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7363 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7364 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7366 if (ndr_flags
& NDR_BUFFERS
) {
7367 if (r
->netbios_name
) {
7368 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7369 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7370 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7371 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7374 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7375 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7376 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7377 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7380 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7381 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7382 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7383 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7386 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7387 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7388 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7389 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7391 if (r
->computer_dn
) {
7392 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7393 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7394 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7395 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7398 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, 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
->server_dn
, CH_UTF16
)));
7401 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7404 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, 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
->ntds_dn
, CH_UTF16
)));
7407 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7410 return NDR_ERR_SUCCESS
;
7413 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7415 uint32_t _ptr_netbios_name
;
7416 TALLOC_CTX
*_mem_save_netbios_name_0
;
7417 uint32_t _ptr_dns_name
;
7418 TALLOC_CTX
*_mem_save_dns_name_0
;
7419 uint32_t _ptr_site_name
;
7420 TALLOC_CTX
*_mem_save_site_name_0
;
7421 uint32_t _ptr_site_dn
;
7422 TALLOC_CTX
*_mem_save_site_dn_0
;
7423 uint32_t _ptr_computer_dn
;
7424 TALLOC_CTX
*_mem_save_computer_dn_0
;
7425 uint32_t _ptr_server_dn
;
7426 TALLOC_CTX
*_mem_save_server_dn_0
;
7427 uint32_t _ptr_ntds_dn
;
7428 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7429 if (ndr_flags
& NDR_SCALARS
) {
7430 NDR_CHECK(ndr_pull_align(ndr
, 5));
7431 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7432 if (_ptr_netbios_name
) {
7433 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7435 r
->netbios_name
= NULL
;
7437 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7438 if (_ptr_dns_name
) {
7439 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7443 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7444 if (_ptr_site_name
) {
7445 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7447 r
->site_name
= NULL
;
7449 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7451 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7455 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7456 if (_ptr_computer_dn
) {
7457 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7459 r
->computer_dn
= NULL
;
7461 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7462 if (_ptr_server_dn
) {
7463 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7465 r
->server_dn
= NULL
;
7467 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7469 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7473 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7474 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7475 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7476 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7477 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7478 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7479 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7480 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7482 if (ndr_flags
& NDR_BUFFERS
) {
7483 if (r
->netbios_name
) {
7484 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7485 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7486 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7487 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7488 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7489 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->netbios_name
), ndr_get_array_length(ndr
, &r
->netbios_name
));
7491 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7492 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7496 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7497 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7498 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7499 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7500 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7501 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->dns_name
), ndr_get_array_length(ndr
, &r
->dns_name
));
7503 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7504 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7505 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7508 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7509 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7510 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7511 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7512 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7513 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_name
), ndr_get_array_length(ndr
, &r
->site_name
));
7515 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7516 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7520 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7521 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7522 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7523 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7524 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7525 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_dn
), ndr_get_array_length(ndr
, &r
->site_dn
));
7527 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7528 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7529 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7531 if (r
->computer_dn
) {
7532 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7533 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7534 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7535 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7536 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7537 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->computer_dn
), ndr_get_array_length(ndr
, &r
->computer_dn
));
7539 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7540 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7541 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7544 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7545 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7546 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7547 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7548 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7549 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->server_dn
), ndr_get_array_length(ndr
, &r
->server_dn
));
7551 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7552 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7553 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7556 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7557 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7558 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7559 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7560 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7561 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->ntds_dn
), ndr_get_array_length(ndr
, &r
->ntds_dn
));
7563 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7564 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7565 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7568 return NDR_ERR_SUCCESS
;
7571 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7573 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7575 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7577 if (r
->netbios_name
) {
7578 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7581 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7584 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7587 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7590 ndr_print_string(ndr
, "site_name", r
->site_name
);
7593 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7596 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7599 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7601 if (r
->computer_dn
) {
7602 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7605 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7608 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7611 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7614 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7617 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7618 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7619 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7620 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7621 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7622 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7623 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7627 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7629 uint32_t cntr_array_1
;
7630 if (ndr_flags
& NDR_SCALARS
) {
7631 NDR_CHECK(ndr_push_align(ndr
, 5));
7632 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7633 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7634 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7636 if (ndr_flags
& NDR_BUFFERS
) {
7638 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7639 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7640 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7642 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7643 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7647 return NDR_ERR_SUCCESS
;
7650 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7652 uint32_t _ptr_array
;
7653 uint32_t cntr_array_1
;
7654 TALLOC_CTX
*_mem_save_array_0
;
7655 TALLOC_CTX
*_mem_save_array_1
;
7656 if (ndr_flags
& NDR_SCALARS
) {
7657 NDR_CHECK(ndr_pull_align(ndr
, 5));
7658 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7659 if (r
->count
> 10000) {
7660 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7662 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7664 NDR_PULL_ALLOC(ndr
, r
->array
);
7668 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7670 if (ndr_flags
& NDR_BUFFERS
) {
7672 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7673 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7674 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7675 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7676 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7677 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7678 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7679 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7681 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7682 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7684 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7688 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7691 return NDR_ERR_SUCCESS
;
7694 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7696 uint32_t cntr_array_1
;
7697 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7699 ndr_print_uint32(ndr
, "count", r
->count
);
7700 ndr_print_ptr(ndr
, "array", r
->array
);
7703 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7705 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7707 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7708 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7718 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7720 if (ndr_flags
& NDR_SCALARS
) {
7721 NDR_CHECK(ndr_push_align(ndr
, 5));
7722 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7723 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7724 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7725 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7726 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7727 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7728 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7729 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7730 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7731 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7732 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7733 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7734 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7735 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7736 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7737 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7739 if (ndr_flags
& NDR_BUFFERS
) {
7740 if (r
->netbios_name
) {
7741 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7742 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7743 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7744 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7747 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7748 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7749 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7750 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7753 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7754 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7755 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7756 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7759 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7760 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7761 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7762 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7764 if (r
->computer_dn
) {
7765 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7766 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7767 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7768 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7771 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7772 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7773 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7774 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7777 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7778 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7779 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7780 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7783 return NDR_ERR_SUCCESS
;
7786 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7788 uint32_t _ptr_netbios_name
;
7789 TALLOC_CTX
*_mem_save_netbios_name_0
;
7790 uint32_t _ptr_dns_name
;
7791 TALLOC_CTX
*_mem_save_dns_name_0
;
7792 uint32_t _ptr_site_name
;
7793 TALLOC_CTX
*_mem_save_site_name_0
;
7794 uint32_t _ptr_site_dn
;
7795 TALLOC_CTX
*_mem_save_site_dn_0
;
7796 uint32_t _ptr_computer_dn
;
7797 TALLOC_CTX
*_mem_save_computer_dn_0
;
7798 uint32_t _ptr_server_dn
;
7799 TALLOC_CTX
*_mem_save_server_dn_0
;
7800 uint32_t _ptr_ntds_dn
;
7801 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7802 if (ndr_flags
& NDR_SCALARS
) {
7803 NDR_CHECK(ndr_pull_align(ndr
, 5));
7804 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7805 if (_ptr_netbios_name
) {
7806 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7808 r
->netbios_name
= NULL
;
7810 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7811 if (_ptr_dns_name
) {
7812 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7816 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7817 if (_ptr_site_name
) {
7818 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7820 r
->site_name
= NULL
;
7822 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7824 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7828 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7829 if (_ptr_computer_dn
) {
7830 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7832 r
->computer_dn
= NULL
;
7834 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7835 if (_ptr_server_dn
) {
7836 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7838 r
->server_dn
= NULL
;
7840 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7842 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7846 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7847 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7848 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7849 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7850 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7851 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7852 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7853 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7854 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7856 if (ndr_flags
& NDR_BUFFERS
) {
7857 if (r
->netbios_name
) {
7858 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7859 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7860 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7861 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7862 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7863 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->netbios_name
), ndr_get_array_length(ndr
, &r
->netbios_name
));
7865 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7866 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7870 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7871 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7872 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7873 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7874 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7875 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->dns_name
), ndr_get_array_length(ndr
, &r
->dns_name
));
7877 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7878 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7879 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7882 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7883 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7884 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7885 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7886 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7887 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_name
), ndr_get_array_length(ndr
, &r
->site_name
));
7889 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7890 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7891 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7894 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7895 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7896 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7897 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7898 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7899 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_dn
), ndr_get_array_length(ndr
, &r
->site_dn
));
7901 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7902 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7903 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7905 if (r
->computer_dn
) {
7906 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7907 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7908 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7909 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7910 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7911 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->computer_dn
), ndr_get_array_length(ndr
, &r
->computer_dn
));
7913 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7914 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7915 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7918 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7919 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7920 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7921 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7922 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7923 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->server_dn
), ndr_get_array_length(ndr
, &r
->server_dn
));
7925 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7926 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7927 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7930 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7931 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7932 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7933 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7934 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7935 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->ntds_dn
), ndr_get_array_length(ndr
, &r
->ntds_dn
));
7937 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7938 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7939 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7942 return NDR_ERR_SUCCESS
;
7945 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7947 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7949 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7951 if (r
->netbios_name
) {
7952 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7955 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7958 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7961 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7964 ndr_print_string(ndr
, "site_name", r
->site_name
);
7967 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7970 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7973 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7975 if (r
->computer_dn
) {
7976 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7979 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7982 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7985 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7988 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7991 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7992 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7993 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7994 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
7995 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7996 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7997 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7998 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
8002 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
8004 uint32_t cntr_array_1
;
8005 if (ndr_flags
& NDR_SCALARS
) {
8006 NDR_CHECK(ndr_push_align(ndr
, 5));
8007 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8008 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8009 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8011 if (ndr_flags
& NDR_BUFFERS
) {
8013 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8014 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8015 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8017 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8018 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8022 return NDR_ERR_SUCCESS
;
8025 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
8027 uint32_t _ptr_array
;
8028 uint32_t cntr_array_1
;
8029 TALLOC_CTX
*_mem_save_array_0
;
8030 TALLOC_CTX
*_mem_save_array_1
;
8031 if (ndr_flags
& NDR_SCALARS
) {
8032 NDR_CHECK(ndr_pull_align(ndr
, 5));
8033 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8034 if (r
->count
> 10000) {
8035 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8037 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8039 NDR_PULL_ALLOC(ndr
, r
->array
);
8043 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8045 if (ndr_flags
& NDR_BUFFERS
) {
8047 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8048 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8049 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8050 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8051 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8052 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8053 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8054 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8056 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8057 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8059 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8060 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8063 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8066 return NDR_ERR_SUCCESS
;
8069 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
8071 uint32_t cntr_array_1
;
8072 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
8074 ndr_print_uint32(ndr
, "count", r
->count
);
8075 ndr_print_ptr(ndr
, "array", r
->array
);
8078 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8080 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8082 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8083 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
8093 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
8095 if (ndr_flags
& NDR_SCALARS
) {
8096 NDR_CHECK(ndr_push_align(ndr
, 5));
8098 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8099 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8100 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
8101 ndr
->flags
= _flags_save_ipv4address
;
8103 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
8105 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
8106 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
8107 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
8108 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
8109 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8111 if (ndr_flags
& NDR_BUFFERS
) {
8112 if (r
->client_account
) {
8113 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
8114 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
8115 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
8116 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8119 return NDR_ERR_SUCCESS
;
8122 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
8124 uint32_t _ptr_client_account
;
8125 TALLOC_CTX
*_mem_save_client_account_0
;
8126 if (ndr_flags
& NDR_SCALARS
) {
8127 NDR_CHECK(ndr_pull_align(ndr
, 5));
8129 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8130 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8131 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
8132 ndr
->flags
= _flags_save_ipv4address
;
8134 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8135 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
8136 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
8137 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
8138 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
8139 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
8140 if (_ptr_client_account
) {
8141 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8143 r
->client_account
= NULL
;
8145 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8147 if (ndr_flags
& NDR_BUFFERS
) {
8148 if (r
->client_account
) {
8149 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8150 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8151 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8152 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8153 if (ndr_get_array_length(ndr
, &r
->client_account
) > ndr_get_array_size(ndr
, &r
->client_account
)) {
8154 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->client_account
), ndr_get_array_length(ndr
, &r
->client_account
));
8156 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t)));
8157 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t), CH_UTF16
));
8158 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8161 return NDR_ERR_SUCCESS
;
8164 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8166 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8168 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8169 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8170 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8171 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8172 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8173 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8174 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8176 if (r
->client_account
) {
8177 ndr_print_string(ndr
, "client_account", r
->client_account
);
8183 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8185 uint32_t cntr_array_1
;
8186 if (ndr_flags
& NDR_SCALARS
) {
8187 NDR_CHECK(ndr_push_align(ndr
, 5));
8188 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8189 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8190 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8192 if (ndr_flags
& NDR_BUFFERS
) {
8194 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8195 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8196 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8198 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8199 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8203 return NDR_ERR_SUCCESS
;
8206 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8208 uint32_t _ptr_array
;
8209 uint32_t cntr_array_1
;
8210 TALLOC_CTX
*_mem_save_array_0
;
8211 TALLOC_CTX
*_mem_save_array_1
;
8212 if (ndr_flags
& NDR_SCALARS
) {
8213 NDR_CHECK(ndr_pull_align(ndr
, 5));
8214 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8215 if (r
->count
> 10000) {
8216 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8218 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8220 NDR_PULL_ALLOC(ndr
, r
->array
);
8224 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8226 if (ndr_flags
& NDR_BUFFERS
) {
8228 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8229 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8230 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8231 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8232 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8233 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8234 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8235 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8237 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8238 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8241 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8244 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8247 return NDR_ERR_SUCCESS
;
8250 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8252 uint32_t cntr_array_1
;
8253 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8255 ndr_print_uint32(ndr
, "count", r
->count
);
8256 ndr_print_ptr(ndr
, "array", r
->array
);
8259 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8261 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8263 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8264 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8274 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8276 if (ndr_flags
& NDR_SCALARS
) {
8277 int level
= ndr_push_get_switch_value(ndr
, r
);
8278 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8279 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8281 case DRSUAPI_DC_INFO_CTR_1
: {
8282 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8285 case DRSUAPI_DC_INFO_CTR_2
: {
8286 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8289 case DRSUAPI_DC_INFO_CTR_3
: {
8290 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8293 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8294 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8298 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8301 if (ndr_flags
& NDR_BUFFERS
) {
8302 int level
= ndr_push_get_switch_value(ndr
, r
);
8304 case DRSUAPI_DC_INFO_CTR_1
:
8305 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8308 case DRSUAPI_DC_INFO_CTR_2
:
8309 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8312 case DRSUAPI_DC_INFO_CTR_3
:
8313 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8316 case DRSUAPI_DC_CONNECTION_CTR_01
:
8317 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8321 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8324 return NDR_ERR_SUCCESS
;
8327 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8331 level
= ndr_pull_get_switch_value(ndr
, r
);
8332 if (ndr_flags
& NDR_SCALARS
) {
8333 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8334 if (_level
!= level
) {
8335 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8337 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8339 case DRSUAPI_DC_INFO_CTR_1
: {
8340 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8343 case DRSUAPI_DC_INFO_CTR_2
: {
8344 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8347 case DRSUAPI_DC_INFO_CTR_3
: {
8348 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8351 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8352 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8356 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8359 if (ndr_flags
& NDR_BUFFERS
) {
8361 case DRSUAPI_DC_INFO_CTR_1
:
8362 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8365 case DRSUAPI_DC_INFO_CTR_2
:
8366 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8369 case DRSUAPI_DC_INFO_CTR_3
:
8370 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8373 case DRSUAPI_DC_CONNECTION_CTR_01
:
8374 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8378 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8381 return NDR_ERR_SUCCESS
;
8384 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8387 level
= ndr_print_get_switch_value(ndr
, r
);
8388 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8390 case DRSUAPI_DC_INFO_CTR_1
:
8391 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8394 case DRSUAPI_DC_INFO_CTR_2
:
8395 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8398 case DRSUAPI_DC_INFO_CTR_3
:
8399 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8402 case DRSUAPI_DC_CONNECTION_CTR_01
:
8403 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8407 ndr_print_bad_level(ndr
, name
, level
);
8411 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8413 if (ndr_flags
& NDR_SCALARS
) {
8414 NDR_CHECK(ndr_push_align(ndr
, 5));
8415 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8416 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8417 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8419 if (ndr_flags
& NDR_BUFFERS
) {
8420 if (r
->next_object
) {
8421 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8423 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8425 return NDR_ERR_SUCCESS
;
8428 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8430 uint32_t _ptr_next_object
;
8431 TALLOC_CTX
*_mem_save_next_object_0
;
8432 if (ndr_flags
& NDR_SCALARS
) {
8433 NDR_CHECK(ndr_pull_align(ndr
, 5));
8434 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8435 if (_ptr_next_object
) {
8436 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8438 r
->next_object
= NULL
;
8440 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8441 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8443 if (ndr_flags
& NDR_BUFFERS
) {
8444 if (r
->next_object
) {
8445 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8446 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8448 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8452 return NDR_ERR_SUCCESS
;
8455 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8457 if (ndr_flags
& NDR_SCALARS
) {
8458 NDR_CHECK(ndr_push_align(ndr
, 5));
8459 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8460 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8462 if (ndr_flags
& NDR_BUFFERS
) {
8463 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8465 return NDR_ERR_SUCCESS
;
8468 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8470 if (ndr_flags
& NDR_SCALARS
) {
8471 NDR_CHECK(ndr_pull_align(ndr
, 5));
8472 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8473 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8475 if (ndr_flags
& NDR_BUFFERS
) {
8476 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8478 return NDR_ERR_SUCCESS
;
8481 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8483 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8485 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8489 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8491 if (ndr_flags
& NDR_SCALARS
) {
8492 int level
= ndr_push_get_switch_value(ndr
, r
);
8493 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8494 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8497 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8501 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8504 if (ndr_flags
& NDR_BUFFERS
) {
8505 int level
= ndr_push_get_switch_value(ndr
, r
);
8508 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8512 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8515 return NDR_ERR_SUCCESS
;
8518 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8522 level
= ndr_pull_get_switch_value(ndr
, r
);
8523 if (ndr_flags
& NDR_SCALARS
) {
8524 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8525 if (_level
!= level
) {
8526 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8528 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8531 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8535 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8538 if (ndr_flags
& NDR_BUFFERS
) {
8541 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8545 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8548 return NDR_ERR_SUCCESS
;
8551 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8554 level
= ndr_print_get_switch_value(ndr
, r
);
8555 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8558 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8562 ndr_print_bad_level(ndr
, name
, level
);
8566 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8568 if (ndr_flags
& NDR_SCALARS
) {
8569 NDR_CHECK(ndr_push_align(ndr
, 4));
8570 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8571 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8572 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8573 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
8574 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8576 if (ndr_flags
& NDR_BUFFERS
) {
8578 return NDR_ERR_SUCCESS
;
8581 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8583 if (ndr_flags
& NDR_SCALARS
) {
8584 NDR_CHECK(ndr_pull_align(ndr
, 4));
8585 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8586 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8587 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8588 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
8589 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8591 if (ndr_flags
& NDR_BUFFERS
) {
8593 return NDR_ERR_SUCCESS
;
8596 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8598 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8600 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8601 ndr_print_WERROR(ndr
, "status", r
->status
);
8602 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8603 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
8607 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8609 if (ndr_flags
& NDR_SCALARS
) {
8610 NDR_CHECK(ndr_push_align(ndr
, 5));
8611 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
8612 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
8613 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8615 if (ndr_flags
& NDR_BUFFERS
) {
8617 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
8618 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
8621 return NDR_ERR_SUCCESS
;
8624 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8627 TALLOC_CTX
*_mem_save_data_0
;
8628 if (ndr_flags
& NDR_SCALARS
) {
8629 NDR_CHECK(ndr_pull_align(ndr
, 5));
8630 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
8631 if (r
->size
> 10485760) {
8632 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8634 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
8636 NDR_PULL_ALLOC(ndr
, r
->data
);
8640 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8642 if (ndr_flags
& NDR_BUFFERS
) {
8644 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8645 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
8646 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
8647 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
8648 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
8649 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
8652 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
8655 return NDR_ERR_SUCCESS
;
8658 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8660 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
8662 ndr_print_uint32(ndr
, "size", r
->size
);
8663 ndr_print_ptr(ndr
, "data", r
->data
);
8666 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
8672 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8674 if (ndr_flags
& NDR_SCALARS
) {
8675 NDR_CHECK(ndr_push_align(ndr
, 5));
8676 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8677 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8678 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8679 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8680 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8682 if (ndr_flags
& NDR_BUFFERS
) {
8683 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8685 return NDR_ERR_SUCCESS
;
8688 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
8690 if (ndr_flags
& NDR_SCALARS
) {
8691 NDR_CHECK(ndr_pull_align(ndr
, 5));
8692 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8693 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8694 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8695 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8696 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8698 if (ndr_flags
& NDR_BUFFERS
) {
8699 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8701 return NDR_ERR_SUCCESS
;
8704 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8706 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
8708 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8709 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8710 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8711 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
8715 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8717 if (ndr_flags
& NDR_SCALARS
) {
8718 NDR_CHECK(ndr_push_align(ndr
, 5));
8719 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8720 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8721 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8723 if (ndr_flags
& NDR_BUFFERS
) {
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8727 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8729 return NDR_ERR_SUCCESS
;
8732 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
8735 TALLOC_CTX
*_mem_save_next_0
;
8736 if (ndr_flags
& NDR_SCALARS
) {
8737 NDR_CHECK(ndr_pull_align(ndr
, 5));
8738 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8740 NDR_PULL_ALLOC(ndr
, r
->next
);
8744 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8745 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8747 if (ndr_flags
& NDR_BUFFERS
) {
8749 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8750 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8751 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8752 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8754 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8756 return NDR_ERR_SUCCESS
;
8759 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8761 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
8763 ndr_print_ptr(ndr
, "next", r
->next
);
8766 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
8769 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
8773 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8775 if (ndr_flags
& NDR_SCALARS
) {
8776 NDR_CHECK(ndr_push_align(ndr
, 5));
8777 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8778 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8779 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8780 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8782 if (ndr_flags
& NDR_BUFFERS
) {
8784 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8786 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8788 return NDR_ERR_SUCCESS
;
8791 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
8794 TALLOC_CTX
*_mem_save_id_0
;
8795 if (ndr_flags
& NDR_SCALARS
) {
8796 NDR_CHECK(ndr_pull_align(ndr
, 5));
8797 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8799 NDR_PULL_ALLOC(ndr
, r
->id
);
8803 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8804 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8805 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8807 if (ndr_flags
& NDR_BUFFERS
) {
8809 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8810 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8811 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8812 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8814 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8816 return NDR_ERR_SUCCESS
;
8819 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8821 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
8823 ndr_print_ptr(ndr
, "id", r
->id
);
8826 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8829 ndr_print_WERROR(ndr
, "status", r
->status
);
8830 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
8834 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8836 if (ndr_flags
& NDR_SCALARS
) {
8837 int level
= ndr_push_get_switch_value(ndr
, r
);
8838 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8839 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8842 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8846 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8850 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8854 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8858 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8862 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8865 if (ndr_flags
& NDR_BUFFERS
) {
8866 int level
= ndr_push_get_switch_value(ndr
, r
);
8869 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8885 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8888 return NDR_ERR_SUCCESS
;
8891 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
8895 level
= ndr_pull_get_switch_value(ndr
, r
);
8896 if (ndr_flags
& NDR_SCALARS
) {
8897 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8898 if (_level
!= level
) {
8899 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8901 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8904 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8908 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8912 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8916 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8920 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8924 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8927 if (ndr_flags
& NDR_BUFFERS
) {
8930 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8946 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8949 return NDR_ERR_SUCCESS
;
8952 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8955 level
= ndr_print_get_switch_value(ndr
, r
);
8956 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
8959 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
8963 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8967 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8971 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8975 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8979 ndr_print_bad_level(ndr
, name
, level
);
8983 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
8985 if (ndr_flags
& NDR_SCALARS
) {
8986 NDR_CHECK(ndr_push_align(ndr
, 5));
8987 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8988 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8989 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
8990 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8992 if (ndr_flags
& NDR_BUFFERS
) {
8994 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
8995 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8998 return NDR_ERR_SUCCESS
;
9001 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
9004 TALLOC_CTX
*_mem_save_info_0
;
9005 if (ndr_flags
& NDR_SCALARS
) {
9006 NDR_CHECK(ndr_pull_align(ndr
, 5));
9007 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
9008 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9009 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9011 NDR_PULL_ALLOC(ndr
, r
->info
);
9015 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9017 if (ndr_flags
& NDR_BUFFERS
) {
9019 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9020 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
9021 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
9022 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9023 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
9026 return NDR_ERR_SUCCESS
;
9029 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
9031 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
9033 ndr_print_WERROR(ndr
, "status", r
->status
);
9034 ndr_print_uint32(ndr
, "level", r
->level
);
9035 ndr_print_ptr(ndr
, "info", r
->info
);
9038 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
9039 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
9045 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
9047 if (ndr_flags
& NDR_SCALARS
) {
9048 int level
= ndr_push_get_switch_value(ndr
, r
);
9049 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9050 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9053 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
9057 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9060 if (ndr_flags
& NDR_BUFFERS
) {
9061 int level
= ndr_push_get_switch_value(ndr
, r
);
9064 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
9068 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9071 return NDR_ERR_SUCCESS
;
9074 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
9078 level
= ndr_pull_get_switch_value(ndr
, r
);
9079 if (ndr_flags
& NDR_SCALARS
) {
9080 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9081 if (_level
!= level
) {
9082 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9084 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9087 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
9091 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9094 if (ndr_flags
& NDR_BUFFERS
) {
9097 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
9101 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9104 return NDR_ERR_SUCCESS
;
9107 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
9110 level
= ndr_print_get_switch_value(ndr
, r
);
9111 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
9114 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
9118 ndr_print_bad_level(ndr
, name
, level
);
9122 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9124 if (ndr_flags
& NDR_SCALARS
) {
9125 NDR_CHECK(ndr_push_align(ndr
, 4));
9126 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9127 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9128 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9130 if (ndr_flags
& NDR_BUFFERS
) {
9131 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9133 return NDR_ERR_SUCCESS
;
9136 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9138 if (ndr_flags
& NDR_SCALARS
) {
9139 NDR_CHECK(ndr_pull_align(ndr
, 4));
9140 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9141 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9142 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9144 if (ndr_flags
& NDR_BUFFERS
) {
9145 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9147 return NDR_ERR_SUCCESS
;
9150 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9152 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9154 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9155 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9159 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9161 uint32_t cntr_objects_1
;
9162 if (ndr_flags
& NDR_SCALARS
) {
9163 NDR_CHECK(ndr_push_align(ndr
, 5));
9164 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9165 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9166 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9167 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9168 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9169 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9171 if (ndr_flags
& NDR_BUFFERS
) {
9173 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9176 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9177 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9178 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9180 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9185 return NDR_ERR_SUCCESS
;
9188 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9191 TALLOC_CTX
*_mem_save_id_0
;
9192 uint32_t _ptr_objects
;
9193 uint32_t cntr_objects_1
;
9194 TALLOC_CTX
*_mem_save_objects_0
;
9195 TALLOC_CTX
*_mem_save_objects_1
;
9196 if (ndr_flags
& NDR_SCALARS
) {
9197 NDR_CHECK(ndr_pull_align(ndr
, 5));
9198 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9200 NDR_PULL_ALLOC(ndr
, r
->id
);
9204 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9205 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9206 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9207 if (r
->count
> 10000) {
9208 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9210 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9212 NDR_PULL_ALLOC(ndr
, r
->objects
);
9216 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9218 if (ndr_flags
& NDR_BUFFERS
) {
9220 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9221 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9226 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9227 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9228 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9229 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9230 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9231 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9232 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9235 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9236 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9238 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9239 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9242 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9245 return NDR_ERR_SUCCESS
;
9248 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9250 uint32_t cntr_objects_1
;
9251 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9253 ndr_print_ptr(ndr
, "id", r
->id
);
9256 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9259 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9260 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
9261 ndr_print_uint32(ndr
, "count", r
->count
);
9262 ndr_print_ptr(ndr
, "objects", r
->objects
);
9265 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9267 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9269 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9270 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9280 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9282 uint32_t cntr_objects_1
;
9283 if (ndr_flags
& NDR_SCALARS
) {
9284 NDR_CHECK(ndr_push_align(ndr
, 5));
9285 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9286 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9287 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
9288 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9289 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9290 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9292 if (ndr_flags
& NDR_BUFFERS
) {
9294 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9297 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
9298 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9301 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9302 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9303 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9305 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9306 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9310 return NDR_ERR_SUCCESS
;
9313 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9316 TALLOC_CTX
*_mem_save_id_0
;
9317 uint32_t _ptr_error
;
9318 TALLOC_CTX
*_mem_save_error_0
;
9319 uint32_t _ptr_objects
;
9320 uint32_t cntr_objects_1
;
9321 TALLOC_CTX
*_mem_save_objects_0
;
9322 TALLOC_CTX
*_mem_save_objects_1
;
9323 if (ndr_flags
& NDR_SCALARS
) {
9324 NDR_CHECK(ndr_pull_align(ndr
, 5));
9325 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9327 NDR_PULL_ALLOC(ndr
, r
->id
);
9331 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9332 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
9334 NDR_PULL_ALLOC(ndr
, r
->error
);
9338 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9339 if (r
->count
> 10000) {
9340 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9342 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9344 NDR_PULL_ALLOC(ndr
, r
->objects
);
9348 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9350 if (ndr_flags
& NDR_BUFFERS
) {
9352 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9353 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9355 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9358 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9359 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
9360 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
9361 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9362 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
9365 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9366 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9367 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9368 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9369 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9370 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9371 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9372 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9374 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9375 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9377 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9381 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9384 return NDR_ERR_SUCCESS
;
9387 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9389 uint32_t cntr_objects_1
;
9390 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9392 ndr_print_ptr(ndr
, "id", r
->id
);
9395 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9398 ndr_print_uint32(ndr
, "level", r
->level
);
9399 ndr_print_ptr(ndr
, "error", r
->error
);
9402 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
9403 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
9406 ndr_print_uint32(ndr
, "count", r
->count
);
9407 ndr_print_ptr(ndr
, "objects", r
->objects
);
9410 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9412 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9414 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9415 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9425 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9427 if (ndr_flags
& NDR_SCALARS
) {
9428 int level
= ndr_push_get_switch_value(ndr
, r
);
9429 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
9430 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9433 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9437 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9441 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9444 if (ndr_flags
& NDR_BUFFERS
) {
9445 int level
= ndr_push_get_switch_value(ndr
, r
);
9448 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9452 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9456 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9459 return NDR_ERR_SUCCESS
;
9462 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9466 level
= ndr_pull_get_switch_value(ndr
, r
);
9467 if (ndr_flags
& NDR_SCALARS
) {
9468 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
9469 if (_level
!= level
) {
9470 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9472 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9475 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9479 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9483 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9486 if (ndr_flags
& NDR_BUFFERS
) {
9489 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9493 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9497 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9500 return NDR_ERR_SUCCESS
;
9503 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
9506 level
= ndr_print_get_switch_value(ndr
, r
);
9507 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
9510 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
9514 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
9518 ndr_print_bad_level(ndr
, name
, level
);
9522 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
9524 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
9525 return NDR_ERR_SUCCESS
;
9528 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
9531 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
9533 return NDR_ERR_SUCCESS
;
9536 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
9538 ndr_print_uint32(ndr
, name
, r
);
9540 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
9541 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
9545 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
9547 if (ndr_flags
& NDR_SCALARS
) {
9548 NDR_CHECK(ndr_push_align(ndr
, 4));
9549 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
9550 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
9551 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9553 if (ndr_flags
& NDR_BUFFERS
) {
9555 return NDR_ERR_SUCCESS
;
9558 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
9560 if (ndr_flags
& NDR_SCALARS
) {
9561 NDR_CHECK(ndr_pull_align(ndr
, 4));
9562 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
9563 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
9564 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9566 if (ndr_flags
& NDR_BUFFERS
) {
9568 return NDR_ERR_SUCCESS
;
9571 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
9573 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
9575 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
9576 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
9580 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
9582 if (ndr_flags
& NDR_SCALARS
) {
9583 int level
= ndr_push_get_switch_value(ndr
, r
);
9584 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9585 NDR_CHECK(ndr_push_union_align(ndr
, 4));
9588 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9592 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9595 if (ndr_flags
& NDR_BUFFERS
) {
9596 int level
= ndr_push_get_switch_value(ndr
, r
);
9602 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9605 return NDR_ERR_SUCCESS
;
9608 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
9612 level
= ndr_pull_get_switch_value(ndr
, r
);
9613 if (ndr_flags
& NDR_SCALARS
) {
9614 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9615 if (_level
!= level
) {
9616 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9618 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
9621 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9625 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9628 if (ndr_flags
& NDR_BUFFERS
) {
9634 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9637 return NDR_ERR_SUCCESS
;
9640 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
9643 level
= ndr_print_get_switch_value(ndr
, r
);
9644 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
9647 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
9651 ndr_print_bad_level(ndr
, name
, level
);
9655 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
9657 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9658 return NDR_ERR_SUCCESS
;
9661 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
9664 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9666 return NDR_ERR_SUCCESS
;
9669 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
9671 const char *val
= NULL
;
9674 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9675 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9677 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9680 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
9682 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9683 return NDR_ERR_SUCCESS
;
9686 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
9689 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9691 return NDR_ERR_SUCCESS
;
9694 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
9696 const char *val
= NULL
;
9699 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9700 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9701 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9702 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9703 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9704 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9705 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9706 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9707 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9708 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9709 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9710 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9711 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: val
= "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9712 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9713 case DRSUAPI_DS_REPLICA_INFO_06
: val
= "DRSUAPI_DS_REPLICA_INFO_06"; break;
9715 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9718 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9720 if (ndr_flags
& NDR_SCALARS
) {
9721 NDR_CHECK(ndr_push_align(ndr
, 5));
9722 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9723 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9724 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9725 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9727 if (ndr_flags
& NDR_BUFFERS
) {
9729 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9730 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9731 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9732 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9735 return NDR_ERR_SUCCESS
;
9738 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9740 uint32_t _ptr_object_dn
;
9741 TALLOC_CTX
*_mem_save_object_dn_0
;
9742 if (ndr_flags
& NDR_SCALARS
) {
9743 NDR_CHECK(ndr_pull_align(ndr
, 5));
9744 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9745 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9746 if (_ptr_object_dn
) {
9747 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9749 r
->object_dn
= NULL
;
9751 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9752 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9754 if (ndr_flags
& NDR_BUFFERS
) {
9756 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9757 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9758 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9759 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9760 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9761 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_dn
), ndr_get_array_length(ndr
, &r
->object_dn
));
9763 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9764 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9765 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9768 return NDR_ERR_SUCCESS
;
9771 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9773 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
9775 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9776 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9779 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9782 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
9786 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9788 if (ndr_flags
& NDR_SCALARS
) {
9789 NDR_CHECK(ndr_push_align(ndr
, 5));
9790 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9791 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9792 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9793 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9794 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string1
));
9795 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string2
));
9796 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
9797 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9799 if (ndr_flags
& NDR_BUFFERS
) {
9801 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9802 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9803 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9804 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9807 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9808 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9809 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9810 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string1
, ndr_charset_length(r
->string1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9813 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9814 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9815 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9816 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string2
, ndr_charset_length(r
->string2
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9819 return NDR_ERR_SUCCESS
;
9822 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9824 uint32_t _ptr_object_dn
;
9825 TALLOC_CTX
*_mem_save_object_dn_0
;
9826 uint32_t _ptr_string1
;
9827 TALLOC_CTX
*_mem_save_string1_0
;
9828 uint32_t _ptr_string2
;
9829 TALLOC_CTX
*_mem_save_string2_0
;
9830 if (ndr_flags
& NDR_SCALARS
) {
9831 NDR_CHECK(ndr_pull_align(ndr
, 5));
9832 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9833 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9834 if (_ptr_object_dn
) {
9835 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9837 r
->object_dn
= NULL
;
9839 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9840 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9841 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string1
));
9843 NDR_PULL_ALLOC(ndr
, r
->string1
);
9847 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string2
));
9849 NDR_PULL_ALLOC(ndr
, r
->string2
);
9853 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
9854 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9856 if (ndr_flags
& NDR_BUFFERS
) {
9858 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9859 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9860 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9861 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9862 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9863 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_dn
), ndr_get_array_length(ndr
, &r
->object_dn
));
9865 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9866 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9870 _mem_save_string1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9871 NDR_PULL_SET_MEM_CTX(ndr
, r
->string1
, 0);
9872 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string1
));
9873 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string1
));
9874 if (ndr_get_array_length(ndr
, &r
->string1
) > ndr_get_array_size(ndr
, &r
->string1
)) {
9875 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string1
), ndr_get_array_length(ndr
, &r
->string1
));
9877 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->string1
), sizeof(uint16_t)));
9878 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string1
, ndr_get_array_length(ndr
, &r
->string1
), sizeof(uint16_t), CH_UTF16
));
9879 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string1_0
, 0);
9882 _mem_save_string2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9883 NDR_PULL_SET_MEM_CTX(ndr
, r
->string2
, 0);
9884 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string2
));
9885 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string2
));
9886 if (ndr_get_array_length(ndr
, &r
->string2
) > ndr_get_array_size(ndr
, &r
->string2
)) {
9887 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string2
), ndr_get_array_length(ndr
, &r
->string2
));
9889 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->string2
), sizeof(uint16_t)));
9890 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string2
, ndr_get_array_length(ndr
, &r
->string2
), sizeof(uint16_t), CH_UTF16
));
9891 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string2_0
, 0);
9894 return NDR_ERR_SUCCESS
;
9897 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9899 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
9901 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9902 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9905 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9908 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
9909 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9910 ndr_print_ptr(ndr
, "string1", r
->string1
);
9913 ndr_print_string(ndr
, "string1", r
->string1
);
9916 ndr_print_ptr(ndr
, "string2", r
->string2
);
9919 ndr_print_string(ndr
, "string2", r
->string2
);
9922 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
9926 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9928 if (ndr_flags
& NDR_SCALARS
) {
9929 int level
= ndr_push_get_switch_value(ndr
, r
);
9930 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
9931 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9933 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9934 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9937 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9938 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9942 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9945 if (ndr_flags
& NDR_BUFFERS
) {
9946 int level
= ndr_push_get_switch_value(ndr
, r
);
9948 case DRSUAPI_DS_REPLICA_GET_INFO
:
9949 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9952 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9953 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9957 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9960 return NDR_ERR_SUCCESS
;
9963 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
9967 level
= ndr_pull_get_switch_value(ndr
, r
);
9968 if (ndr_flags
& NDR_SCALARS
) {
9969 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9970 if (_level
!= level
) {
9971 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9973 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9975 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9976 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9979 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9980 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9984 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9987 if (ndr_flags
& NDR_BUFFERS
) {
9989 case DRSUAPI_DS_REPLICA_GET_INFO
:
9990 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9993 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9998 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10001 return NDR_ERR_SUCCESS
;
10004 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
10007 level
= ndr_print_get_switch_value(ndr
, r
);
10008 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
10010 case DRSUAPI_DS_REPLICA_GET_INFO
:
10011 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
10014 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10015 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
10019 ndr_print_bad_level(ndr
, name
, level
);
10023 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
10025 if (ndr_flags
& NDR_SCALARS
) {
10026 NDR_CHECK(ndr_push_align(ndr
, 8));
10027 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
10028 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
10029 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
10030 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
10031 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
10032 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10033 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10034 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10035 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10036 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10037 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
10038 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
10039 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
10040 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
10041 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
10042 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
10043 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10045 if (ndr_flags
& NDR_BUFFERS
) {
10046 if (r
->naming_context_dn
) {
10047 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10048 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10049 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10050 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
));
10052 if (r
->source_dsa_obj_dn
) {
10053 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10055 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10056 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
));
10058 if (r
->source_dsa_address
) {
10059 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10060 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10061 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10062 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
));
10064 if (r
->transport_obj_dn
) {
10065 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10066 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10067 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10068 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
));
10071 return NDR_ERR_SUCCESS
;
10074 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
10076 uint32_t _ptr_naming_context_dn
;
10077 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
10078 uint32_t _ptr_source_dsa_obj_dn
;
10079 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
10080 uint32_t _ptr_source_dsa_address
;
10081 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
10082 uint32_t _ptr_transport_obj_dn
;
10083 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
10084 if (ndr_flags
& NDR_SCALARS
) {
10085 NDR_CHECK(ndr_pull_align(ndr
, 8));
10086 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
10087 if (_ptr_naming_context_dn
) {
10088 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
10090 r
->naming_context_dn
= NULL
;
10092 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
10093 if (_ptr_source_dsa_obj_dn
) {
10094 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
10096 r
->source_dsa_obj_dn
= NULL
;
10098 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
10099 if (_ptr_source_dsa_address
) {
10100 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
10102 r
->source_dsa_address
= NULL
;
10104 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
10105 if (_ptr_transport_obj_dn
) {
10106 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
10108 r
->transport_obj_dn
= NULL
;
10110 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
10111 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10112 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10113 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10114 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10115 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10116 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
10117 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
10118 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
10119 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
10120 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
10121 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
10122 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10124 if (ndr_flags
& NDR_BUFFERS
) {
10125 if (r
->naming_context_dn
) {
10126 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10127 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
10128 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
10129 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
10130 if (ndr_get_array_length(ndr
, &r
->naming_context_dn
) > ndr_get_array_size(ndr
, &r
->naming_context_dn
)) {
10131 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->naming_context_dn
), ndr_get_array_length(ndr
, &r
->naming_context_dn
));
10133 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t)));
10134 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->naming_context_dn
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t), CH_UTF16
));
10135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
10137 if (r
->source_dsa_obj_dn
) {
10138 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10139 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10140 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10141 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10142 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
10143 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
), ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
));
10145 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
10146 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_dn
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t), CH_UTF16
));
10147 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10149 if (r
->source_dsa_address
) {
10150 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10151 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10152 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10153 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10154 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
10155 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_address
), ndr_get_array_length(ndr
, &r
->source_dsa_address
));
10157 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
10158 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t), CH_UTF16
));
10159 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10161 if (r
->transport_obj_dn
) {
10162 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10163 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10164 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10165 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10166 if (ndr_get_array_length(ndr
, &r
->transport_obj_dn
) > ndr_get_array_size(ndr
, &r
->transport_obj_dn
)) {
10167 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->transport_obj_dn
), ndr_get_array_length(ndr
, &r
->transport_obj_dn
));
10169 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t)));
10170 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->transport_obj_dn
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t), CH_UTF16
));
10171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10174 return NDR_ERR_SUCCESS
;
10177 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10179 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10181 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10183 if (r
->naming_context_dn
) {
10184 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10187 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10189 if (r
->source_dsa_obj_dn
) {
10190 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10193 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10195 if (r
->source_dsa_address
) {
10196 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10199 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10201 if (r
->transport_obj_dn
) {
10202 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10205 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
10206 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10207 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10208 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10209 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10210 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10211 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10212 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10213 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10214 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10215 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10216 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10220 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10222 uint32_t cntr_array_0
;
10223 if (ndr_flags
& NDR_SCALARS
) {
10224 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10225 NDR_CHECK(ndr_push_align(ndr
, 8));
10226 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10227 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10228 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10229 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10231 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10233 if (ndr_flags
& NDR_BUFFERS
) {
10234 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10235 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10238 return NDR_ERR_SUCCESS
;
10241 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10243 uint32_t cntr_array_0
;
10244 TALLOC_CTX
*_mem_save_array_0
;
10245 if (ndr_flags
& NDR_SCALARS
) {
10246 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10247 NDR_CHECK(ndr_pull_align(ndr
, 8));
10248 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10249 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10250 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10251 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10252 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10253 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10254 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10258 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10260 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10262 if (ndr_flags
& NDR_BUFFERS
) {
10263 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10264 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10265 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10268 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10270 return NDR_ERR_SUCCESS
;
10273 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10275 uint32_t cntr_array_0
;
10276 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10278 ndr_print_uint32(ndr
, "count", r
->count
);
10279 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10280 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10282 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10284 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10285 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10293 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10295 uint32_t cntr_array_0
;
10296 if (ndr_flags
& NDR_SCALARS
) {
10297 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10298 NDR_CHECK(ndr_push_align(ndr
, 8));
10299 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10300 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10301 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10302 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10304 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10306 if (ndr_flags
& NDR_BUFFERS
) {
10308 return NDR_ERR_SUCCESS
;
10311 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10313 uint32_t cntr_array_0
;
10314 TALLOC_CTX
*_mem_save_array_0
;
10315 if (ndr_flags
& NDR_SCALARS
) {
10316 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10317 NDR_CHECK(ndr_pull_align(ndr
, 8));
10318 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10319 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10320 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10321 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10322 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10323 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10324 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10326 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10328 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10330 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10332 if (ndr_flags
& NDR_BUFFERS
) {
10334 return NDR_ERR_SUCCESS
;
10337 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10339 uint32_t cntr_array_0
;
10340 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10342 ndr_print_uint32(ndr
, "count", r
->count
);
10343 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10344 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10346 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10348 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10349 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10357 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10359 if (ndr_flags
& NDR_SCALARS
) {
10360 NDR_CHECK(ndr_push_align(ndr
, 8));
10361 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10362 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10363 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10364 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10365 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10366 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10367 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10369 if (ndr_flags
& NDR_BUFFERS
) {
10370 if (r
->attribute_name
) {
10371 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10372 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10373 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10374 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10377 return NDR_ERR_SUCCESS
;
10380 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10382 uint32_t _ptr_attribute_name
;
10383 TALLOC_CTX
*_mem_save_attribute_name_0
;
10384 if (ndr_flags
& NDR_SCALARS
) {
10385 NDR_CHECK(ndr_pull_align(ndr
, 8));
10386 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10387 if (_ptr_attribute_name
) {
10388 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10390 r
->attribute_name
= NULL
;
10392 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10393 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10394 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10395 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10396 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10397 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10399 if (ndr_flags
& NDR_BUFFERS
) {
10400 if (r
->attribute_name
) {
10401 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10402 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10403 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10404 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10405 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10406 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->attribute_name
), ndr_get_array_length(ndr
, &r
->attribute_name
));
10408 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10409 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10413 return NDR_ERR_SUCCESS
;
10416 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10418 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10420 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10422 if (r
->attribute_name
) {
10423 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10426 ndr_print_uint32(ndr
, "version", r
->version
);
10427 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10428 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10429 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10430 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10434 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10436 uint32_t cntr_array_0
;
10437 if (ndr_flags
& NDR_SCALARS
) {
10438 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10439 NDR_CHECK(ndr_push_align(ndr
, 8));
10440 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10441 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10442 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10443 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10445 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10447 if (ndr_flags
& NDR_BUFFERS
) {
10448 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10449 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10452 return NDR_ERR_SUCCESS
;
10455 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10457 uint32_t cntr_array_0
;
10458 TALLOC_CTX
*_mem_save_array_0
;
10459 if (ndr_flags
& NDR_SCALARS
) {
10460 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10461 NDR_CHECK(ndr_pull_align(ndr
, 8));
10462 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10463 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10464 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10465 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10466 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10467 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10468 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10470 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10472 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10474 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10476 if (ndr_flags
& NDR_BUFFERS
) {
10477 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10478 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10479 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10480 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10482 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10484 return NDR_ERR_SUCCESS
;
10487 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10489 uint32_t cntr_array_0
;
10490 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
10492 ndr_print_uint32(ndr
, "count", r
->count
);
10493 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10494 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10496 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10498 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10499 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10507 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10509 if (ndr_flags
& NDR_SCALARS
) {
10510 NDR_CHECK(ndr_push_align(ndr
, 5));
10511 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
10512 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10513 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
10514 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
10515 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
10516 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10518 if (ndr_flags
& NDR_BUFFERS
) {
10519 if (r
->dsa_obj_dn
) {
10520 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10521 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10522 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10523 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
));
10526 return NDR_ERR_SUCCESS
;
10529 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
10531 uint32_t _ptr_dsa_obj_dn
;
10532 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
10533 if (ndr_flags
& NDR_SCALARS
) {
10534 NDR_CHECK(ndr_pull_align(ndr
, 5));
10535 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
10536 if (_ptr_dsa_obj_dn
) {
10537 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
10539 r
->dsa_obj_dn
= NULL
;
10541 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10542 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
10543 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
10544 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
10545 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10547 if (ndr_flags
& NDR_BUFFERS
) {
10548 if (r
->dsa_obj_dn
) {
10549 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10550 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
10551 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
10552 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
10553 if (ndr_get_array_length(ndr
, &r
->dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->dsa_obj_dn
)) {
10554 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->dsa_obj_dn
), ndr_get_array_length(ndr
, &r
->dsa_obj_dn
));
10556 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t)));
10557 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dsa_obj_dn
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t), CH_UTF16
));
10558 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
10561 return NDR_ERR_SUCCESS
;
10564 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10566 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
10568 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10570 if (r
->dsa_obj_dn
) {
10571 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10574 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
10575 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
10576 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
10577 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
10581 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10583 uint32_t cntr_array_0
;
10584 if (ndr_flags
& NDR_SCALARS
) {
10585 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10586 NDR_CHECK(ndr_push_align(ndr
, 5));
10587 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10588 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10589 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10590 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10592 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10594 if (ndr_flags
& NDR_BUFFERS
) {
10595 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10596 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10599 return NDR_ERR_SUCCESS
;
10602 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10604 uint32_t cntr_array_0
;
10605 TALLOC_CTX
*_mem_save_array_0
;
10606 if (ndr_flags
& NDR_SCALARS
) {
10607 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10608 NDR_CHECK(ndr_pull_align(ndr
, 5));
10609 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10610 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10611 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10612 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10613 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10614 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10615 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10617 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10619 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10621 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10623 if (ndr_flags
& NDR_BUFFERS
) {
10624 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10625 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10626 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10627 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10629 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10631 return NDR_ERR_SUCCESS
;
10634 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10636 uint32_t cntr_array_0
;
10637 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
10639 ndr_print_uint32(ndr
, "count", r
->count
);
10640 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10641 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10643 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10645 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10646 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
10654 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
10656 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
10657 return NDR_ERR_SUCCESS
;
10660 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
10663 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
10665 return NDR_ERR_SUCCESS
;
10668 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
10670 const char *val
= NULL
;
10673 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10674 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10675 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10676 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10677 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10679 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10682 static enum ndr_err_code
ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRplicaOpOptions
*r
)
10684 if (ndr_flags
& NDR_SCALARS
) {
10685 int level
= ndr_push_get_switch_value(ndr
, r
);
10686 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, level
));
10687 NDR_CHECK(ndr_push_union_align(ndr
, 4));
10689 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
10690 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->sync
));
10693 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
10694 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->add
));
10697 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
10698 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->op_delete
));
10701 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
10702 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->modify
));
10705 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
10706 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->update_refs
));
10710 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
10715 if (ndr_flags
& NDR_BUFFERS
) {
10716 int level
= ndr_push_get_switch_value(ndr
, r
);
10718 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10721 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10724 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10727 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10730 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10738 return NDR_ERR_SUCCESS
;
10741 static enum ndr_err_code
ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRplicaOpOptions
*r
)
10745 level
= ndr_pull_get_switch_value(ndr
, r
);
10746 if (ndr_flags
& NDR_SCALARS
) {
10747 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
10748 if (_level
!= level
) {
10749 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
10751 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
10753 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
10754 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->sync
));
10757 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
10758 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->add
));
10761 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
10762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->op_delete
));
10765 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
10766 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->modify
));
10769 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
10770 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->update_refs
));
10774 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
10779 if (ndr_flags
& NDR_BUFFERS
) {
10781 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10784 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10787 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10790 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10793 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10801 return NDR_ERR_SUCCESS
;
10804 _PUBLIC_
void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRplicaOpOptions
*r
)
10807 level
= ndr_print_get_switch_value(ndr
, r
);
10808 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRplicaOpOptions");
10810 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10811 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "sync", r
->sync
);
10814 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10815 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "add", r
->add
);
10818 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10819 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "op_delete", r
->op_delete
);
10822 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10823 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "modify", r
->modify
);
10826 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10827 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "update_refs", r
->update_refs
);
10831 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
10837 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
10839 if (ndr_flags
& NDR_SCALARS
) {
10840 NDR_CHECK(ndr_push_align(ndr
, 5));
10841 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
10842 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
10843 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
10844 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
10845 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
10846 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
10847 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
10848 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
10849 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
10850 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10851 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10852 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10854 if (ndr_flags
& NDR_BUFFERS
) {
10856 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10857 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10858 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10859 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10861 if (r
->remote_dsa_obj_dn
) {
10862 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10863 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10864 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10865 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
));
10867 if (r
->remote_dsa_address
) {
10868 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10869 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10870 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10871 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
));
10874 return NDR_ERR_SUCCESS
;
10877 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
10879 uint32_t _ptr_nc_dn
;
10880 TALLOC_CTX
*_mem_save_nc_dn_0
;
10881 uint32_t _ptr_remote_dsa_obj_dn
;
10882 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
10883 uint32_t _ptr_remote_dsa_address
;
10884 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
10885 if (ndr_flags
& NDR_SCALARS
) {
10886 NDR_CHECK(ndr_pull_align(ndr
, 5));
10887 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
10888 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
10889 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
10890 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
10891 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
10892 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
10893 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
10895 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
10899 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
10900 if (_ptr_remote_dsa_obj_dn
) {
10901 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
10903 r
->remote_dsa_obj_dn
= NULL
;
10905 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
10906 if (_ptr_remote_dsa_address
) {
10907 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
10909 r
->remote_dsa_address
= NULL
;
10911 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10912 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10913 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10915 if (ndr_flags
& NDR_BUFFERS
) {
10917 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10918 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
10919 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
10920 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
10921 if (ndr_get_array_length(ndr
, &r
->nc_dn
) > ndr_get_array_size(ndr
, &r
->nc_dn
)) {
10922 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->nc_dn
), ndr_get_array_length(ndr
, &r
->nc_dn
));
10924 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t)));
10925 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t), CH_UTF16
));
10926 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
10928 if (r
->remote_dsa_obj_dn
) {
10929 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10930 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
10931 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
10932 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
10933 if (ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
)) {
10934 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
), ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
));
10936 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t)));
10937 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_dn
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t), CH_UTF16
));
10938 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
10940 if (r
->remote_dsa_address
) {
10941 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10942 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
10943 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
10944 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
10945 if (ndr_get_array_length(ndr
, &r
->remote_dsa_address
) > ndr_get_array_size(ndr
, &r
->remote_dsa_address
)) {
10946 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->remote_dsa_address
), ndr_get_array_length(ndr
, &r
->remote_dsa_address
));
10948 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t)));
10949 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->remote_dsa_address
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t), CH_UTF16
));
10950 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
10953 return NDR_ERR_SUCCESS
;
10956 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
10958 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
10960 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
10961 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
10962 ndr_print_uint32(ndr
, "priority", r
->priority
);
10963 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
10964 ndr_print_set_switch_value(ndr
, &r
->options
, r
->operation_type
);
10965 ndr_print_drsuapi_DsRplicaOpOptions(ndr
, "options", &r
->options
);
10966 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
10969 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
10972 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10974 if (r
->remote_dsa_obj_dn
) {
10975 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10978 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10980 if (r
->remote_dsa_address
) {
10981 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10984 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
10985 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
10989 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
10991 uint32_t cntr_array_0
;
10992 if (ndr_flags
& NDR_SCALARS
) {
10993 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10994 NDR_CHECK(ndr_push_align(ndr
, 5));
10995 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
10996 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10997 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10998 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11000 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11002 if (ndr_flags
& NDR_BUFFERS
) {
11003 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11004 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11007 return NDR_ERR_SUCCESS
;
11010 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
11012 uint32_t cntr_array_0
;
11013 TALLOC_CTX
*_mem_save_array_0
;
11014 if (ndr_flags
& NDR_SCALARS
) {
11015 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11016 NDR_CHECK(ndr_pull_align(ndr
, 5));
11017 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
11018 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11019 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11020 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11021 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11022 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11023 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11025 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11027 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11029 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11031 if (ndr_flags
& NDR_BUFFERS
) {
11032 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11033 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11034 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11035 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11039 return NDR_ERR_SUCCESS
;
11042 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
11044 uint32_t cntr_array_0
;
11045 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
11047 ndr_print_NTTIME(ndr
, "time", r
->time
);
11048 ndr_print_uint32(ndr
, "count", r
->count
);
11049 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11051 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11053 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11054 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
11062 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11064 if (ndr_flags
& NDR_SCALARS
) {
11065 NDR_CHECK(ndr_push_align(ndr
, 8));
11066 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11067 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11068 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11069 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11070 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11071 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11073 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11074 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11075 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11076 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11077 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11079 if (ndr_flags
& NDR_BUFFERS
) {
11080 if (r
->attribute_name
) {
11081 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11082 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11083 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11084 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11086 if (r
->object_dn
) {
11087 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11088 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11089 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11090 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11093 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11096 return NDR_ERR_SUCCESS
;
11099 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
11101 uint32_t _ptr_attribute_name
;
11102 TALLOC_CTX
*_mem_save_attribute_name_0
;
11103 uint32_t _ptr_object_dn
;
11104 TALLOC_CTX
*_mem_save_object_dn_0
;
11105 uint32_t _ptr_binary
;
11106 TALLOC_CTX
*_mem_save_binary_0
;
11107 if (ndr_flags
& NDR_SCALARS
) {
11108 NDR_CHECK(ndr_pull_align(ndr
, 8));
11109 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11110 if (_ptr_attribute_name
) {
11111 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11113 r
->attribute_name
= NULL
;
11115 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11116 if (_ptr_object_dn
) {
11117 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11119 r
->object_dn
= NULL
;
11121 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11122 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11124 NDR_PULL_ALLOC(ndr
, r
->binary
);
11128 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11129 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11130 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11131 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11132 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11133 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11134 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11135 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11137 if (ndr_flags
& NDR_BUFFERS
) {
11138 if (r
->attribute_name
) {
11139 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11140 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11141 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11142 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11143 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11144 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->attribute_name
), ndr_get_array_length(ndr
, &r
->attribute_name
));
11146 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11147 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11148 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11150 if (r
->object_dn
) {
11151 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11152 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11153 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11154 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11155 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11156 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_dn
), ndr_get_array_length(ndr
, &r
->object_dn
));
11158 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11159 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11163 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11164 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11165 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11169 return NDR_ERR_SUCCESS
;
11172 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11174 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
11176 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11178 if (r
->attribute_name
) {
11179 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11182 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11184 if (r
->object_dn
) {
11185 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11188 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
);
11189 ndr_print_ptr(ndr
, "binary", r
->binary
);
11192 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11195 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11196 ndr_print_NTTIME(ndr
, "created", r
->created
);
11197 ndr_print_uint32(ndr
, "version", r
->version
);
11198 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11199 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11200 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11201 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11205 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11207 uint32_t cntr_array_0
;
11208 if (ndr_flags
& NDR_SCALARS
) {
11209 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11210 NDR_CHECK(ndr_push_align(ndr
, 8));
11211 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11212 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11213 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11214 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11216 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11218 if (ndr_flags
& NDR_BUFFERS
) {
11219 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11220 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11223 return NDR_ERR_SUCCESS
;
11226 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11228 uint32_t cntr_array_0
;
11229 TALLOC_CTX
*_mem_save_array_0
;
11230 if (ndr_flags
& NDR_SCALARS
) {
11231 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11232 NDR_CHECK(ndr_pull_align(ndr
, 8));
11233 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11234 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11235 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11236 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11237 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11238 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11239 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11241 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11243 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11245 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11247 if (ndr_flags
& NDR_BUFFERS
) {
11248 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11249 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11250 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11251 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11253 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11255 return NDR_ERR_SUCCESS
;
11258 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11260 uint32_t cntr_array_0
;
11261 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
11263 ndr_print_uint32(ndr
, "count", r
->count
);
11264 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11265 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11267 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11269 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11270 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
11278 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11280 uint32_t cntr_array_0
;
11281 if (ndr_flags
& NDR_SCALARS
) {
11282 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11283 NDR_CHECK(ndr_push_align(ndr
, 8));
11284 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11285 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11286 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11287 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11289 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11291 if (ndr_flags
& NDR_BUFFERS
) {
11293 return NDR_ERR_SUCCESS
;
11296 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
11298 uint32_t cntr_array_0
;
11299 TALLOC_CTX
*_mem_save_array_0
;
11300 if (ndr_flags
& NDR_SCALARS
) {
11301 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11302 NDR_CHECK(ndr_pull_align(ndr
, 8));
11303 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11304 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11305 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11306 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11307 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11308 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11313 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11315 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11317 if (ndr_flags
& NDR_BUFFERS
) {
11319 return NDR_ERR_SUCCESS
;
11322 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11324 uint32_t cntr_array_0
;
11325 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11327 ndr_print_uint32(ndr
, "count", r
->count
);
11328 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11329 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11331 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11333 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11334 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11342 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11344 if (ndr_flags
& NDR_SCALARS
) {
11345 NDR_CHECK(ndr_push_align(ndr
, 8));
11346 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11347 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11348 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11349 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11350 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11352 if (ndr_flags
& NDR_BUFFERS
) {
11353 if (r
->source_dsa_obj_dn
) {
11354 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11355 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11356 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11357 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
));
11360 return NDR_ERR_SUCCESS
;
11363 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11365 uint32_t _ptr_source_dsa_obj_dn
;
11366 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11367 if (ndr_flags
& NDR_SCALARS
) {
11368 NDR_CHECK(ndr_pull_align(ndr
, 8));
11369 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11370 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11371 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11372 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11373 if (_ptr_source_dsa_obj_dn
) {
11374 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11376 r
->source_dsa_obj_dn
= NULL
;
11378 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11380 if (ndr_flags
& NDR_BUFFERS
) {
11381 if (r
->source_dsa_obj_dn
) {
11382 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11383 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11384 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11385 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11386 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
11387 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
), ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
));
11389 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
11390 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_dn
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t), CH_UTF16
));
11391 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11394 return NDR_ERR_SUCCESS
;
11397 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11399 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11401 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11402 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11403 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11404 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11406 if (r
->source_dsa_obj_dn
) {
11407 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11413 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11415 uint32_t cntr_array_0
;
11416 if (ndr_flags
& NDR_SCALARS
) {
11417 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11418 NDR_CHECK(ndr_push_align(ndr
, 8));
11419 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11420 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11421 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11422 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11424 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11426 if (ndr_flags
& NDR_BUFFERS
) {
11427 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11428 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11431 return NDR_ERR_SUCCESS
;
11434 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11436 uint32_t cntr_array_0
;
11437 TALLOC_CTX
*_mem_save_array_0
;
11438 if (ndr_flags
& NDR_SCALARS
) {
11439 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11440 NDR_CHECK(ndr_pull_align(ndr
, 8));
11441 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11442 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11443 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11444 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11445 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11446 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11449 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11451 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11453 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11455 if (ndr_flags
& NDR_BUFFERS
) {
11456 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11457 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11458 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11459 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11461 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11463 return NDR_ERR_SUCCESS
;
11466 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11468 uint32_t cntr_array_0
;
11469 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11471 ndr_print_uint32(ndr
, "count", r
->count
);
11472 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11473 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11475 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11477 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11478 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11486 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11488 if (ndr_flags
& NDR_SCALARS
) {
11489 NDR_CHECK(ndr_push_align(ndr
, 8));
11490 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11491 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11492 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11493 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11494 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11495 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11496 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11497 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11499 if (ndr_flags
& NDR_BUFFERS
) {
11500 if (r
->attribute_name
) {
11501 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11502 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11503 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11504 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11506 if (r
->originating_dsa_dn
) {
11507 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11508 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11509 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11510 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
));
11513 return NDR_ERR_SUCCESS
;
11516 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11518 uint32_t _ptr_attribute_name
;
11519 TALLOC_CTX
*_mem_save_attribute_name_0
;
11520 uint32_t _ptr_originating_dsa_dn
;
11521 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11522 if (ndr_flags
& NDR_SCALARS
) {
11523 NDR_CHECK(ndr_pull_align(ndr
, 8));
11524 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11525 if (_ptr_attribute_name
) {
11526 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11528 r
->attribute_name
= NULL
;
11530 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11531 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11532 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11533 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11534 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11535 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11536 if (_ptr_originating_dsa_dn
) {
11537 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11539 r
->originating_dsa_dn
= NULL
;
11541 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11543 if (ndr_flags
& NDR_BUFFERS
) {
11544 if (r
->attribute_name
) {
11545 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11546 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11547 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11548 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11549 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11550 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->attribute_name
), ndr_get_array_length(ndr
, &r
->attribute_name
));
11552 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11553 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11554 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11556 if (r
->originating_dsa_dn
) {
11557 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11558 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11559 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11560 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11561 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11562 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->originating_dsa_dn
), ndr_get_array_length(ndr
, &r
->originating_dsa_dn
));
11564 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11565 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->originating_dsa_dn
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t), CH_UTF16
));
11566 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11569 return NDR_ERR_SUCCESS
;
11572 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11574 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11576 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11578 if (r
->attribute_name
) {
11579 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11582 ndr_print_uint32(ndr
, "version", r
->version
);
11583 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11584 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11585 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11586 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11587 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11589 if (r
->originating_dsa_dn
) {
11590 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11596 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11598 uint32_t cntr_array_0
;
11599 if (ndr_flags
& NDR_SCALARS
) {
11600 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11601 NDR_CHECK(ndr_push_align(ndr
, 8));
11602 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11603 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11604 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11605 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11607 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11609 if (ndr_flags
& NDR_BUFFERS
) {
11610 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11611 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11614 return NDR_ERR_SUCCESS
;
11617 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11619 uint32_t cntr_array_0
;
11620 TALLOC_CTX
*_mem_save_array_0
;
11621 if (ndr_flags
& NDR_SCALARS
) {
11622 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11623 NDR_CHECK(ndr_pull_align(ndr
, 8));
11624 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11625 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11626 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11627 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11628 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11629 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11632 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11634 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11636 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11638 if (ndr_flags
& NDR_BUFFERS
) {
11639 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11640 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11641 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11644 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11646 return NDR_ERR_SUCCESS
;
11649 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11651 uint32_t cntr_array_0
;
11652 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
11654 ndr_print_uint32(ndr
, "count", r
->count
);
11655 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11656 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11658 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11660 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11661 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11669 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11671 if (ndr_flags
& NDR_SCALARS
) {
11672 NDR_CHECK(ndr_push_align(ndr
, 8));
11673 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11674 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11676 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11677 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11678 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
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
->object_dn
) {
11695 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_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
->object_dn
, CH_UTF16
)));
11698 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11701 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11703 if (r
->originating_dsa_dn
) {
11704 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11705 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11706 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11707 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
));
11710 return NDR_ERR_SUCCESS
;
11713 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11715 uint32_t _ptr_attribute_name
;
11716 TALLOC_CTX
*_mem_save_attribute_name_0
;
11717 uint32_t _ptr_object_dn
;
11718 TALLOC_CTX
*_mem_save_object_dn_0
;
11719 uint32_t _ptr_binary
;
11720 TALLOC_CTX
*_mem_save_binary_0
;
11721 uint32_t _ptr_originating_dsa_dn
;
11722 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11723 if (ndr_flags
& NDR_SCALARS
) {
11724 NDR_CHECK(ndr_pull_align(ndr
, 8));
11725 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11726 if (_ptr_attribute_name
) {
11727 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11729 r
->attribute_name
= NULL
;
11731 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11732 if (_ptr_object_dn
) {
11733 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11735 r
->object_dn
= NULL
;
11737 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11738 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11740 NDR_PULL_ALLOC(ndr
, r
->binary
);
11744 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11745 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11746 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11747 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11748 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11749 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11750 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11751 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11752 if (_ptr_originating_dsa_dn
) {
11753 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11755 r
->originating_dsa_dn
= NULL
;
11757 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11759 if (ndr_flags
& NDR_BUFFERS
) {
11760 if (r
->attribute_name
) {
11761 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11762 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11763 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11764 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11765 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11766 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->attribute_name
), ndr_get_array_length(ndr
, &r
->attribute_name
));
11768 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11769 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11770 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11772 if (r
->object_dn
) {
11773 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11774 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11775 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11776 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11777 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11778 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_dn
), ndr_get_array_length(ndr
, &r
->object_dn
));
11780 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11781 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11785 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11786 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11787 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11788 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11790 if (r
->originating_dsa_dn
) {
11791 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11792 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11793 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11794 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11795 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11796 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->originating_dsa_dn
), ndr_get_array_length(ndr
, &r
->originating_dsa_dn
));
11798 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11799 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->originating_dsa_dn
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t), CH_UTF16
));
11800 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11803 return NDR_ERR_SUCCESS
;
11806 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11808 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
11810 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11812 if (r
->attribute_name
) {
11813 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11816 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11818 if (r
->object_dn
) {
11819 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11822 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
);
11823 ndr_print_ptr(ndr
, "binary", r
->binary
);
11826 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11829 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11830 ndr_print_NTTIME(ndr
, "created", r
->created
);
11831 ndr_print_uint32(ndr
, "version", r
->version
);
11832 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11833 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11834 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11835 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11836 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11838 if (r
->originating_dsa_dn
) {
11839 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11845 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11847 uint32_t cntr_array_0
;
11848 if (ndr_flags
& NDR_SCALARS
) {
11849 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11850 NDR_CHECK(ndr_push_align(ndr
, 8));
11851 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11852 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11853 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11854 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11856 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11858 if (ndr_flags
& NDR_BUFFERS
) {
11859 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11860 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11863 return NDR_ERR_SUCCESS
;
11866 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11868 uint32_t cntr_array_0
;
11869 TALLOC_CTX
*_mem_save_array_0
;
11870 if (ndr_flags
& NDR_SCALARS
) {
11871 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11872 NDR_CHECK(ndr_pull_align(ndr
, 8));
11873 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11874 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11875 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11876 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11877 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11878 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11879 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11881 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11883 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11885 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11887 if (ndr_flags
& NDR_BUFFERS
) {
11888 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11889 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11890 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11891 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11893 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11895 return NDR_ERR_SUCCESS
;
11898 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11900 uint32_t cntr_array_0
;
11901 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11903 ndr_print_uint32(ndr
, "count", r
->count
);
11904 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11905 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11907 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11909 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11910 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11918 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
11920 if (ndr_flags
& NDR_SCALARS
) {
11921 NDR_CHECK(ndr_push_align(ndr
, 8));
11922 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
11923 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11924 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11925 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11926 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
11928 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11929 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11930 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
11931 ndr
->flags
= _flags_save_ipv4address
;
11933 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11934 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11936 if (ndr_flags
& NDR_BUFFERS
) {
11938 return NDR_ERR_SUCCESS
;
11941 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
11943 if (ndr_flags
& NDR_SCALARS
) {
11944 NDR_CHECK(ndr_pull_align(ndr
, 8));
11945 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
11946 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11947 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11948 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11949 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
11951 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11952 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11953 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
11954 ndr
->flags
= _flags_save_ipv4address
;
11956 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11957 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11959 if (ndr_flags
& NDR_BUFFERS
) {
11961 return NDR_ERR_SUCCESS
;
11964 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
11966 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
11968 ndr_print_hyper(ndr
, "u1", r
->u1
);
11969 ndr_print_uint32(ndr
, "u2", r
->u2
);
11970 ndr_print_uint32(ndr
, "u3", r
->u3
);
11971 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
11972 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
11973 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
11974 ndr_print_uint32(ndr
, "u5", r
->u5
);
11978 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11980 uint32_t cntr_array_0
;
11981 if (ndr_flags
& NDR_SCALARS
) {
11982 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11983 NDR_CHECK(ndr_push_align(ndr
, 8));
11984 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11985 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11986 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11987 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11989 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11991 if (ndr_flags
& NDR_BUFFERS
) {
11993 return NDR_ERR_SUCCESS
;
11996 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
11998 uint32_t cntr_array_0
;
11999 TALLOC_CTX
*_mem_save_array_0
;
12000 if (ndr_flags
& NDR_SCALARS
) {
12001 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12002 NDR_CHECK(ndr_pull_align(ndr
, 8));
12003 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12004 if (r
->count
> 10000) {
12005 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12007 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12008 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12009 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12010 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12011 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12012 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12014 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12016 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12018 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12020 if (ndr_flags
& NDR_BUFFERS
) {
12022 return NDR_ERR_SUCCESS
;
12025 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
12027 uint32_t cntr_array_0
;
12028 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
12030 ndr_print_uint32(ndr
, "count", r
->count
);
12031 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12032 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12034 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12036 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12037 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
12045 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
12047 if (ndr_flags
& NDR_SCALARS
) {
12048 NDR_CHECK(ndr_push_align(ndr
, 8));
12049 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
12050 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
12051 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
12052 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
12053 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
12054 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
12055 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
12056 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
12057 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12059 if (ndr_flags
& NDR_BUFFERS
) {
12061 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12062 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12063 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12064 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12067 return NDR_ERR_SUCCESS
;
12070 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
12072 uint32_t _ptr_str1
;
12073 TALLOC_CTX
*_mem_save_str1_0
;
12074 if (ndr_flags
& NDR_SCALARS
) {
12075 NDR_CHECK(ndr_pull_align(ndr
, 8));
12076 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
12078 NDR_PULL_ALLOC(ndr
, r
->str1
);
12082 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
12083 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
12084 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
12085 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
12086 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
12087 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
12088 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
12089 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12091 if (ndr_flags
& NDR_BUFFERS
) {
12093 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12094 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
12095 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
12096 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
12097 if (ndr_get_array_length(ndr
, &r
->str1
) > ndr_get_array_size(ndr
, &r
->str1
)) {
12098 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->str1
), ndr_get_array_length(ndr
, &r
->str1
));
12100 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t)));
12101 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t), CH_UTF16
));
12102 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
12105 return NDR_ERR_SUCCESS
;
12108 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
12110 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
12112 ndr_print_ptr(ndr
, "str1", r
->str1
);
12115 ndr_print_string(ndr
, "str1", r
->str1
);
12118 ndr_print_uint32(ndr
, "u1", r
->u1
);
12119 ndr_print_uint32(ndr
, "u2", r
->u2
);
12120 ndr_print_uint32(ndr
, "u3", r
->u3
);
12121 ndr_print_uint32(ndr
, "u4", r
->u4
);
12122 ndr_print_uint32(ndr
, "u5", r
->u5
);
12123 ndr_print_hyper(ndr
, "u6", r
->u6
);
12124 ndr_print_uint32(ndr
, "u7", r
->u7
);
12128 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
12130 uint32_t cntr_array_0
;
12131 if (ndr_flags
& NDR_SCALARS
) {
12132 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12133 NDR_CHECK(ndr_push_align(ndr
, 8));
12134 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12135 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
12136 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12137 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12139 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12141 if (ndr_flags
& NDR_BUFFERS
) {
12142 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12143 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12146 return NDR_ERR_SUCCESS
;
12149 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
12151 uint32_t cntr_array_0
;
12152 TALLOC_CTX
*_mem_save_array_0
;
12153 if (ndr_flags
& NDR_SCALARS
) {
12154 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12155 NDR_CHECK(ndr_pull_align(ndr
, 8));
12156 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12157 if (r
->count
> 256) {
12158 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12161 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12162 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12163 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12164 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12165 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12169 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12171 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12173 if (ndr_flags
& NDR_BUFFERS
) {
12174 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12175 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12176 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12177 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12179 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12181 return NDR_ERR_SUCCESS
;
12184 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
12186 uint32_t cntr_array_0
;
12187 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
12189 ndr_print_uint32(ndr
, "count", r
->count
);
12190 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12191 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12193 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12195 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12196 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
12204 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
12206 if (ndr_flags
& NDR_SCALARS
) {
12207 int level
= ndr_push_get_switch_value(ndr
, r
);
12208 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
12209 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12211 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12212 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
12215 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12216 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
12219 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12220 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
12223 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12224 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
12227 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12228 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
12231 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12232 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
12235 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12236 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
12239 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12240 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
12243 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12244 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
12247 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12248 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
12251 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12252 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
12255 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12256 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours02
));
12259 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12260 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connections04
));
12263 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12264 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors05
));
12267 case DRSUAPI_DS_REPLICA_INFO_06
: {
12268 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->i06
));
12272 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12275 if (ndr_flags
& NDR_BUFFERS
) {
12276 int level
= ndr_push_get_switch_value(ndr
, r
);
12278 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12279 if (r
->neighbours
) {
12280 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12284 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12286 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12290 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12291 if (r
->objmetadata
) {
12292 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12296 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12297 if (r
->connectfailures
) {
12298 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12302 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12303 if (r
->linkfailures
) {
12304 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12308 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12309 if (r
->pendingops
) {
12310 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12314 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12315 if (r
->attrvalmetadata
) {
12316 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12320 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12322 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12326 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12328 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12332 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12333 if (r
->objmetadata2
) {
12334 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12338 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12339 if (r
->attrvalmetadata2
) {
12340 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12344 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12345 if (r
->neighbours02
) {
12346 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12350 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12351 if (r
->connections04
) {
12352 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12356 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12357 if (r
->cursors05
) {
12358 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12362 case DRSUAPI_DS_REPLICA_INFO_06
:
12364 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12369 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12372 return NDR_ERR_SUCCESS
;
12375 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12379 TALLOC_CTX
*_mem_save_neighbours_0
;
12380 TALLOC_CTX
*_mem_save_cursors_0
;
12381 TALLOC_CTX
*_mem_save_objmetadata_0
;
12382 TALLOC_CTX
*_mem_save_connectfailures_0
;
12383 TALLOC_CTX
*_mem_save_linkfailures_0
;
12384 TALLOC_CTX
*_mem_save_pendingops_0
;
12385 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12386 TALLOC_CTX
*_mem_save_cursors2_0
;
12387 TALLOC_CTX
*_mem_save_cursors3_0
;
12388 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12389 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12390 TALLOC_CTX
*_mem_save_neighbours02_0
;
12391 TALLOC_CTX
*_mem_save_connections04_0
;
12392 TALLOC_CTX
*_mem_save_cursors05_0
;
12393 TALLOC_CTX
*_mem_save_i06_0
;
12394 level
= ndr_pull_get_switch_value(ndr
, r
);
12395 if (ndr_flags
& NDR_SCALARS
) {
12396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12397 if (_level
!= level
) {
12398 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12400 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12402 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12403 uint32_t _ptr_neighbours
;
12404 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12405 if (_ptr_neighbours
) {
12406 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12408 r
->neighbours
= NULL
;
12412 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12413 uint32_t _ptr_cursors
;
12414 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12415 if (_ptr_cursors
) {
12416 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12422 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12423 uint32_t _ptr_objmetadata
;
12424 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12425 if (_ptr_objmetadata
) {
12426 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12428 r
->objmetadata
= NULL
;
12432 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12433 uint32_t _ptr_connectfailures
;
12434 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12435 if (_ptr_connectfailures
) {
12436 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12438 r
->connectfailures
= NULL
;
12442 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12443 uint32_t _ptr_linkfailures
;
12444 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12445 if (_ptr_linkfailures
) {
12446 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12448 r
->linkfailures
= NULL
;
12452 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12453 uint32_t _ptr_pendingops
;
12454 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12455 if (_ptr_pendingops
) {
12456 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12458 r
->pendingops
= NULL
;
12462 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12463 uint32_t _ptr_attrvalmetadata
;
12464 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12465 if (_ptr_attrvalmetadata
) {
12466 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12468 r
->attrvalmetadata
= NULL
;
12472 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12473 uint32_t _ptr_cursors2
;
12474 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12475 if (_ptr_cursors2
) {
12476 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12478 r
->cursors2
= NULL
;
12482 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12483 uint32_t _ptr_cursors3
;
12484 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12485 if (_ptr_cursors3
) {
12486 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12488 r
->cursors3
= NULL
;
12492 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12493 uint32_t _ptr_objmetadata2
;
12494 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12495 if (_ptr_objmetadata2
) {
12496 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12498 r
->objmetadata2
= NULL
;
12502 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12503 uint32_t _ptr_attrvalmetadata2
;
12504 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12505 if (_ptr_attrvalmetadata2
) {
12506 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12508 r
->attrvalmetadata2
= NULL
;
12512 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12513 uint32_t _ptr_neighbours02
;
12514 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours02
));
12515 if (_ptr_neighbours02
) {
12516 NDR_PULL_ALLOC(ndr
, r
->neighbours02
);
12518 r
->neighbours02
= NULL
;
12522 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12523 uint32_t _ptr_connections04
;
12524 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connections04
));
12525 if (_ptr_connections04
) {
12526 NDR_PULL_ALLOC(ndr
, r
->connections04
);
12528 r
->connections04
= NULL
;
12532 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12533 uint32_t _ptr_cursors05
;
12534 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors05
));
12535 if (_ptr_cursors05
) {
12536 NDR_PULL_ALLOC(ndr
, r
->cursors05
);
12538 r
->cursors05
= NULL
;
12542 case DRSUAPI_DS_REPLICA_INFO_06
: {
12544 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_i06
));
12546 NDR_PULL_ALLOC(ndr
, r
->i06
);
12553 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12556 if (ndr_flags
& NDR_BUFFERS
) {
12558 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12559 if (r
->neighbours
) {
12560 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12561 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12562 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12567 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12569 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12570 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12571 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12572 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12576 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12577 if (r
->objmetadata
) {
12578 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12579 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12580 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12581 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12585 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12586 if (r
->connectfailures
) {
12587 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12588 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12589 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12594 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12595 if (r
->linkfailures
) {
12596 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12597 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12598 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12599 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12603 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12604 if (r
->pendingops
) {
12605 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12606 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12607 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12608 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12612 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12613 if (r
->attrvalmetadata
) {
12614 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12615 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12617 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12621 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12623 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12624 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12625 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12626 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12630 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12632 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12633 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12635 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
12639 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12640 if (r
->objmetadata2
) {
12641 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12642 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
12643 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12644 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
12648 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12649 if (r
->attrvalmetadata2
) {
12650 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12651 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
12652 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12653 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
12657 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12658 if (r
->neighbours02
) {
12659 _mem_save_neighbours02_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12660 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours02
, 0);
12661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12662 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours02_0
, 0);
12666 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12667 if (r
->connections04
) {
12668 _mem_save_connections04_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12669 NDR_PULL_SET_MEM_CTX(ndr
, r
->connections04
, 0);
12670 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connections04_0
, 0);
12675 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12676 if (r
->cursors05
) {
12677 _mem_save_cursors05_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12678 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors05
, 0);
12679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12680 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors05_0
, 0);
12684 case DRSUAPI_DS_REPLICA_INFO_06
:
12686 _mem_save_i06_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12687 NDR_PULL_SET_MEM_CTX(ndr
, r
->i06
, 0);
12688 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12689 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_i06_0
, 0);
12694 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12697 return NDR_ERR_SUCCESS
;
12700 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
12703 level
= ndr_print_get_switch_value(ndr
, r
);
12704 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
12706 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12707 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
12709 if (r
->neighbours
) {
12710 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
12715 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12716 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
12719 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
12724 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12725 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
12727 if (r
->objmetadata
) {
12728 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
12733 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12734 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
12736 if (r
->connectfailures
) {
12737 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
12742 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12743 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
12745 if (r
->linkfailures
) {
12746 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
12751 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12752 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
12754 if (r
->pendingops
) {
12755 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
12760 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12761 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12763 if (r
->attrvalmetadata
) {
12764 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12769 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12770 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
12773 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
12778 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12779 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
12782 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
12787 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12788 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
12790 if (r
->objmetadata2
) {
12791 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
12796 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12797 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12799 if (r
->attrvalmetadata2
) {
12800 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12805 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12806 ndr_print_ptr(ndr
, "neighbours02", r
->neighbours02
);
12808 if (r
->neighbours02
) {
12809 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours02", r
->neighbours02
);
12814 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12815 ndr_print_ptr(ndr
, "connections04", r
->connections04
);
12817 if (r
->connections04
) {
12818 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "connections04", r
->connections04
);
12823 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12824 ndr_print_ptr(ndr
, "cursors05", r
->cursors05
);
12826 if (r
->cursors05
) {
12827 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "cursors05", r
->cursors05
);
12832 case DRSUAPI_DS_REPLICA_INFO_06
:
12833 ndr_print_ptr(ndr
, "i06", r
->i06
);
12836 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "i06", r
->i06
);
12842 ndr_print_bad_level(ndr
, name
, level
);
12846 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12848 if (ndr_flags
& NDR_SCALARS
) {
12849 int level
= ndr_push_get_switch_value(ndr
, r
);
12850 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12851 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12854 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12858 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12861 if (ndr_flags
& NDR_BUFFERS
) {
12862 int level
= ndr_push_get_switch_value(ndr
, r
);
12865 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12869 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12872 return NDR_ERR_SUCCESS
;
12875 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
12879 level
= ndr_pull_get_switch_value(ndr
, r
);
12880 if (ndr_flags
& NDR_SCALARS
) {
12881 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12882 if (_level
!= level
) {
12883 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12885 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12888 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12892 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12895 if (ndr_flags
& NDR_BUFFERS
) {
12898 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12902 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12905 return NDR_ERR_SUCCESS
;
12908 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12911 level
= ndr_print_get_switch_value(ndr
, r
);
12912 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
12915 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
12919 ndr_print_bad_level(ndr
, name
, level
);
12923 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12925 uint32_t cntr_req_array_1
;
12926 if (ndr_flags
& NDR_SCALARS
) {
12927 NDR_CHECK(ndr_push_align(ndr
, 5));
12928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12929 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
12930 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12932 if (ndr_flags
& NDR_BUFFERS
) {
12933 if (r
->req_array
) {
12934 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
12935 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12936 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
12938 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12939 if (r
->req_array
[cntr_req_array_1
]) {
12940 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12945 return NDR_ERR_SUCCESS
;
12948 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
12950 uint32_t _ptr_req_array
;
12951 uint32_t cntr_req_array_1
;
12952 TALLOC_CTX
*_mem_save_req_array_0
;
12953 TALLOC_CTX
*_mem_save_req_array_1
;
12954 TALLOC_CTX
*_mem_save_req_array_2
;
12955 if (ndr_flags
& NDR_SCALARS
) {
12956 NDR_CHECK(ndr_pull_align(ndr
, 5));
12957 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
12958 if (r
->num_req
< 1 || r
->num_req
> 10000) {
12959 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12961 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12962 if (_ptr_req_array
) {
12963 NDR_PULL_ALLOC(ndr
, r
->req_array
);
12965 r
->req_array
= NULL
;
12967 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12969 if (ndr_flags
& NDR_BUFFERS
) {
12970 if (r
->req_array
) {
12971 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12972 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12973 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
12974 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, ndr_get_array_size(ndr
, &r
->req_array
));
12975 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12976 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12977 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12978 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12979 if (_ptr_req_array
) {
12980 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
12982 r
->req_array
[cntr_req_array_1
] = NULL
;
12985 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12986 if (r
->req_array
[cntr_req_array_1
]) {
12987 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
12988 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
12989 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12990 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
12993 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
12994 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
12996 if (r
->req_array
) {
12997 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
13000 return NDR_ERR_SUCCESS
;
13003 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
13005 uint32_t cntr_req_array_1
;
13006 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
13008 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13009 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
13011 if (r
->req_array
) {
13012 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
13014 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
13016 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
13017 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13019 if (r
->req_array
[cntr_req_array_1
]) {
13020 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13032 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
13034 if (ndr_flags
& NDR_SCALARS
) {
13035 int level
= ndr_push_get_switch_value(ndr
, r
);
13036 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13037 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13040 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13044 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13047 if (ndr_flags
& NDR_BUFFERS
) {
13048 int level
= ndr_push_get_switch_value(ndr
, r
);
13051 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13055 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13058 return NDR_ERR_SUCCESS
;
13061 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
13065 level
= ndr_pull_get_switch_value(ndr
, r
);
13066 if (ndr_flags
& NDR_SCALARS
) {
13067 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13068 if (_level
!= level
) {
13069 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13071 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13074 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13078 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13081 if (ndr_flags
& NDR_BUFFERS
) {
13084 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13088 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13091 return NDR_ERR_SUCCESS
;
13094 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
13097 level
= ndr_print_get_switch_value(ndr
, r
);
13098 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
13101 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
13105 ndr_print_bad_level(ndr
, name
, level
);
13109 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
13111 if (ndr_flags
& NDR_SCALARS
) {
13112 NDR_CHECK(ndr_push_align(ndr
, 4));
13113 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
13114 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
13115 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
13117 if (ndr_flags
& NDR_BUFFERS
) {
13119 return NDR_ERR_SUCCESS
;
13122 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
13124 if (ndr_flags
& NDR_SCALARS
) {
13125 NDR_CHECK(ndr_pull_align(ndr
, 4));
13126 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
13127 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
13128 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
13130 if (ndr_flags
& NDR_BUFFERS
) {
13132 return NDR_ERR_SUCCESS
;
13135 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
13137 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
13139 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
13140 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
13144 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13146 uint32_t cntr_info_1
;
13147 if (ndr_flags
& NDR_SCALARS
) {
13148 NDR_CHECK(ndr_push_align(ndr
, 5));
13149 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
13150 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
13151 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
13152 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13154 if (ndr_flags
& NDR_BUFFERS
) {
13156 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
13157 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13158 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13162 return NDR_ERR_SUCCESS
;
13165 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
13167 uint32_t _ptr_info
;
13168 uint32_t cntr_info_1
;
13169 TALLOC_CTX
*_mem_save_info_0
;
13170 TALLOC_CTX
*_mem_save_info_1
;
13171 if (ndr_flags
& NDR_SCALARS
) {
13172 NDR_CHECK(ndr_pull_align(ndr
, 5));
13173 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
13174 if (r
->num_info
> 10000) {
13175 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13177 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
13179 NDR_PULL_ALLOC(ndr
, r
->info
);
13183 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
13184 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13186 if (ndr_flags
& NDR_BUFFERS
) {
13188 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13189 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13190 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
13191 NDR_PULL_ALLOC_N(ndr
, r
->info
, ndr_get_array_size(ndr
, &r
->info
));
13192 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13193 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13194 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13195 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13197 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
13198 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
13201 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
13204 return NDR_ERR_SUCCESS
;
13207 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13209 uint32_t cntr_info_1
;
13210 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
13212 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
13213 ndr_print_ptr(ndr
, "info", r
->info
);
13216 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
13218 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
13220 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
13221 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
13228 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
13232 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
13234 if (ndr_flags
& NDR_SCALARS
) {
13235 int level
= ndr_push_get_switch_value(ndr
, r
);
13236 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13237 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13240 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13244 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13247 if (ndr_flags
& NDR_BUFFERS
) {
13248 int level
= ndr_push_get_switch_value(ndr
, r
);
13251 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13255 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13258 return NDR_ERR_SUCCESS
;
13261 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
13265 level
= ndr_pull_get_switch_value(ndr
, r
);
13266 if (ndr_flags
& NDR_SCALARS
) {
13267 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13268 if (_level
!= level
) {
13269 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13271 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13274 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13278 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13281 if (ndr_flags
& NDR_BUFFERS
) {
13284 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13288 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13291 return NDR_ERR_SUCCESS
;
13294 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
13297 level
= ndr_print_get_switch_value(ndr
, r
);
13298 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13301 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13305 ndr_print_bad_level(ndr
, name
, level
);
13309 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13311 uint32_t cntr_site_to_1
;
13312 if (ndr_flags
& NDR_SCALARS
) {
13313 NDR_CHECK(ndr_push_align(ndr
, 5));
13314 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13316 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13318 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13320 if (ndr_flags
& NDR_BUFFERS
) {
13321 if (r
->site_from
) {
13322 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13323 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13324 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13325 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13328 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13329 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13330 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13332 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13333 if (r
->site_to
[cntr_site_to_1
]) {
13334 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13335 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13336 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13337 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
));
13342 return NDR_ERR_SUCCESS
;
13345 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13347 uint32_t _ptr_site_from
;
13348 TALLOC_CTX
*_mem_save_site_from_0
;
13349 uint32_t _ptr_site_to
;
13350 uint32_t cntr_site_to_1
;
13351 TALLOC_CTX
*_mem_save_site_to_0
;
13352 TALLOC_CTX
*_mem_save_site_to_1
;
13353 TALLOC_CTX
*_mem_save_site_to_2
;
13354 if (ndr_flags
& NDR_SCALARS
) {
13355 NDR_CHECK(ndr_pull_align(ndr
, 5));
13356 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13357 if (_ptr_site_from
) {
13358 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13360 r
->site_from
= NULL
;
13362 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13363 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13364 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13366 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13367 if (_ptr_site_to
) {
13368 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13372 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13373 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13375 if (ndr_flags
& NDR_BUFFERS
) {
13376 if (r
->site_from
) {
13377 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13378 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13379 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13380 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13381 if (ndr_get_array_length(ndr
, &r
->site_from
) > ndr_get_array_size(ndr
, &r
->site_from
)) {
13382 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_from
), ndr_get_array_length(ndr
, &r
->site_from
));
13384 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t)));
13385 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t), CH_UTF16
));
13386 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13389 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13390 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13391 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13392 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, ndr_get_array_size(ndr
, &r
->site_to
));
13393 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13394 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13395 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13396 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13397 if (_ptr_site_to
) {
13398 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13400 r
->site_to
[cntr_site_to_1
] = NULL
;
13403 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13404 if (r
->site_to
[cntr_site_to_1
]) {
13405 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13406 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13407 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13408 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13409 if (ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]) > ndr_get_array_size(ndr
, &r
->site_to
[cntr_site_to_1
])) {
13410 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]), ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13412 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t)));
13413 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_to
[cntr_site_to_1
], ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t), CH_UTF16
));
13414 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13417 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13418 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13421 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13424 return NDR_ERR_SUCCESS
;
13427 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13429 uint32_t cntr_site_to_1
;
13430 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13432 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13434 if (r
->site_from
) {
13435 ndr_print_string(ndr
, "site_from", r
->site_from
);
13438 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13439 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13442 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13444 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13446 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13447 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13449 if (r
->site_to
[cntr_site_to_1
]) {
13450 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13459 ndr_print_uint32(ndr
, "flags", r
->flags
);
13463 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13465 if (ndr_flags
& NDR_SCALARS
) {
13466 int level
= ndr_push_get_switch_value(ndr
, r
);
13467 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13468 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13471 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13475 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13478 if (ndr_flags
& NDR_BUFFERS
) {
13479 int level
= ndr_push_get_switch_value(ndr
, r
);
13482 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13486 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13489 return NDR_ERR_SUCCESS
;
13492 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13496 level
= ndr_pull_get_switch_value(ndr
, r
);
13497 if (ndr_flags
& NDR_SCALARS
) {
13498 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13499 if (_level
!= level
) {
13500 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13502 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13505 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13509 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13512 if (ndr_flags
& NDR_BUFFERS
) {
13515 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13519 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13522 return NDR_ERR_SUCCESS
;
13525 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13528 level
= ndr_print_get_switch_value(ndr
, r
);
13529 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13532 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13536 ndr_print_bad_level(ndr
, name
, level
);
13540 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13542 if (flags
& NDR_IN
) {
13543 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13544 if (r
->in
.bind_guid
) {
13545 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13547 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13548 if (r
->in
.bind_info
) {
13549 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13552 if (flags
& NDR_OUT
) {
13553 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13554 if (r
->out
.bind_info
) {
13555 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13557 if (r
->out
.bind_handle
== NULL
) {
13558 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13560 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13561 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13563 return NDR_ERR_SUCCESS
;
13566 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13568 uint32_t _ptr_bind_guid
;
13569 uint32_t _ptr_bind_info
;
13570 TALLOC_CTX
*_mem_save_bind_guid_0
;
13571 TALLOC_CTX
*_mem_save_bind_info_0
;
13572 TALLOC_CTX
*_mem_save_bind_handle_0
;
13573 if (flags
& NDR_IN
) {
13574 ZERO_STRUCT(r
->out
);
13576 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13577 if (_ptr_bind_guid
) {
13578 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13580 r
->in
.bind_guid
= NULL
;
13582 if (r
->in
.bind_guid
) {
13583 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13584 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13585 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13586 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13588 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13589 if (_ptr_bind_info
) {
13590 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13592 r
->in
.bind_info
= NULL
;
13594 if (r
->in
.bind_info
) {
13595 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13596 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13597 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13598 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13600 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13601 ZERO_STRUCTP(r
->out
.bind_handle
);
13603 if (flags
& NDR_OUT
) {
13604 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13605 if (_ptr_bind_info
) {
13606 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13608 r
->out
.bind_info
= NULL
;
13610 if (r
->out
.bind_info
) {
13611 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13612 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13613 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13616 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13617 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13619 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13620 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13621 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13622 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13623 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13625 return NDR_ERR_SUCCESS
;
13628 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13630 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13632 if (flags
& NDR_SET_VALUES
) {
13633 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13635 if (flags
& NDR_IN
) {
13636 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
13638 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
13640 if (r
->in
.bind_guid
) {
13641 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
13644 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
13646 if (r
->in
.bind_info
) {
13647 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
13652 if (flags
& NDR_OUT
) {
13653 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
13655 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
13657 if (r
->out
.bind_info
) {
13658 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
13661 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13663 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13665 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13671 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
13673 if (flags
& NDR_IN
) {
13674 if (r
->in
.bind_handle
== NULL
) {
13675 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13677 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13679 if (flags
& NDR_OUT
) {
13680 if (r
->out
.bind_handle
== NULL
) {
13681 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13683 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13684 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13686 return NDR_ERR_SUCCESS
;
13689 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
13691 TALLOC_CTX
*_mem_save_bind_handle_0
;
13692 if (flags
& NDR_IN
) {
13693 ZERO_STRUCT(r
->out
);
13695 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13696 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13698 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13699 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13700 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13701 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13702 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13703 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
13705 if (flags
& NDR_OUT
) {
13706 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13707 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13709 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13710 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13711 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13712 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13713 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13715 return NDR_ERR_SUCCESS
;
13718 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
13720 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
13722 if (flags
& NDR_SET_VALUES
) {
13723 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13725 if (flags
& NDR_IN
) {
13726 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
13728 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13730 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13734 if (flags
& NDR_OUT
) {
13735 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
13737 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13739 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13741 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13747 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13749 if (flags
& NDR_IN
) {
13750 if (r
->in
.bind_handle
== NULL
) {
13751 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13753 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13754 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13755 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13756 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13758 if (flags
& NDR_OUT
) {
13759 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13761 return NDR_ERR_SUCCESS
;
13764 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
13766 TALLOC_CTX
*_mem_save_bind_handle_0
;
13767 if (flags
& NDR_IN
) {
13768 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13769 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13771 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13772 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13773 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13774 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13775 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13776 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13777 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13779 if (flags
& NDR_OUT
) {
13780 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13782 return NDR_ERR_SUCCESS
;
13785 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13787 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
13789 if (flags
& NDR_SET_VALUES
) {
13790 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13792 if (flags
& NDR_IN
) {
13793 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
13795 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13797 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13799 ndr_print_int32(ndr
, "level", r
->in
.level
);
13800 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13801 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", &r
->in
.req
);
13804 if (flags
& NDR_OUT
) {
13805 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
13807 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13813 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13815 if (flags
& NDR_IN
) {
13816 if (r
->in
.bind_handle
== NULL
) {
13817 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13819 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13820 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13821 if (r
->in
.req
== NULL
) {
13822 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13824 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13825 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13827 if (flags
& NDR_OUT
) {
13828 if (r
->out
.level_out
== NULL
) {
13829 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13831 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13832 if (r
->out
.ctr
== NULL
) {
13833 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13835 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13836 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13837 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13839 return NDR_ERR_SUCCESS
;
13842 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
13844 TALLOC_CTX
*_mem_save_bind_handle_0
;
13845 TALLOC_CTX
*_mem_save_req_0
;
13846 TALLOC_CTX
*_mem_save_level_out_0
;
13847 TALLOC_CTX
*_mem_save_ctr_0
;
13848 if (flags
& NDR_IN
) {
13849 ZERO_STRUCT(r
->out
);
13851 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13852 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13854 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13855 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13856 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13857 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13858 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13859 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13860 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13862 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13863 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13864 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13865 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13866 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13867 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13868 ZERO_STRUCTP(r
->out
.level_out
);
13869 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13870 ZERO_STRUCTP(r
->out
.ctr
);
13872 if (flags
& NDR_OUT
) {
13873 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13874 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13876 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13877 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13878 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13879 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13880 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13881 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13883 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13884 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13885 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13886 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13888 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13890 return NDR_ERR_SUCCESS
;
13893 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13895 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
13897 if (flags
& NDR_SET_VALUES
) {
13898 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13900 if (flags
& NDR_IN
) {
13901 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
13903 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13905 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13907 ndr_print_int32(ndr
, "level", r
->in
.level
);
13908 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13910 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13911 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
13915 if (flags
& NDR_OUT
) {
13916 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
13918 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13920 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13922 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13924 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13925 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
13927 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13933 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13935 if (flags
& NDR_IN
) {
13936 if (r
->in
.bind_handle
== NULL
) {
13937 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13939 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13940 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13941 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13942 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13944 if (flags
& NDR_OUT
) {
13945 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13947 return NDR_ERR_SUCCESS
;
13950 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
13952 TALLOC_CTX
*_mem_save_bind_handle_0
;
13953 if (flags
& NDR_IN
) {
13954 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13955 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13957 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13958 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13959 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13960 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13961 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13962 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13963 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13965 if (flags
& NDR_OUT
) {
13966 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13968 return NDR_ERR_SUCCESS
;
13971 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13973 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
13975 if (flags
& NDR_SET_VALUES
) {
13976 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13978 if (flags
& NDR_IN
) {
13979 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
13981 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13983 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13985 ndr_print_int32(ndr
, "level", r
->in
.level
);
13986 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13987 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
13990 if (flags
& NDR_OUT
) {
13991 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
13993 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13999 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14001 if (flags
& NDR_IN
) {
14002 if (r
->in
.bind_handle
== NULL
) {
14003 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14005 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14006 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14007 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14008 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14010 if (flags
& NDR_OUT
) {
14011 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14013 return NDR_ERR_SUCCESS
;
14016 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
14018 TALLOC_CTX
*_mem_save_bind_handle_0
;
14019 if (flags
& NDR_IN
) {
14020 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14021 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14023 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14024 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14025 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14027 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14028 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14031 if (flags
& NDR_OUT
) {
14032 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14034 return NDR_ERR_SUCCESS
;
14037 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14039 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
14041 if (flags
& NDR_SET_VALUES
) {
14042 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14044 if (flags
& NDR_IN
) {
14045 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
14047 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14049 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14051 ndr_print_int32(ndr
, "level", r
->in
.level
);
14052 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14053 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
14056 if (flags
& NDR_OUT
) {
14057 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
14059 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14065 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14067 if (flags
& NDR_IN
) {
14068 if (r
->in
.bind_handle
== NULL
) {
14069 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14071 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14072 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14073 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14074 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14076 if (flags
& NDR_OUT
) {
14077 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14079 return NDR_ERR_SUCCESS
;
14082 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
14084 TALLOC_CTX
*_mem_save_bind_handle_0
;
14085 if (flags
& NDR_IN
) {
14086 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14087 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14089 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14090 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14091 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14093 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14094 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14097 if (flags
& NDR_OUT
) {
14098 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14100 return NDR_ERR_SUCCESS
;
14103 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14105 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
14107 if (flags
& NDR_SET_VALUES
) {
14108 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14110 if (flags
& NDR_IN
) {
14111 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
14113 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14115 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14117 ndr_print_int32(ndr
, "level", r
->in
.level
);
14118 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14119 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
14122 if (flags
& NDR_OUT
) {
14123 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
14125 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14131 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14133 if (flags
& NDR_IN
) {
14134 if (r
->in
.bind_handle
== NULL
) {
14135 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14137 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14138 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14139 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14140 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14142 if (flags
& NDR_OUT
) {
14143 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14145 return NDR_ERR_SUCCESS
;
14148 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
14150 TALLOC_CTX
*_mem_save_bind_handle_0
;
14151 if (flags
& NDR_IN
) {
14152 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14153 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14155 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14156 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14157 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14158 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14159 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14160 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14161 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14163 if (flags
& NDR_OUT
) {
14164 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14166 return NDR_ERR_SUCCESS
;
14169 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14171 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
14173 if (flags
& NDR_SET_VALUES
) {
14174 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14176 if (flags
& NDR_IN
) {
14177 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
14179 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14181 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14183 ndr_print_int32(ndr
, "level", r
->in
.level
);
14184 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14185 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
14188 if (flags
& NDR_OUT
) {
14189 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
14191 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14197 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14199 if (flags
& NDR_IN
) {
14201 if (flags
& NDR_OUT
) {
14202 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14204 return NDR_ERR_SUCCESS
;
14207 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
14209 if (flags
& NDR_IN
) {
14211 if (flags
& NDR_OUT
) {
14212 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14214 return NDR_ERR_SUCCESS
;
14217 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14219 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
14221 if (flags
& NDR_SET_VALUES
) {
14222 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14224 if (flags
& NDR_IN
) {
14225 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
14229 if (flags
& NDR_OUT
) {
14230 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
14232 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14238 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14240 if (flags
& NDR_IN
) {
14241 if (r
->in
.bind_handle
== NULL
) {
14242 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14244 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14245 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14246 if (r
->in
.req
== NULL
) {
14247 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14249 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14250 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14252 if (flags
& NDR_OUT
) {
14253 if (r
->out
.level_out
== NULL
) {
14254 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14256 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14257 if (r
->out
.ctr
== NULL
) {
14258 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14260 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14261 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14262 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14264 return NDR_ERR_SUCCESS
;
14267 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
14269 TALLOC_CTX
*_mem_save_bind_handle_0
;
14270 TALLOC_CTX
*_mem_save_req_0
;
14271 TALLOC_CTX
*_mem_save_level_out_0
;
14272 TALLOC_CTX
*_mem_save_ctr_0
;
14273 if (flags
& NDR_IN
) {
14274 ZERO_STRUCT(r
->out
);
14276 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14277 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14279 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14280 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14281 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14283 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14284 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14285 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14287 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14288 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14289 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14290 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14292 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14293 ZERO_STRUCTP(r
->out
.level_out
);
14294 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14295 ZERO_STRUCTP(r
->out
.ctr
);
14297 if (flags
& NDR_OUT
) {
14298 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14299 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14301 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14302 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14303 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14304 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14305 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14306 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14308 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14309 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14310 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14311 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14312 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14313 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14315 return NDR_ERR_SUCCESS
;
14318 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14320 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14322 if (flags
& NDR_SET_VALUES
) {
14323 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14325 if (flags
& NDR_IN
) {
14326 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14328 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14330 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14332 ndr_print_int32(ndr
, "level", r
->in
.level
);
14333 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14335 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14336 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14340 if (flags
& NDR_OUT
) {
14341 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14343 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14345 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14347 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14349 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14350 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14352 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14358 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14360 if (flags
& NDR_IN
) {
14362 if (flags
& NDR_OUT
) {
14363 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14365 return NDR_ERR_SUCCESS
;
14368 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14370 if (flags
& NDR_IN
) {
14372 if (flags
& NDR_OUT
) {
14373 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14375 return NDR_ERR_SUCCESS
;
14378 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14380 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14382 if (flags
& NDR_SET_VALUES
) {
14383 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14385 if (flags
& NDR_IN
) {
14386 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14390 if (flags
& NDR_OUT
) {
14391 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14393 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14399 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14401 if (flags
& NDR_IN
) {
14402 if (r
->in
.bind_handle
== NULL
) {
14403 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14405 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14406 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14407 if (r
->in
.req
== NULL
) {
14408 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14410 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14411 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14413 if (flags
& NDR_OUT
) {
14414 if (r
->out
.level_out
== NULL
) {
14415 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14417 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14418 if (r
->out
.info
== NULL
) {
14419 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14421 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14422 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14423 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14425 return NDR_ERR_SUCCESS
;
14428 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14430 TALLOC_CTX
*_mem_save_bind_handle_0
;
14431 TALLOC_CTX
*_mem_save_req_0
;
14432 TALLOC_CTX
*_mem_save_level_out_0
;
14433 TALLOC_CTX
*_mem_save_info_0
;
14434 if (flags
& NDR_IN
) {
14435 ZERO_STRUCT(r
->out
);
14437 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14438 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14440 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14441 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14442 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14443 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14444 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14445 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14446 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14448 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14449 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14450 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14451 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14452 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14453 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14454 ZERO_STRUCTP(r
->out
.level_out
);
14455 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14456 ZERO_STRUCTP(r
->out
.info
);
14458 if (flags
& NDR_OUT
) {
14459 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14460 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14462 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14463 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14464 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14465 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14466 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14467 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14469 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14470 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14471 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14472 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14473 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14474 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14476 return NDR_ERR_SUCCESS
;
14479 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14481 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14483 if (flags
& NDR_SET_VALUES
) {
14484 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14486 if (flags
& NDR_IN
) {
14487 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14489 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14491 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14493 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14494 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14496 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14497 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14501 if (flags
& NDR_OUT
) {
14502 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14504 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14506 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14508 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14510 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14511 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14513 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14519 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14521 if (flags
& NDR_IN
) {
14522 if (r
->in
.bind_handle
== NULL
) {
14523 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14525 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14526 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14527 if (r
->in
.req
== NULL
) {
14528 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14530 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14531 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14533 if (flags
& NDR_OUT
) {
14534 if (r
->out
.level_out
== NULL
) {
14535 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14537 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14538 if (r
->out
.ctr
== NULL
) {
14539 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14541 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14542 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14543 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14545 return NDR_ERR_SUCCESS
;
14548 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14550 TALLOC_CTX
*_mem_save_bind_handle_0
;
14551 TALLOC_CTX
*_mem_save_req_0
;
14552 TALLOC_CTX
*_mem_save_level_out_0
;
14553 TALLOC_CTX
*_mem_save_ctr_0
;
14554 if (flags
& NDR_IN
) {
14555 ZERO_STRUCT(r
->out
);
14557 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14558 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14560 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14561 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14562 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14564 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14565 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14566 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14568 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14569 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14570 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14571 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14572 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14573 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14574 ZERO_STRUCTP(r
->out
.level_out
);
14575 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14576 ZERO_STRUCTP(r
->out
.ctr
);
14578 if (flags
& NDR_OUT
) {
14579 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14580 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14582 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14583 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14584 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14585 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14586 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14587 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14589 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14590 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14591 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14592 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14594 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14596 return NDR_ERR_SUCCESS
;
14599 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14601 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14603 if (flags
& NDR_SET_VALUES
) {
14604 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14606 if (flags
& NDR_IN
) {
14607 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14609 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14611 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14613 ndr_print_int32(ndr
, "level", r
->in
.level
);
14614 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14616 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14617 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14621 if (flags
& NDR_OUT
) {
14622 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
14624 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14626 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14628 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14630 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14631 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
14633 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14639 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14641 if (flags
& NDR_IN
) {
14642 if (r
->in
.bind_handle
== NULL
) {
14643 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14645 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14646 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14647 if (r
->in
.req
== NULL
) {
14648 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14650 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14651 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14653 if (flags
& NDR_OUT
) {
14654 if (r
->out
.level_out
== NULL
) {
14655 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14657 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14658 if (r
->out
.res
== NULL
) {
14659 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14661 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14662 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14663 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14665 return NDR_ERR_SUCCESS
;
14668 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
14670 TALLOC_CTX
*_mem_save_bind_handle_0
;
14671 TALLOC_CTX
*_mem_save_req_0
;
14672 TALLOC_CTX
*_mem_save_level_out_0
;
14673 TALLOC_CTX
*_mem_save_res_0
;
14674 if (flags
& NDR_IN
) {
14675 ZERO_STRUCT(r
->out
);
14677 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14678 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14680 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14681 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14682 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14684 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14685 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14686 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14688 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14689 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14690 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14691 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14692 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14693 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14694 ZERO_STRUCTP(r
->out
.level_out
);
14695 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14696 ZERO_STRUCTP(r
->out
.res
);
14698 if (flags
& NDR_OUT
) {
14699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14700 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14702 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14703 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14704 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14706 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14707 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14709 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14710 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14711 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14712 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14713 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14714 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14716 return NDR_ERR_SUCCESS
;
14719 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14721 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
14723 if (flags
& NDR_SET_VALUES
) {
14724 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14726 if (flags
& NDR_IN
) {
14727 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
14729 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14731 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14733 ndr_print_int32(ndr
, "level", r
->in
.level
);
14734 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14736 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14737 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
14741 if (flags
& NDR_OUT
) {
14742 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
14744 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14746 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14748 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14750 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14751 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
14753 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14759 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14761 if (flags
& NDR_IN
) {
14762 if (r
->in
.bind_handle
== NULL
) {
14763 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14765 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14766 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14767 if (r
->in
.req
== NULL
) {
14768 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14770 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14771 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14773 if (flags
& NDR_OUT
) {
14774 if (r
->out
.level_out
== NULL
) {
14775 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14777 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14778 if (r
->out
.res
== NULL
) {
14779 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14781 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14782 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14783 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14785 return NDR_ERR_SUCCESS
;
14788 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
14790 TALLOC_CTX
*_mem_save_bind_handle_0
;
14791 TALLOC_CTX
*_mem_save_req_0
;
14792 TALLOC_CTX
*_mem_save_level_out_0
;
14793 TALLOC_CTX
*_mem_save_res_0
;
14794 if (flags
& NDR_IN
) {
14795 ZERO_STRUCT(r
->out
);
14797 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14798 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14800 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14801 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14802 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14803 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14804 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14805 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14806 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14808 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14809 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14810 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14811 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14812 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14813 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14814 ZERO_STRUCTP(r
->out
.level_out
);
14815 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14816 ZERO_STRUCTP(r
->out
.res
);
14818 if (flags
& NDR_OUT
) {
14819 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14820 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14822 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14823 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14824 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14826 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14827 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14829 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14830 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14831 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14832 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14833 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14834 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14836 return NDR_ERR_SUCCESS
;
14839 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14841 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
14843 if (flags
& NDR_SET_VALUES
) {
14844 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14846 if (flags
& NDR_IN
) {
14847 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
14849 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14851 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14853 ndr_print_int32(ndr
, "level", r
->in
.level
);
14854 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14856 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14857 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
14861 if (flags
& NDR_OUT
) {
14862 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
14864 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14866 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14868 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14870 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14871 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
14873 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14879 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14881 if (flags
& NDR_IN
) {
14883 if (flags
& NDR_OUT
) {
14884 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14886 return NDR_ERR_SUCCESS
;
14889 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14891 if (flags
& NDR_IN
) {
14893 if (flags
& NDR_OUT
) {
14894 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14896 return NDR_ERR_SUCCESS
;
14899 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14901 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
14903 if (flags
& NDR_SET_VALUES
) {
14904 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14906 if (flags
& NDR_IN
) {
14907 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14911 if (flags
& NDR_OUT
) {
14912 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14914 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14920 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14922 if (flags
& NDR_IN
) {
14923 if (r
->in
.bind_handle
== NULL
) {
14924 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14926 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14927 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14928 if (r
->in
.req
== NULL
) {
14929 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14931 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14932 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14934 if (flags
& NDR_OUT
) {
14935 if (r
->out
.level_out
== NULL
) {
14936 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14938 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14939 if (r
->out
.ctr
== NULL
) {
14940 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14942 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14943 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14944 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14946 return NDR_ERR_SUCCESS
;
14949 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
14951 TALLOC_CTX
*_mem_save_bind_handle_0
;
14952 TALLOC_CTX
*_mem_save_req_0
;
14953 TALLOC_CTX
*_mem_save_level_out_0
;
14954 TALLOC_CTX
*_mem_save_ctr_0
;
14955 if (flags
& NDR_IN
) {
14956 ZERO_STRUCT(r
->out
);
14958 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14959 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14961 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14962 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14963 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14964 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14965 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14966 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14967 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14969 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14970 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14971 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14972 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14973 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14974 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14975 ZERO_STRUCTP(r
->out
.level_out
);
14976 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14977 ZERO_STRUCTP(r
->out
.ctr
);
14979 if (flags
& NDR_OUT
) {
14980 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14981 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14983 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14984 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14985 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14986 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14987 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14988 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14990 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14991 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14992 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14993 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14994 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14995 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14997 return NDR_ERR_SUCCESS
;
15000 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
15002 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
15004 if (flags
& NDR_SET_VALUES
) {
15005 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15007 if (flags
& NDR_IN
) {
15008 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
15010 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15012 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15014 ndr_print_int32(ndr
, "level", r
->in
.level
);
15015 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15017 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15018 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
15022 if (flags
& NDR_OUT
) {
15023 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
15025 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15027 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15029 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15031 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15032 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
15034 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15040 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15042 if (flags
& NDR_IN
) {
15043 if (r
->in
.bind_handle
== NULL
) {
15044 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15046 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15047 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15048 if (r
->in
.req
== NULL
) {
15049 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15051 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15052 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15054 if (flags
& NDR_OUT
) {
15055 if (r
->out
.level_out
== NULL
) {
15056 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15058 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15059 if (r
->out
.ctr
== NULL
) {
15060 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15062 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15063 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15064 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15066 return NDR_ERR_SUCCESS
;
15069 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
15071 TALLOC_CTX
*_mem_save_bind_handle_0
;
15072 TALLOC_CTX
*_mem_save_req_0
;
15073 TALLOC_CTX
*_mem_save_level_out_0
;
15074 TALLOC_CTX
*_mem_save_ctr_0
;
15075 if (flags
& NDR_IN
) {
15076 ZERO_STRUCT(r
->out
);
15078 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15079 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15081 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15082 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15083 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15084 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15085 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15086 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15087 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15089 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15090 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15091 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15092 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15094 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15095 ZERO_STRUCTP(r
->out
.level_out
);
15096 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15097 ZERO_STRUCTP(r
->out
.ctr
);
15099 if (flags
& NDR_OUT
) {
15100 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15101 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15103 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15104 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15105 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15106 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15107 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15108 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15110 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15111 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15112 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15113 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15114 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15115 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15117 return NDR_ERR_SUCCESS
;
15120 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15122 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
15124 if (flags
& NDR_SET_VALUES
) {
15125 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15127 if (flags
& NDR_IN
) {
15128 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
15130 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15132 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15134 ndr_print_int32(ndr
, "level", r
->in
.level
);
15135 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15137 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15138 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
15142 if (flags
& NDR_OUT
) {
15143 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
15145 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15147 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15149 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15151 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15152 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
15154 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15160 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15162 if (flags
& NDR_IN
) {
15163 if (r
->in
.bind_handle
== NULL
) {
15164 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15166 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15167 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15168 if (r
->in
.req
== NULL
) {
15169 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15171 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15172 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15174 if (flags
& NDR_OUT
) {
15175 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15177 return NDR_ERR_SUCCESS
;
15180 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
15182 TALLOC_CTX
*_mem_save_bind_handle_0
;
15183 TALLOC_CTX
*_mem_save_req_0
;
15184 if (flags
& NDR_IN
) {
15185 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15186 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15188 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15189 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15190 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15192 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15193 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15194 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15196 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15197 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15198 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15199 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15200 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15202 if (flags
& NDR_OUT
) {
15203 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15205 return NDR_ERR_SUCCESS
;
15208 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15210 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
15212 if (flags
& NDR_SET_VALUES
) {
15213 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15215 if (flags
& NDR_IN
) {
15216 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
15218 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15220 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15222 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15223 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15225 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15226 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
15230 if (flags
& NDR_OUT
) {
15231 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
15233 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15239 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15241 if (flags
& NDR_IN
) {
15242 if (r
->in
.bind_handle
== NULL
) {
15243 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15245 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15246 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
15247 if (r
->in
.req
== NULL
) {
15248 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15250 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15251 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15253 if (flags
& NDR_OUT
) {
15254 if (r
->out
.info_type
== NULL
) {
15255 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15257 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
15258 if (r
->out
.info
== NULL
) {
15259 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15261 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15262 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15263 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15265 return NDR_ERR_SUCCESS
;
15268 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
15270 TALLOC_CTX
*_mem_save_bind_handle_0
;
15271 TALLOC_CTX
*_mem_save_req_0
;
15272 TALLOC_CTX
*_mem_save_info_type_0
;
15273 TALLOC_CTX
*_mem_save_info_0
;
15274 if (flags
& NDR_IN
) {
15275 ZERO_STRUCT(r
->out
);
15277 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15278 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15280 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15281 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15282 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15283 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15284 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
15285 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15286 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15288 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15289 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15290 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15292 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15293 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15294 ZERO_STRUCTP(r
->out
.info_type
);
15295 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15296 ZERO_STRUCTP(r
->out
.info
);
15298 if (flags
& NDR_OUT
) {
15299 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15300 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15302 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15303 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15304 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15306 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15307 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15309 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15310 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15311 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15312 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15313 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15314 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15316 return NDR_ERR_SUCCESS
;
15319 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15321 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15323 if (flags
& NDR_SET_VALUES
) {
15324 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15326 if (flags
& NDR_IN
) {
15327 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15329 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15331 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15333 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15334 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15336 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15337 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15341 if (flags
& NDR_OUT
) {
15342 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15344 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15346 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15348 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15350 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15351 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15353 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15359 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15361 if (flags
& NDR_IN
) {
15363 if (flags
& NDR_OUT
) {
15364 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15366 return NDR_ERR_SUCCESS
;
15369 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15371 if (flags
& NDR_IN
) {
15373 if (flags
& NDR_OUT
) {
15374 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15376 return NDR_ERR_SUCCESS
;
15379 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15381 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15383 if (flags
& NDR_SET_VALUES
) {
15384 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15386 if (flags
& NDR_IN
) {
15387 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15391 if (flags
& NDR_OUT
) {
15392 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15394 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15400 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15402 if (flags
& NDR_IN
) {
15403 if (r
->in
.bind_handle
== NULL
) {
15404 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15406 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15407 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15408 if (r
->in
.req
== NULL
) {
15409 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15411 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15412 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15414 if (flags
& NDR_OUT
) {
15415 if (r
->out
.level_out
== NULL
) {
15416 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15418 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15419 if (r
->out
.ctr
== NULL
) {
15420 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15422 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15423 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15424 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15426 return NDR_ERR_SUCCESS
;
15429 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15431 TALLOC_CTX
*_mem_save_bind_handle_0
;
15432 TALLOC_CTX
*_mem_save_req_0
;
15433 TALLOC_CTX
*_mem_save_level_out_0
;
15434 TALLOC_CTX
*_mem_save_ctr_0
;
15435 if (flags
& NDR_IN
) {
15436 ZERO_STRUCT(r
->out
);
15438 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15439 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15441 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15442 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15443 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15444 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15445 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15446 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15447 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15449 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15450 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15451 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15452 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15453 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15454 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15455 ZERO_STRUCTP(r
->out
.level_out
);
15456 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15457 ZERO_STRUCTP(r
->out
.ctr
);
15459 if (flags
& NDR_OUT
) {
15460 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15461 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15463 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15464 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15465 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15466 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15467 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15468 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15470 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15471 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15472 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15473 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15474 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15475 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15477 return NDR_ERR_SUCCESS
;
15480 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15482 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15484 if (flags
& NDR_SET_VALUES
) {
15485 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15487 if (flags
& NDR_IN
) {
15488 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15490 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15492 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15494 ndr_print_int32(ndr
, "level", r
->in
.level
);
15495 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15497 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15498 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15502 if (flags
& NDR_OUT
) {
15503 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15505 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15507 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15509 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15511 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15512 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15514 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15520 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15522 if (flags
& NDR_IN
) {
15524 if (flags
& NDR_OUT
) {
15525 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15527 return NDR_ERR_SUCCESS
;
15530 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15532 if (flags
& NDR_IN
) {
15534 if (flags
& NDR_OUT
) {
15535 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15537 return NDR_ERR_SUCCESS
;
15540 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15542 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15544 if (flags
& NDR_SET_VALUES
) {
15545 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15547 if (flags
& NDR_IN
) {
15548 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15552 if (flags
& NDR_OUT
) {
15553 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15555 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15561 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15563 if (flags
& NDR_IN
) {
15565 if (flags
& NDR_OUT
) {
15566 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15568 return NDR_ERR_SUCCESS
;
15571 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15573 if (flags
& NDR_IN
) {
15575 if (flags
& NDR_OUT
) {
15576 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15578 return NDR_ERR_SUCCESS
;
15581 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15583 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15585 if (flags
& NDR_SET_VALUES
) {
15586 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15588 if (flags
& NDR_IN
) {
15589 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15593 if (flags
& NDR_OUT
) {
15594 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15596 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15602 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15604 if (flags
& NDR_IN
) {
15605 if (r
->in
.bind_handle
== NULL
) {
15606 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15608 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15609 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15610 if (r
->in
.req
== NULL
) {
15611 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15613 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15614 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15616 if (flags
& NDR_OUT
) {
15617 if (r
->out
.level_out
== NULL
) {
15618 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15620 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15621 if (r
->out
.ctr
== NULL
) {
15622 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15624 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15625 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15626 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15628 return NDR_ERR_SUCCESS
;
15631 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
15633 TALLOC_CTX
*_mem_save_bind_handle_0
;
15634 TALLOC_CTX
*_mem_save_req_0
;
15635 TALLOC_CTX
*_mem_save_level_out_0
;
15636 TALLOC_CTX
*_mem_save_ctr_0
;
15637 if (flags
& NDR_IN
) {
15638 ZERO_STRUCT(r
->out
);
15640 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15641 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15643 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15644 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15645 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15646 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15647 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15648 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15649 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15651 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15652 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15653 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15654 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15655 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15656 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15657 ZERO_STRUCTP(r
->out
.level_out
);
15658 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15659 ZERO_STRUCTP(r
->out
.ctr
);
15661 if (flags
& NDR_OUT
) {
15662 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15663 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15665 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15666 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15667 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15668 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15669 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15670 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15672 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15673 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15674 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15675 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15676 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15677 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15679 return NDR_ERR_SUCCESS
;
15682 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15684 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
15686 if (flags
& NDR_SET_VALUES
) {
15687 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15689 if (flags
& NDR_IN
) {
15690 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
15692 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15694 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15696 ndr_print_int32(ndr
, "level", r
->in
.level
);
15697 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15699 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15700 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
15704 if (flags
& NDR_OUT
) {
15705 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
15707 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15709 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15711 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15713 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15714 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
15716 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15722 static const struct ndr_interface_call drsuapi_calls
[] = {
15725 sizeof(struct drsuapi_DsBind
),
15726 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
15727 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
15728 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
15732 "drsuapi_DsUnbind",
15733 sizeof(struct drsuapi_DsUnbind
),
15734 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
15735 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
15736 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
15740 "drsuapi_DsReplicaSync",
15741 sizeof(struct drsuapi_DsReplicaSync
),
15742 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
15743 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
15744 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
15748 "drsuapi_DsGetNCChanges",
15749 sizeof(struct drsuapi_DsGetNCChanges
),
15750 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
15751 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
15752 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
15756 "drsuapi_DsReplicaUpdateRefs",
15757 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
15758 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
15759 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
15760 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
15764 "drsuapi_DsReplicaAdd",
15765 sizeof(struct drsuapi_DsReplicaAdd
),
15766 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
15767 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
15768 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
15772 "drsuapi_DsReplicaDel",
15773 sizeof(struct drsuapi_DsReplicaDel
),
15774 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
15775 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
15776 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
15780 "drsuapi_DsReplicaMod",
15781 sizeof(struct drsuapi_DsReplicaMod
),
15782 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
15783 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
15784 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
15788 "DRSUAPI_VERIFY_NAMES",
15789 sizeof(struct DRSUAPI_VERIFY_NAMES
),
15790 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
15791 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
15792 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
15796 "drsuapi_DsGetMemberships",
15797 sizeof(struct drsuapi_DsGetMemberships
),
15798 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
15799 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
15800 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
15804 "DRSUAPI_INTER_DOMAIN_MOVE",
15805 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
15806 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
15807 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
15808 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
15812 "drsuapi_DsGetNT4ChangeLog",
15813 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
15814 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
15815 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
15816 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
15820 "drsuapi_DsCrackNames",
15821 sizeof(struct drsuapi_DsCrackNames
),
15822 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
15823 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
15824 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
15828 "drsuapi_DsWriteAccountSpn",
15829 sizeof(struct drsuapi_DsWriteAccountSpn
),
15830 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
15831 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
15832 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
15836 "drsuapi_DsRemoveDSServer",
15837 sizeof(struct drsuapi_DsRemoveDSServer
),
15838 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
15839 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
15840 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
15844 "DRSUAPI_REMOVE_DS_DOMAIN",
15845 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
15846 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
15847 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
15848 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
15852 "drsuapi_DsGetDomainControllerInfo",
15853 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
15854 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
15855 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
15856 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
15860 "drsuapi_DsAddEntry",
15861 sizeof(struct drsuapi_DsAddEntry
),
15862 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
15863 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
15864 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
15868 "drsuapi_DsExecuteKCC",
15869 sizeof(struct drsuapi_DsExecuteKCC
),
15870 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
15871 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
15872 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
15876 "drsuapi_DsReplicaGetInfo",
15877 sizeof(struct drsuapi_DsReplicaGetInfo
),
15878 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
15879 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
15880 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
15884 "DRSUAPI_ADD_SID_HISTORY",
15885 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
15886 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
15887 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
15888 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
15892 "drsuapi_DsGetMemberships2",
15893 sizeof(struct drsuapi_DsGetMemberships2
),
15894 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
15895 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
15896 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
15900 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15901 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
15902 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15903 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15904 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15908 "DRSUAPI_GET_OBJECT_EXISTENCE",
15909 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
15910 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
15911 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
15912 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
15916 "drsuapi_QuerySitesByCost",
15917 sizeof(struct drsuapi_QuerySitesByCost
),
15918 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
15919 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
15920 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
15923 { NULL
, 0, NULL
, NULL
, NULL
, false }
15926 static const char * const drsuapi_endpoint_strings
[] = {
15927 "ncacn_np:[\\pipe\\lsass]",
15928 "ncacn_np:[\\pipe\\protected_storage]",
15933 static const struct ndr_interface_string_array drsuapi_endpoints
= {
15935 .names
= drsuapi_endpoint_strings
15938 static const char * const drsuapi_authservice_strings
[] = {
15942 static const struct ndr_interface_string_array drsuapi_authservices
= {
15944 .names
= drsuapi_authservice_strings
15948 const struct ndr_interface_table ndr_table_drsuapi
= {
15951 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15952 NDR_DRSUAPI_VERSION
15954 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
15956 .calls
= drsuapi_calls
,
15957 .endpoints
= &drsuapi_endpoints
,
15958 .authservices
= &drsuapi_authservices