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_DsReplicaObjectIdentifier3(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_DsReplicaObjectIdentifier3(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_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2330 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary
, ic
);
2333 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2335 if (ndr_flags
& NDR_SCALARS
) {
2336 NDR_CHECK(ndr_push_align(ndr
, 5));
2337 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2338 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2339 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2341 if (ndr_flags
& NDR_BUFFERS
) {
2342 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2344 return NDR_ERR_SUCCESS
;
2347 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2349 if (ndr_flags
& NDR_SCALARS
) {
2350 NDR_CHECK(ndr_pull_align(ndr
, 5));
2351 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2352 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2353 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2355 if (ndr_flags
& NDR_BUFFERS
) {
2356 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2358 return NDR_ERR_SUCCESS
;
2361 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2363 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2365 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2366 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2370 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2372 uint32_t cntr_attributes_1
;
2373 if (ndr_flags
& NDR_SCALARS
) {
2374 NDR_CHECK(ndr_push_align(ndr
, 5));
2375 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2376 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2377 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2379 if (ndr_flags
& NDR_BUFFERS
) {
2380 if (r
->attributes
) {
2381 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2382 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2383 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2385 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2386 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2390 return NDR_ERR_SUCCESS
;
2393 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2395 uint32_t _ptr_attributes
;
2396 uint32_t cntr_attributes_1
;
2397 TALLOC_CTX
*_mem_save_attributes_0
;
2398 TALLOC_CTX
*_mem_save_attributes_1
;
2399 if (ndr_flags
& NDR_SCALARS
) {
2400 NDR_CHECK(ndr_pull_align(ndr
, 5));
2401 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2402 if (r
->num_attributes
> 1048576) {
2403 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2405 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2406 if (_ptr_attributes
) {
2407 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2409 r
->attributes
= NULL
;
2411 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2413 if (ndr_flags
& NDR_BUFFERS
) {
2414 if (r
->attributes
) {
2415 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2416 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2417 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2418 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, ndr_get_array_size(ndr
, &r
->attributes
));
2419 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2420 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2421 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2422 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2424 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2425 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2427 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2428 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2430 if (r
->attributes
) {
2431 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2434 return NDR_ERR_SUCCESS
;
2437 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2439 uint32_t cntr_attributes_1
;
2440 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2442 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2443 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2445 if (r
->attributes
) {
2446 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2448 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2450 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2451 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2461 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2463 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2464 return NDR_ERR_SUCCESS
;
2467 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2470 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2472 return NDR_ERR_SUCCESS
;
2475 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2477 ndr_print_uint32(ndr
, name
, r
);
2479 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2480 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2481 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2485 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2487 if (ndr_flags
& NDR_SCALARS
) {
2488 NDR_CHECK(ndr_push_align(ndr
, 5));
2489 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2490 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2491 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2492 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2494 if (ndr_flags
& NDR_BUFFERS
) {
2495 if (r
->identifier
) {
2496 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2498 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2500 return NDR_ERR_SUCCESS
;
2503 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2505 uint32_t _ptr_identifier
;
2506 TALLOC_CTX
*_mem_save_identifier_0
;
2507 if (ndr_flags
& NDR_SCALARS
) {
2508 NDR_CHECK(ndr_pull_align(ndr
, 5));
2509 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2510 if (_ptr_identifier
) {
2511 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2513 r
->identifier
= NULL
;
2515 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2516 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2517 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2519 if (ndr_flags
& NDR_BUFFERS
) {
2520 if (r
->identifier
) {
2521 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2522 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2523 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2524 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2528 return NDR_ERR_SUCCESS
;
2531 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2533 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2535 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2537 if (r
->identifier
) {
2538 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2541 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2542 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2546 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2548 if (ndr_flags
& NDR_SCALARS
) {
2549 NDR_CHECK(ndr_push_align(ndr
, 8));
2550 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2551 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2552 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2553 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2554 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2556 if (ndr_flags
& NDR_BUFFERS
) {
2558 return NDR_ERR_SUCCESS
;
2561 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2563 if (ndr_flags
& NDR_SCALARS
) {
2564 NDR_CHECK(ndr_pull_align(ndr
, 8));
2565 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2566 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2567 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2568 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2569 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2571 if (ndr_flags
& NDR_BUFFERS
) {
2573 return NDR_ERR_SUCCESS
;
2576 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2578 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2580 ndr_print_uint32(ndr
, "version", r
->version
);
2581 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2582 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2583 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2587 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2589 uint32_t cntr_meta_data_0
;
2590 if (ndr_flags
& NDR_SCALARS
) {
2591 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2592 NDR_CHECK(ndr_push_align(ndr
, 8));
2593 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2594 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2595 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2597 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2599 if (ndr_flags
& NDR_BUFFERS
) {
2601 return NDR_ERR_SUCCESS
;
2604 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2606 uint32_t cntr_meta_data_0
;
2607 TALLOC_CTX
*_mem_save_meta_data_0
;
2608 if (ndr_flags
& NDR_SCALARS
) {
2609 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2610 NDR_CHECK(ndr_pull_align(ndr
, 8));
2611 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2612 if (r
->count
> 1048576) {
2613 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2615 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, ndr_get_array_size(ndr
, &r
->meta_data
));
2616 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2617 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2618 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2621 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2623 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2625 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2627 if (ndr_flags
& NDR_BUFFERS
) {
2629 return NDR_ERR_SUCCESS
;
2632 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2634 uint32_t cntr_meta_data_0
;
2635 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2637 ndr_print_uint32(ndr
, "count", r
->count
);
2638 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2640 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2642 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2643 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2651 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2653 if (ndr_flags
& NDR_SCALARS
) {
2654 NDR_CHECK(ndr_push_align(ndr
, 5));
2655 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2656 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2657 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2658 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2659 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2660 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2662 if (ndr_flags
& NDR_BUFFERS
) {
2663 if (r
->next_object
) {
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2667 if (r
->parent_object_guid
) {
2668 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2670 if (r
->meta_data_ctr
) {
2671 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2674 return NDR_ERR_SUCCESS
;
2677 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2679 uint32_t _ptr_next_object
;
2680 TALLOC_CTX
*_mem_save_next_object_0
;
2681 uint32_t _ptr_parent_object_guid
;
2682 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2683 uint32_t _ptr_meta_data_ctr
;
2684 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2685 if (ndr_flags
& NDR_SCALARS
) {
2686 NDR_CHECK(ndr_pull_align(ndr
, 5));
2687 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2688 if (_ptr_next_object
) {
2689 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2691 r
->next_object
= NULL
;
2693 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2694 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2695 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2696 if (_ptr_parent_object_guid
) {
2697 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2699 r
->parent_object_guid
= NULL
;
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2702 if (_ptr_meta_data_ctr
) {
2703 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2705 r
->meta_data_ctr
= NULL
;
2707 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2709 if (ndr_flags
& NDR_BUFFERS
) {
2710 if (r
->next_object
) {
2711 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2712 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2717 if (r
->parent_object_guid
) {
2718 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2719 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2720 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2721 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2723 if (r
->meta_data_ctr
) {
2724 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2725 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2726 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2727 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2730 return NDR_ERR_SUCCESS
;
2733 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2735 if (ndr_flags
& NDR_SCALARS
) {
2736 NDR_CHECK(ndr_push_align(ndr
, 8));
2737 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2738 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2739 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2740 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2741 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2742 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2743 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2744 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2745 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2746 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2747 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2748 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2749 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2751 if (ndr_flags
& NDR_BUFFERS
) {
2752 if (r
->naming_context
) {
2753 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2755 if (r
->uptodateness_vector
) {
2756 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2758 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2759 if (r
->first_object
) {
2760 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2763 return NDR_ERR_SUCCESS
;
2766 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2768 uint32_t _ptr_naming_context
;
2769 TALLOC_CTX
*_mem_save_naming_context_0
;
2770 uint32_t _ptr_uptodateness_vector
;
2771 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2772 uint32_t _ptr_first_object
;
2773 TALLOC_CTX
*_mem_save_first_object_0
;
2774 if (ndr_flags
& NDR_SCALARS
) {
2775 NDR_CHECK(ndr_pull_align(ndr
, 8));
2776 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2777 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2778 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2779 if (_ptr_naming_context
) {
2780 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2782 r
->naming_context
= NULL
;
2784 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2785 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2786 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2787 if (_ptr_uptodateness_vector
) {
2788 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2790 r
->uptodateness_vector
= NULL
;
2792 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2793 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2794 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2795 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2796 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2797 if (_ptr_first_object
) {
2798 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2800 r
->first_object
= NULL
;
2802 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2803 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2805 if (ndr_flags
& NDR_BUFFERS
) {
2806 if (r
->naming_context
) {
2807 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2808 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2809 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2810 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2812 if (r
->uptodateness_vector
) {
2813 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2814 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2815 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2816 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2818 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2819 if (r
->first_object
) {
2820 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2821 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2822 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2826 return NDR_ERR_SUCCESS
;
2829 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2831 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2833 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2834 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2835 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2837 if (r
->naming_context
) {
2838 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2841 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2842 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2843 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2845 if (r
->uptodateness_vector
) {
2846 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2849 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2850 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2851 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2852 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
);
2853 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2855 if (r
->first_object
) {
2856 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2859 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2863 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2865 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2868 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2870 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2871 return NDR_ERR_SUCCESS
;
2874 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2877 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2879 return NDR_ERR_SUCCESS
;
2882 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2884 ndr_print_uint32(ndr
, name
, r
);
2886 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2890 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2892 if (ndr_flags
& NDR_SCALARS
) {
2893 NDR_CHECK(ndr_push_align(ndr
, 8));
2894 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2895 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2896 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2897 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2898 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2899 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2900 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2902 if (ndr_flags
& NDR_BUFFERS
) {
2903 if (r
->identifier
) {
2904 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2906 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2908 return NDR_ERR_SUCCESS
;
2911 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2913 uint32_t _ptr_identifier
;
2914 TALLOC_CTX
*_mem_save_identifier_0
;
2915 if (ndr_flags
& NDR_SCALARS
) {
2916 NDR_CHECK(ndr_pull_align(ndr
, 8));
2917 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2918 if (_ptr_identifier
) {
2919 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2921 r
->identifier
= NULL
;
2923 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2924 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2925 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2926 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2928 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2930 if (ndr_flags
& NDR_BUFFERS
) {
2931 if (r
->identifier
) {
2932 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2933 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2934 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2937 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2939 return NDR_ERR_SUCCESS
;
2942 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2944 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2946 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2948 if (r
->identifier
) {
2949 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2952 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2953 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2954 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2955 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2956 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2960 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2962 uint32_t cntr_linked_attributes_1
;
2963 if (ndr_flags
& NDR_SCALARS
) {
2964 NDR_CHECK(ndr_push_align(ndr
, 8));
2965 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2966 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2967 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2968 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2969 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2970 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2971 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2972 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2973 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2974 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2975 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2976 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2977 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2978 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2979 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2980 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2981 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2982 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2984 if (ndr_flags
& NDR_BUFFERS
) {
2985 if (r
->naming_context
) {
2986 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2988 if (r
->uptodateness_vector
) {
2989 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2991 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2992 if (r
->first_object
) {
2993 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2995 if (r
->linked_attributes
) {
2996 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2997 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2998 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3000 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3001 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3005 return NDR_ERR_SUCCESS
;
3008 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
3010 uint32_t _ptr_naming_context
;
3011 TALLOC_CTX
*_mem_save_naming_context_0
;
3012 uint32_t _ptr_uptodateness_vector
;
3013 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
3014 uint32_t _ptr_first_object
;
3015 TALLOC_CTX
*_mem_save_first_object_0
;
3016 uint32_t _ptr_linked_attributes
;
3017 uint32_t cntr_linked_attributes_1
;
3018 TALLOC_CTX
*_mem_save_linked_attributes_0
;
3019 TALLOC_CTX
*_mem_save_linked_attributes_1
;
3020 if (ndr_flags
& NDR_SCALARS
) {
3021 NDR_CHECK(ndr_pull_align(ndr
, 8));
3022 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
3023 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
3025 if (_ptr_naming_context
) {
3026 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3028 r
->naming_context
= NULL
;
3030 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
3031 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
3032 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
3033 if (_ptr_uptodateness_vector
) {
3034 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
3036 r
->uptodateness_vector
= NULL
;
3038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
3039 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
3040 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
3041 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
3042 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
3043 if (_ptr_first_object
) {
3044 NDR_PULL_ALLOC(ndr
, r
->first_object
);
3046 r
->first_object
= NULL
;
3048 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
3049 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
3050 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
3051 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
3052 if (r
->linked_attributes_count
> 1048576) {
3053 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3055 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
3056 if (_ptr_linked_attributes
) {
3057 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
3059 r
->linked_attributes
= NULL
;
3061 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
3062 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3064 if (ndr_flags
& NDR_BUFFERS
) {
3065 if (r
->naming_context
) {
3066 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3067 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3068 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3071 if (r
->uptodateness_vector
) {
3072 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3073 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
3074 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
3075 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3077 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3078 if (r
->first_object
) {
3079 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3080 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3081 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3082 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3084 if (r
->linked_attributes
) {
3085 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3086 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3087 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3088 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, ndr_get_array_size(ndr
, &r
->linked_attributes
));
3089 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3090 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3091 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3094 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3097 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3098 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3100 if (r
->linked_attributes
) {
3101 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3104 return NDR_ERR_SUCCESS
;
3107 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3109 uint32_t cntr_linked_attributes_1
;
3110 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3112 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3113 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3114 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3116 if (r
->naming_context
) {
3117 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3120 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3121 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3122 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3124 if (r
->uptodateness_vector
) {
3125 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3128 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3129 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3130 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3131 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
);
3132 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3134 if (r
->first_object
) {
3135 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3138 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3139 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3140 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3141 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3142 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3144 if (r
->linked_attributes
) {
3145 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3147 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3149 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3150 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3157 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3161 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3163 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3166 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3168 if (ndr_flags
& NDR_SCALARS
) {
3169 NDR_CHECK(ndr_push_align(ndr
, 1));
3171 struct ndr_push
*_ndr_ctr1
;
3172 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3173 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3174 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3176 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3178 if (ndr_flags
& NDR_BUFFERS
) {
3180 return NDR_ERR_SUCCESS
;
3183 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3185 if (ndr_flags
& NDR_SCALARS
) {
3186 NDR_CHECK(ndr_pull_align(ndr
, 1));
3188 struct ndr_pull
*_ndr_ctr1
;
3189 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3190 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3191 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3193 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3195 if (ndr_flags
& NDR_BUFFERS
) {
3197 return NDR_ERR_SUCCESS
;
3200 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3202 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3204 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3208 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3210 if (ndr_flags
& NDR_SCALARS
) {
3211 NDR_CHECK(ndr_push_align(ndr
, 1));
3213 struct ndr_push
*_ndr_ctr6
;
3214 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3215 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3216 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3218 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3220 if (ndr_flags
& NDR_BUFFERS
) {
3222 return NDR_ERR_SUCCESS
;
3225 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3227 if (ndr_flags
& NDR_SCALARS
) {
3228 NDR_CHECK(ndr_pull_align(ndr
, 1));
3230 struct ndr_pull
*_ndr_ctr6
;
3231 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3232 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3233 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3235 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3237 if (ndr_flags
& NDR_BUFFERS
) {
3239 return NDR_ERR_SUCCESS
;
3242 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3244 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3246 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3250 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3253 TALLOC_CTX
*_mem_save_ts_0
;
3254 if (ndr_flags
& NDR_SCALARS
) {
3255 NDR_CHECK(ndr_pull_align(ndr
, 5));
3256 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3257 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3258 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3260 NDR_PULL_ALLOC(ndr
, r
->ts
);
3264 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3266 if (ndr_flags
& NDR_BUFFERS
) {
3268 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3269 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3271 struct ndr_pull
*_ndr_ts
;
3272 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3274 struct ndr_pull
*_ndr_ts_compressed
;
3275 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3276 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3277 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3279 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3281 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3284 return NDR_ERR_SUCCESS
;
3287 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3289 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3291 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3292 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3293 ndr_print_ptr(ndr
, "ts", r
->ts
);
3296 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3302 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3305 TALLOC_CTX
*_mem_save_ts_0
;
3306 if (ndr_flags
& NDR_SCALARS
) {
3307 NDR_CHECK(ndr_pull_align(ndr
, 5));
3308 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3310 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3312 NDR_PULL_ALLOC(ndr
, r
->ts
);
3316 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3318 if (ndr_flags
& NDR_BUFFERS
) {
3320 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3321 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3323 struct ndr_pull
*_ndr_ts
;
3324 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3326 struct ndr_pull
*_ndr_ts_compressed
;
3327 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3328 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3329 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3331 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3333 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3336 return NDR_ERR_SUCCESS
;
3339 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3341 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3343 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3344 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3345 ndr_print_ptr(ndr
, "ts", r
->ts
);
3348 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3354 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3357 TALLOC_CTX
*_mem_save_ts_0
;
3358 if (ndr_flags
& NDR_SCALARS
) {
3359 NDR_CHECK(ndr_pull_align(ndr
, 5));
3360 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3361 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3362 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3364 NDR_PULL_ALLOC(ndr
, r
->ts
);
3368 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3370 if (ndr_flags
& NDR_BUFFERS
) {
3372 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3373 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3375 struct ndr_pull
*_ndr_ts
;
3376 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3378 struct ndr_pull
*_ndr_ts_compressed
;
3379 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3380 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3381 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3383 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3385 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3388 return NDR_ERR_SUCCESS
;
3391 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3393 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3395 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3396 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3397 ndr_print_ptr(ndr
, "ts", r
->ts
);
3400 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3406 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3409 TALLOC_CTX
*_mem_save_ts_0
;
3410 if (ndr_flags
& NDR_SCALARS
) {
3411 NDR_CHECK(ndr_pull_align(ndr
, 5));
3412 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3413 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3414 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3416 NDR_PULL_ALLOC(ndr
, r
->ts
);
3420 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3422 if (ndr_flags
& NDR_BUFFERS
) {
3424 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3425 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3427 struct ndr_pull
*_ndr_ts
;
3428 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3430 struct ndr_pull
*_ndr_ts_compressed
;
3431 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3432 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3433 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3435 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3437 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3440 return NDR_ERR_SUCCESS
;
3443 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3445 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3447 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3448 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3449 ndr_print_ptr(ndr
, "ts", r
->ts
);
3452 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3458 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3460 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3461 return NDR_ERR_SUCCESS
;
3464 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3467 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3469 return NDR_ERR_SUCCESS
;
3472 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3474 const char *val
= NULL
;
3477 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3478 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3480 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3483 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3486 uint32_t _flags_save_UNION
= ndr
->flags
;
3487 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3488 if (ndr_flags
& NDR_SCALARS
) {
3489 int level
= ndr_push_get_switch_value(ndr
, r
);
3490 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3492 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3493 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3496 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3497 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3500 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3501 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3504 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3505 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3509 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3512 if (ndr_flags
& NDR_BUFFERS
) {
3513 int level
= ndr_push_get_switch_value(ndr
, r
);
3515 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3516 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3519 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3520 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3523 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3524 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3527 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3528 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3532 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3535 ndr
->flags
= _flags_save_UNION
;
3537 return NDR_ERR_SUCCESS
;
3540 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3544 uint32_t _flags_save_UNION
= ndr
->flags
;
3545 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3546 level
= ndr_pull_get_switch_value(ndr
, r
);
3547 if (ndr_flags
& NDR_SCALARS
) {
3548 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3550 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3551 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3554 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3555 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3558 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3559 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3562 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3563 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3567 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3570 if (ndr_flags
& NDR_BUFFERS
) {
3572 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3573 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3576 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3577 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3580 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3581 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3584 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3585 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3589 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3592 ndr
->flags
= _flags_save_UNION
;
3594 return NDR_ERR_SUCCESS
;
3597 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3601 uint32_t _flags_save_UNION
= ndr
->flags
;
3602 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3603 level
= ndr_print_get_switch_value(ndr
, r
);
3604 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3606 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3607 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3610 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3611 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3614 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3615 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3618 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3619 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3623 ndr_print_bad_level(ndr
, name
, level
);
3625 ndr
->flags
= _flags_save_UNION
;
3629 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3631 if (ndr_flags
& NDR_SCALARS
) {
3632 NDR_CHECK(ndr_push_align(ndr
, 5));
3633 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3634 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3636 if (ndr_flags
& NDR_BUFFERS
) {
3637 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3639 return NDR_ERR_SUCCESS
;
3642 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3644 if (ndr_flags
& NDR_SCALARS
) {
3645 NDR_CHECK(ndr_pull_align(ndr
, 5));
3646 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3647 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3649 if (ndr_flags
& NDR_BUFFERS
) {
3650 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3652 return NDR_ERR_SUCCESS
;
3655 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3657 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3659 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3663 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3665 if (ndr_flags
& NDR_SCALARS
) {
3666 NDR_CHECK(ndr_push_align(ndr
, 5));
3667 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
3668 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3669 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3670 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3671 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3673 if (ndr_flags
& NDR_BUFFERS
) {
3674 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3676 return NDR_ERR_SUCCESS
;
3679 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3681 if (ndr_flags
& NDR_SCALARS
) {
3682 NDR_CHECK(ndr_pull_align(ndr
, 5));
3683 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
3684 if (r
->level
< 0 || r
->level
> 6) {
3685 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3687 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3688 if (r
->type
< 2 || r
->type
> 3) {
3689 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3691 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3692 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3693 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3695 if (ndr_flags
& NDR_BUFFERS
) {
3696 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3698 return NDR_ERR_SUCCESS
;
3701 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3703 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3705 ndr_print_int32(ndr
, "level", r
->level
);
3706 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3707 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3708 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3712 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3714 if (ndr_flags
& NDR_SCALARS
) {
3715 int level
= ndr_push_get_switch_value(ndr
, r
);
3716 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3717 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3720 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3724 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3728 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3732 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3736 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3739 if (ndr_flags
& NDR_BUFFERS
) {
3740 int level
= ndr_push_get_switch_value(ndr
, r
);
3743 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3747 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3751 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3755 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3759 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3762 return NDR_ERR_SUCCESS
;
3765 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3769 level
= ndr_pull_get_switch_value(ndr
, r
);
3770 if (ndr_flags
& NDR_SCALARS
) {
3771 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3772 if (_level
!= level
) {
3773 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3775 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3778 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3782 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3786 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3790 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3794 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3797 if (ndr_flags
& NDR_BUFFERS
) {
3800 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3804 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3808 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3812 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3816 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3819 return NDR_ERR_SUCCESS
;
3822 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3825 level
= ndr_print_get_switch_value(ndr
, r
);
3826 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3829 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3833 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3837 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3841 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3845 ndr_print_bad_level(ndr
, name
, level
);
3849 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
3851 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3852 return NDR_ERR_SUCCESS
;
3855 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
3858 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3860 return NDR_ERR_SUCCESS
;
3863 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
3865 ndr_print_uint32(ndr
, name
, r
);
3867 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION
, r
);
3868 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK
, r
);
3869 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE
, r
);
3870 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE
, r
);
3871 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE
, r
);
3875 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3877 if (ndr_flags
& NDR_SCALARS
) {
3878 NDR_CHECK(ndr_push_align(ndr
, 5));
3879 if (r
->naming_context
== NULL
) {
3880 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3882 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3883 if (r
->dest_dsa_dns_name
== NULL
) {
3884 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3886 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3887 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3888 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->options
));
3889 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3891 if (ndr_flags
& NDR_BUFFERS
) {
3892 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3893 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3894 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3895 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3896 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
));
3898 return NDR_ERR_SUCCESS
;
3901 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3903 uint32_t _ptr_naming_context
;
3904 TALLOC_CTX
*_mem_save_naming_context_0
;
3905 uint32_t _ptr_dest_dsa_dns_name
;
3906 if (ndr_flags
& NDR_SCALARS
) {
3907 NDR_CHECK(ndr_pull_align(ndr
, 5));
3908 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3909 if (_ptr_naming_context
) {
3910 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3912 r
->naming_context
= NULL
;
3914 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3915 if (_ptr_dest_dsa_dns_name
) {
3916 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3918 r
->dest_dsa_dns_name
= NULL
;
3920 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3921 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3922 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3924 if (ndr_flags
& NDR_BUFFERS
) {
3925 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3926 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3928 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3929 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3930 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3931 if (ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
) > ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
)) {
3932 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
));
3934 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t)));
3935 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
));
3937 return NDR_ERR_SUCCESS
;
3940 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3942 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3944 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3946 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3948 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3950 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3952 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3953 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "options", r
->options
);
3957 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3959 if (ndr_flags
& NDR_SCALARS
) {
3960 int level
= ndr_push_get_switch_value(ndr
, r
);
3961 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3962 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3965 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3969 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3972 if (ndr_flags
& NDR_BUFFERS
) {
3973 int level
= ndr_push_get_switch_value(ndr
, r
);
3976 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3980 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3983 return NDR_ERR_SUCCESS
;
3986 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3990 level
= ndr_pull_get_switch_value(ndr
, r
);
3991 if (ndr_flags
& NDR_SCALARS
) {
3992 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3993 if (_level
!= level
) {
3994 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3996 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4003 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4006 if (ndr_flags
& NDR_BUFFERS
) {
4009 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4013 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4016 return NDR_ERR_SUCCESS
;
4019 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
4022 level
= ndr_print_get_switch_value(ndr
, r
);
4023 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
4026 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
4030 ndr_print_bad_level(ndr
, name
, level
);
4034 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4036 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4037 return NDR_ERR_SUCCESS
;
4040 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4043 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4045 return NDR_ERR_SUCCESS
;
4048 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4050 ndr_print_uint32(ndr
, name
, r
);
4052 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4053 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4057 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4059 if (ndr_flags
& NDR_SCALARS
) {
4060 NDR_CHECK(ndr_push_align(ndr
, 5));
4061 if (r
->naming_context
== NULL
) {
4062 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4064 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4065 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4066 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4067 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->options
));
4068 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4070 if (ndr_flags
& NDR_BUFFERS
) {
4071 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4072 if (r
->source_dsa_address
) {
4073 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4074 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4075 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4076 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
));
4079 return NDR_ERR_SUCCESS
;
4082 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
4084 uint32_t _ptr_naming_context
;
4085 TALLOC_CTX
*_mem_save_naming_context_0
;
4086 uint32_t _ptr_source_dsa_address
;
4087 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4088 if (ndr_flags
& NDR_SCALARS
) {
4089 NDR_CHECK(ndr_pull_align(ndr
, 5));
4090 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4091 if (_ptr_naming_context
) {
4092 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4094 r
->naming_context
= NULL
;
4096 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4097 if (_ptr_source_dsa_address
) {
4098 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4100 r
->source_dsa_address
= NULL
;
4102 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4103 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->options
));
4104 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4106 if (ndr_flags
& NDR_BUFFERS
) {
4107 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4108 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4109 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4110 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4111 if (r
->source_dsa_address
) {
4112 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4113 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4115 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4116 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4117 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_address
), ndr_get_array_length(ndr
, &r
->source_dsa_address
));
4119 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4120 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t), CH_UTF16
));
4121 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4124 return NDR_ERR_SUCCESS
;
4127 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4129 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4131 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4133 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4135 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4137 if (r
->source_dsa_address
) {
4138 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4141 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4142 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "options", r
->options
);
4146 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4148 if (ndr_flags
& NDR_SCALARS
) {
4149 NDR_CHECK(ndr_push_align(ndr
, 5));
4150 if (r
->naming_context
== NULL
) {
4151 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4153 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4154 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4155 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4156 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4157 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4158 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->options
));
4159 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4161 if (ndr_flags
& NDR_BUFFERS
) {
4162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4163 if (r
->source_dsa_dn
) {
4164 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4166 if (r
->transport_dn
) {
4167 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4169 if (r
->source_dsa_address
) {
4170 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4171 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4172 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4173 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
));
4176 return NDR_ERR_SUCCESS
;
4179 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4181 uint32_t _ptr_naming_context
;
4182 TALLOC_CTX
*_mem_save_naming_context_0
;
4183 uint32_t _ptr_source_dsa_dn
;
4184 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4185 uint32_t _ptr_transport_dn
;
4186 TALLOC_CTX
*_mem_save_transport_dn_0
;
4187 uint32_t _ptr_source_dsa_address
;
4188 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4189 if (ndr_flags
& NDR_SCALARS
) {
4190 NDR_CHECK(ndr_pull_align(ndr
, 5));
4191 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4192 if (_ptr_naming_context
) {
4193 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4195 r
->naming_context
= NULL
;
4197 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4198 if (_ptr_source_dsa_dn
) {
4199 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4201 r
->source_dsa_dn
= NULL
;
4203 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4204 if (_ptr_transport_dn
) {
4205 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4207 r
->transport_dn
= NULL
;
4209 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4210 if (_ptr_source_dsa_address
) {
4211 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4213 r
->source_dsa_address
= NULL
;
4215 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4216 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->options
));
4217 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4219 if (ndr_flags
& NDR_BUFFERS
) {
4220 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4221 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4224 if (r
->source_dsa_dn
) {
4225 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4226 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4227 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4228 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4230 if (r
->transport_dn
) {
4231 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4232 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4234 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4236 if (r
->source_dsa_address
) {
4237 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4238 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4239 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4240 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4241 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4242 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
));
4244 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4245 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
));
4246 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4249 return NDR_ERR_SUCCESS
;
4252 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4254 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4256 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4258 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4260 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4262 if (r
->source_dsa_dn
) {
4263 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4266 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4268 if (r
->transport_dn
) {
4269 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4272 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4274 if (r
->source_dsa_address
) {
4275 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4278 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4279 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "options", r
->options
);
4283 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4285 if (ndr_flags
& NDR_SCALARS
) {
4286 int level
= ndr_push_get_switch_value(ndr
, r
);
4287 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4288 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4291 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4295 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4299 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4302 if (ndr_flags
& NDR_BUFFERS
) {
4303 int level
= ndr_push_get_switch_value(ndr
, r
);
4306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4310 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4314 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4317 return NDR_ERR_SUCCESS
;
4320 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4324 level
= ndr_pull_get_switch_value(ndr
, r
);
4325 if (ndr_flags
& NDR_SCALARS
) {
4326 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4327 if (_level
!= level
) {
4328 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4330 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4333 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4341 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4344 if (ndr_flags
& NDR_BUFFERS
) {
4347 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4355 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4358 return NDR_ERR_SUCCESS
;
4361 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4364 level
= ndr_print_get_switch_value(ndr
, r
);
4365 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4368 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4372 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4376 ndr_print_bad_level(ndr
, name
, level
);
4380 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4382 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4383 return NDR_ERR_SUCCESS
;
4386 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4389 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4391 return NDR_ERR_SUCCESS
;
4394 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4396 ndr_print_uint32(ndr
, name
, r
);
4398 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4399 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4403 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4405 if (ndr_flags
& NDR_SCALARS
) {
4406 NDR_CHECK(ndr_push_align(ndr
, 5));
4407 if (r
->naming_context
== NULL
) {
4408 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4410 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4411 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4412 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->options
));
4413 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4415 if (ndr_flags
& NDR_BUFFERS
) {
4416 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4417 if (r
->source_dsa_address
) {
4418 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4419 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4420 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4421 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
));
4424 return NDR_ERR_SUCCESS
;
4427 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4429 uint32_t _ptr_naming_context
;
4430 TALLOC_CTX
*_mem_save_naming_context_0
;
4431 uint32_t _ptr_source_dsa_address
;
4432 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4433 if (ndr_flags
& NDR_SCALARS
) {
4434 NDR_CHECK(ndr_pull_align(ndr
, 5));
4435 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4436 if (_ptr_naming_context
) {
4437 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4439 r
->naming_context
= NULL
;
4441 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4442 if (_ptr_source_dsa_address
) {
4443 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4445 r
->source_dsa_address
= NULL
;
4447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->options
));
4448 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4450 if (ndr_flags
& NDR_BUFFERS
) {
4451 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4452 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4453 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4454 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4455 if (r
->source_dsa_address
) {
4456 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4457 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4458 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4459 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4460 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4461 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
));
4463 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4464 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
));
4465 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4468 return NDR_ERR_SUCCESS
;
4471 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4473 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4475 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4477 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4479 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4481 if (r
->source_dsa_address
) {
4482 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4485 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "options", r
->options
);
4489 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4491 if (ndr_flags
& NDR_SCALARS
) {
4492 int level
= ndr_push_get_switch_value(ndr
, r
);
4493 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4494 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4497 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4501 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4504 if (ndr_flags
& NDR_BUFFERS
) {
4505 int level
= ndr_push_get_switch_value(ndr
, r
);
4508 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4512 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4515 return NDR_ERR_SUCCESS
;
4518 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4522 level
= ndr_pull_get_switch_value(ndr
, r
);
4523 if (ndr_flags
& NDR_SCALARS
) {
4524 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4525 if (_level
!= level
) {
4526 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4528 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4531 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4535 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4538 if (ndr_flags
& NDR_BUFFERS
) {
4541 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4545 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4548 return NDR_ERR_SUCCESS
;
4551 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4554 level
= ndr_print_get_switch_value(ndr
, r
);
4555 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4558 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4562 ndr_print_bad_level(ndr
, name
, level
);
4566 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
4568 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4569 return NDR_ERR_SUCCESS
;
4572 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
4575 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4577 return NDR_ERR_SUCCESS
;
4580 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
4582 ndr_print_uint32(ndr
, name
, r
);
4584 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION
, r
);
4585 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE
, r
);
4589 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4591 if (ndr_flags
& NDR_SCALARS
) {
4592 NDR_CHECK(ndr_push_align(ndr
, 5));
4593 if (r
->naming_context
== NULL
) {
4594 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4596 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4597 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4598 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4599 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4600 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4601 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4602 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->options
));
4603 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4605 if (ndr_flags
& NDR_BUFFERS
) {
4606 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4607 if (r
->source_dra_address
) {
4608 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4609 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4610 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4611 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
));
4614 return NDR_ERR_SUCCESS
;
4617 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4619 uint32_t _ptr_naming_context
;
4620 TALLOC_CTX
*_mem_save_naming_context_0
;
4621 uint32_t _ptr_source_dra_address
;
4622 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4623 if (ndr_flags
& NDR_SCALARS
) {
4624 NDR_CHECK(ndr_pull_align(ndr
, 5));
4625 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4626 if (_ptr_naming_context
) {
4627 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4629 r
->naming_context
= NULL
;
4631 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4632 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4633 if (_ptr_source_dra_address
) {
4634 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4636 r
->source_dra_address
= NULL
;
4638 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4639 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4640 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4641 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->options
));
4642 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4644 if (ndr_flags
& NDR_BUFFERS
) {
4645 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4646 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4648 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4649 if (r
->source_dra_address
) {
4650 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4651 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4652 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4653 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4654 if (ndr_get_array_length(ndr
, &r
->source_dra_address
) > ndr_get_array_size(ndr
, &r
->source_dra_address
)) {
4655 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
));
4657 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t)));
4658 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
));
4659 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4662 return NDR_ERR_SUCCESS
;
4665 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4667 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4669 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4671 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4673 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4674 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4676 if (r
->source_dra_address
) {
4677 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4680 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4681 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4682 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4683 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "options", r
->options
);
4687 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4689 if (ndr_flags
& NDR_SCALARS
) {
4690 int level
= ndr_push_get_switch_value(ndr
, r
);
4691 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4692 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4695 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4699 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4702 if (ndr_flags
& NDR_BUFFERS
) {
4703 int level
= ndr_push_get_switch_value(ndr
, r
);
4706 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4710 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4713 return NDR_ERR_SUCCESS
;
4716 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4720 level
= ndr_pull_get_switch_value(ndr
, r
);
4721 if (ndr_flags
& NDR_SCALARS
) {
4722 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4723 if (_level
!= level
) {
4724 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4726 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4729 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4733 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4736 if (ndr_flags
& NDR_BUFFERS
) {
4739 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4743 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4746 return NDR_ERR_SUCCESS
;
4749 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4752 level
= ndr_print_get_switch_value(ndr
, r
);
4753 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4756 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4760 ndr_print_bad_level(ndr
, name
, level
);
4764 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4766 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4767 return NDR_ERR_SUCCESS
;
4770 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4773 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4775 return NDR_ERR_SUCCESS
;
4778 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4780 const char *val
= NULL
;
4783 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4784 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4785 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4786 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4787 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4788 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4789 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4791 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4794 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4796 uint32_t cntr_info_array_1
;
4797 uint32_t cntr_group_attrs_1
;
4798 uint32_t cntr_sids_1
;
4799 if (ndr_flags
& NDR_SCALARS
) {
4800 NDR_CHECK(ndr_push_align(ndr
, 5));
4801 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4802 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4803 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4804 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4805 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4806 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4807 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4809 if (ndr_flags
& NDR_BUFFERS
) {
4810 if (r
->info_array
) {
4811 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4812 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4813 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4815 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4816 if (r
->info_array
[cntr_info_array_1
]) {
4817 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4821 if (r
->group_attrs
) {
4822 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4823 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4824 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4828 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4829 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4830 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4832 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4833 if (r
->sids
[cntr_sids_1
]) {
4834 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4839 return NDR_ERR_SUCCESS
;
4842 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4844 uint32_t _ptr_info_array
;
4845 uint32_t cntr_info_array_1
;
4846 TALLOC_CTX
*_mem_save_info_array_0
;
4847 TALLOC_CTX
*_mem_save_info_array_1
;
4848 TALLOC_CTX
*_mem_save_info_array_2
;
4849 uint32_t _ptr_group_attrs
;
4850 uint32_t cntr_group_attrs_1
;
4851 TALLOC_CTX
*_mem_save_group_attrs_0
;
4852 TALLOC_CTX
*_mem_save_group_attrs_1
;
4854 uint32_t cntr_sids_1
;
4855 TALLOC_CTX
*_mem_save_sids_0
;
4856 TALLOC_CTX
*_mem_save_sids_1
;
4857 TALLOC_CTX
*_mem_save_sids_2
;
4858 if (ndr_flags
& NDR_SCALARS
) {
4859 NDR_CHECK(ndr_pull_align(ndr
, 5));
4860 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4861 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4862 if (r
->num_memberships
> 10000) {
4863 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4865 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4866 if (r
->num_sids
> 10000) {
4867 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4869 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4870 if (_ptr_info_array
) {
4871 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4873 r
->info_array
= NULL
;
4875 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4876 if (_ptr_group_attrs
) {
4877 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4879 r
->group_attrs
= NULL
;
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4883 NDR_PULL_ALLOC(ndr
, r
->sids
);
4887 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4889 if (ndr_flags
& NDR_BUFFERS
) {
4890 if (r
->info_array
) {
4891 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4892 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4893 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4894 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
4895 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4896 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4897 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4899 if (_ptr_info_array
) {
4900 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4902 r
->info_array
[cntr_info_array_1
] = NULL
;
4905 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4906 if (r
->info_array
[cntr_info_array_1
]) {
4907 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4908 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4909 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4910 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4913 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4914 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4916 if (r
->group_attrs
) {
4917 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4918 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4919 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4920 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, ndr_get_array_size(ndr
, &r
->group_attrs
));
4921 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4922 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4923 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4924 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4926 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4927 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4930 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4931 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4932 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4933 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4934 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4935 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4936 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4937 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4939 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4941 r
->sids
[cntr_sids_1
] = NULL
;
4944 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4945 if (r
->sids
[cntr_sids_1
]) {
4946 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4947 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4948 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4949 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4952 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4953 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4955 if (r
->info_array
) {
4956 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4958 if (r
->group_attrs
) {
4959 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4962 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4965 return NDR_ERR_SUCCESS
;
4968 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4970 uint32_t cntr_info_array_1
;
4971 uint32_t cntr_group_attrs_1
;
4972 uint32_t cntr_sids_1
;
4973 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4975 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4976 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4977 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4978 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4980 if (r
->info_array
) {
4981 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4983 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4985 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4986 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4988 if (r
->info_array
[cntr_info_array_1
]) {
4989 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4998 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
5000 if (r
->group_attrs
) {
5001 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
5003 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
5005 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
5006 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
5013 ndr_print_ptr(ndr
, "sids", r
->sids
);
5016 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
5018 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
5020 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
5021 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
5023 if (r
->sids
[cntr_sids_1
]) {
5024 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
5036 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
5038 if (ndr_flags
& NDR_SCALARS
) {
5039 int level
= ndr_push_get_switch_value(ndr
, r
);
5040 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5041 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5044 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
5048 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5051 if (ndr_flags
& NDR_BUFFERS
) {
5052 int level
= ndr_push_get_switch_value(ndr
, r
);
5055 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5059 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5062 return NDR_ERR_SUCCESS
;
5065 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
5069 level
= ndr_pull_get_switch_value(ndr
, r
);
5070 if (ndr_flags
& NDR_SCALARS
) {
5071 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5072 if (_level
!= level
) {
5073 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5075 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5078 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
5082 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5085 if (ndr_flags
& NDR_BUFFERS
) {
5088 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
5092 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5095 return NDR_ERR_SUCCESS
;
5098 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
5101 level
= ndr_print_get_switch_value(ndr
, r
);
5102 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
5105 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
5109 ndr_print_bad_level(ndr
, name
, level
);
5113 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5115 uint32_t cntr_info_array_1
;
5116 if (ndr_flags
& NDR_SCALARS
) {
5117 NDR_CHECK(ndr_push_align(ndr
, 5));
5118 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5119 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
5120 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
5121 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
5122 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
5123 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5125 if (ndr_flags
& NDR_BUFFERS
) {
5126 if (r
->info_array
) {
5127 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5128 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5129 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
5131 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5132 if (r
->info_array
[cntr_info_array_1
]) {
5133 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5138 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5141 return NDR_ERR_SUCCESS
;
5144 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
5146 uint32_t _ptr_info_array
;
5147 uint32_t cntr_info_array_1
;
5148 TALLOC_CTX
*_mem_save_info_array_0
;
5149 TALLOC_CTX
*_mem_save_info_array_1
;
5150 TALLOC_CTX
*_mem_save_info_array_2
;
5151 uint32_t _ptr_domain
;
5152 TALLOC_CTX
*_mem_save_domain_0
;
5153 if (ndr_flags
& NDR_SCALARS
) {
5154 NDR_CHECK(ndr_pull_align(ndr
, 5));
5155 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5156 if (r
->count
< 1 || r
->count
> 10000) {
5157 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5159 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5160 if (_ptr_info_array
) {
5161 NDR_PULL_ALLOC(ndr
, r
->info_array
);
5163 r
->info_array
= NULL
;
5165 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5166 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
5167 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5169 NDR_PULL_ALLOC(ndr
, r
->domain
);
5173 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5175 if (ndr_flags
& NDR_BUFFERS
) {
5176 if (r
->info_array
) {
5177 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5178 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5179 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5180 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
5181 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5182 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5183 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5184 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5185 if (_ptr_info_array
) {
5186 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5188 r
->info_array
[cntr_info_array_1
] = NULL
;
5191 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5192 if (r
->info_array
[cntr_info_array_1
]) {
5193 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5194 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5195 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5196 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5199 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5200 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5203 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5204 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5205 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5208 if (r
->info_array
) {
5209 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5212 return NDR_ERR_SUCCESS
;
5215 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5217 uint32_t cntr_info_array_1
;
5218 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5220 ndr_print_uint32(ndr
, "count", r
->count
);
5221 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5223 if (r
->info_array
) {
5224 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5226 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5228 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5229 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5231 if (r
->info_array
[cntr_info_array_1
]) {
5232 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5241 ndr_print_uint32(ndr
, "flags", r
->flags
);
5242 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5243 ndr_print_ptr(ndr
, "domain", r
->domain
);
5246 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5252 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5254 if (ndr_flags
& NDR_SCALARS
) {
5255 int level
= ndr_push_get_switch_value(ndr
, r
);
5256 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5257 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5260 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5264 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5267 if (ndr_flags
& NDR_BUFFERS
) {
5268 int level
= ndr_push_get_switch_value(ndr
, r
);
5271 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5275 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5278 return NDR_ERR_SUCCESS
;
5281 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5285 level
= ndr_pull_get_switch_value(ndr
, r
);
5286 if (ndr_flags
& NDR_SCALARS
) {
5287 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5288 if (_level
!= level
) {
5289 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5291 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5294 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5298 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5301 if (ndr_flags
& NDR_BUFFERS
) {
5304 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5308 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5311 return NDR_ERR_SUCCESS
;
5314 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5317 level
= ndr_print_get_switch_value(ndr
, r
);
5318 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5321 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5325 ndr_print_bad_level(ndr
, name
, level
);
5329 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5331 if (ndr_flags
& NDR_SCALARS
) {
5332 NDR_CHECK(ndr_push_align(ndr
, 5));
5333 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
5334 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
5335 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
5336 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
5337 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5339 if (ndr_flags
& NDR_BUFFERS
) {
5341 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
5342 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
5345 return NDR_ERR_SUCCESS
;
5348 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5351 TALLOC_CTX
*_mem_save_data_0
;
5352 if (ndr_flags
& NDR_SCALARS
) {
5353 NDR_CHECK(ndr_pull_align(ndr
, 5));
5354 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
5355 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
5356 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5357 if (r
->length
> 0x00A00000) {
5358 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5360 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5362 NDR_PULL_ALLOC(ndr
, r
->data
);
5366 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5368 if (ndr_flags
& NDR_BUFFERS
) {
5370 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5371 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5372 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5373 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
5374 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
5375 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5378 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5381 return NDR_ERR_SUCCESS
;
5384 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5386 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5388 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
5389 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
5390 ndr_print_uint32(ndr
, "length", r
->length
);
5391 ndr_print_ptr(ndr
, "data", r
->data
);
5394 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5400 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5402 if (ndr_flags
& NDR_SCALARS
) {
5403 int level
= ndr_push_get_switch_value(ndr
, r
);
5404 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5405 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5408 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5412 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5415 if (ndr_flags
& NDR_BUFFERS
) {
5416 int level
= ndr_push_get_switch_value(ndr
, r
);
5419 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5423 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5426 return NDR_ERR_SUCCESS
;
5429 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5433 level
= ndr_pull_get_switch_value(ndr
, r
);
5434 if (ndr_flags
& NDR_SCALARS
) {
5435 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5436 if (_level
!= level
) {
5437 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5439 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5442 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5446 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5449 if (ndr_flags
& NDR_BUFFERS
) {
5452 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5456 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5459 return NDR_ERR_SUCCESS
;
5462 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5465 level
= ndr_print_get_switch_value(ndr
, r
);
5466 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5469 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5473 ndr_print_bad_level(ndr
, name
, level
);
5477 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5479 if (ndr_flags
& NDR_SCALARS
) {
5480 NDR_CHECK(ndr_push_align(ndr
, 8));
5481 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
5482 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
5483 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
5484 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time2
));
5485 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown3
));
5486 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time4
));
5487 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown5
));
5488 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time6
));
5489 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5490 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data1
));
5491 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data2
));
5492 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5494 if (ndr_flags
& NDR_BUFFERS
) {
5496 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length1
));
5497 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, r
->length1
));
5500 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length2
));
5501 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, r
->length2
));
5504 return NDR_ERR_SUCCESS
;
5507 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5509 uint32_t _ptr_data1
;
5510 TALLOC_CTX
*_mem_save_data1_0
;
5511 uint32_t _ptr_data2
;
5512 TALLOC_CTX
*_mem_save_data2_0
;
5513 if (ndr_flags
& NDR_SCALARS
) {
5514 NDR_CHECK(ndr_pull_align(ndr
, 8));
5515 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length1
));
5516 if (r
->length1
> 0x00A00000) {
5517 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5519 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length2
));
5520 if (r
->length2
> 0x00A00000) {
5521 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5523 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
5524 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time2
));
5525 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown3
));
5526 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time4
));
5527 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown5
));
5528 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time6
));
5529 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5530 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data1
));
5532 NDR_PULL_ALLOC(ndr
, r
->data1
);
5536 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data2
));
5538 NDR_PULL_ALLOC(ndr
, r
->data2
);
5542 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5544 if (ndr_flags
& NDR_BUFFERS
) {
5546 _mem_save_data1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5547 NDR_PULL_SET_MEM_CTX(ndr
, r
->data1
, 0);
5548 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data1
));
5549 NDR_PULL_ALLOC_N(ndr
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
));
5550 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
)));
5551 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data1_0
, 0);
5554 _mem_save_data2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5555 NDR_PULL_SET_MEM_CTX(ndr
, r
->data2
, 0);
5556 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data2
));
5557 NDR_PULL_ALLOC_N(ndr
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
));
5558 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
)));
5559 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data2_0
, 0);
5562 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data1
, r
->length1
));
5565 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data2
, r
->length2
));
5568 return NDR_ERR_SUCCESS
;
5571 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5573 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5575 ndr_print_uint32(ndr
, "length1", r
->length1
);
5576 ndr_print_uint32(ndr
, "length2", r
->length2
);
5577 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
5578 ndr_print_NTTIME(ndr
, "time2", r
->time2
);
5579 ndr_print_hyper(ndr
, "unknown3", r
->unknown3
);
5580 ndr_print_NTTIME(ndr
, "time4", r
->time4
);
5581 ndr_print_hyper(ndr
, "unknown5", r
->unknown5
);
5582 ndr_print_NTTIME(ndr
, "time6", r
->time6
);
5583 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5584 ndr_print_ptr(ndr
, "data1", r
->data1
);
5587 ndr_print_array_uint8(ndr
, "data1", r
->data1
, r
->length1
);
5590 ndr_print_ptr(ndr
, "data2", r
->data2
);
5593 ndr_print_array_uint8(ndr
, "data2", r
->data2
, r
->length2
);
5599 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5601 if (ndr_flags
& NDR_SCALARS
) {
5602 int level
= ndr_push_get_switch_value(ndr
, r
);
5603 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5604 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5607 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5611 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5614 if (ndr_flags
& NDR_BUFFERS
) {
5615 int level
= ndr_push_get_switch_value(ndr
, r
);
5618 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5622 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5625 return NDR_ERR_SUCCESS
;
5628 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5632 level
= ndr_pull_get_switch_value(ndr
, r
);
5633 if (ndr_flags
& NDR_SCALARS
) {
5634 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5635 if (_level
!= level
) {
5636 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5638 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5641 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5645 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5648 if (ndr_flags
& NDR_BUFFERS
) {
5651 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5655 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5658 return NDR_ERR_SUCCESS
;
5661 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5664 level
= ndr_print_get_switch_value(ndr
, r
);
5665 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5668 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5672 ndr_print_bad_level(ndr
, name
, level
);
5676 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5678 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5679 return NDR_ERR_SUCCESS
;
5682 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5685 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5687 return NDR_ERR_SUCCESS
;
5690 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5692 const char *val
= NULL
;
5695 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5696 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5697 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5698 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5699 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5700 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5701 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5702 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5704 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5707 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5709 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5710 return NDR_ERR_SUCCESS
;
5713 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5716 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5718 return NDR_ERR_SUCCESS
;
5721 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5723 const char *val
= NULL
;
5726 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5727 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5728 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5729 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5730 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5732 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5735 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5737 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5738 return NDR_ERR_SUCCESS
;
5741 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5744 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5746 return NDR_ERR_SUCCESS
;
5749 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5751 const char *val
= NULL
;
5754 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5755 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5756 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5757 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5758 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5759 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5760 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5761 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5762 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5763 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5764 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5766 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5769 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5771 if (ndr_flags
& NDR_SCALARS
) {
5772 NDR_CHECK(ndr_push_align(ndr
, 5));
5773 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5774 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5776 if (ndr_flags
& NDR_BUFFERS
) {
5778 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5779 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5780 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5781 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5784 return NDR_ERR_SUCCESS
;
5787 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5790 TALLOC_CTX
*_mem_save_str_0
;
5791 if (ndr_flags
& NDR_SCALARS
) {
5792 NDR_CHECK(ndr_pull_align(ndr
, 5));
5793 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5795 NDR_PULL_ALLOC(ndr
, r
->str
);
5799 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5801 if (ndr_flags
& NDR_BUFFERS
) {
5803 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5804 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5805 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5806 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5807 if (ndr_get_array_length(ndr
, &r
->str
) > ndr_get_array_size(ndr
, &r
->str
)) {
5808 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
));
5810 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t)));
5811 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t), CH_UTF16
));
5812 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5815 return NDR_ERR_SUCCESS
;
5818 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5820 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5822 ndr_print_ptr(ndr
, "str", r
->str
);
5825 ndr_print_string(ndr
, "str", r
->str
);
5831 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5833 uint32_t cntr_names_1
;
5834 if (ndr_flags
& NDR_SCALARS
) {
5835 NDR_CHECK(ndr_push_align(ndr
, 5));
5836 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5837 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5838 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5839 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5840 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5841 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5842 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5843 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5845 if (ndr_flags
& NDR_BUFFERS
) {
5847 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5848 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5849 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5851 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5852 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5856 return NDR_ERR_SUCCESS
;
5859 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5861 uint32_t _ptr_names
;
5862 uint32_t cntr_names_1
;
5863 TALLOC_CTX
*_mem_save_names_0
;
5864 TALLOC_CTX
*_mem_save_names_1
;
5865 if (ndr_flags
& NDR_SCALARS
) {
5866 NDR_CHECK(ndr_pull_align(ndr
, 5));
5867 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5868 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5869 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5870 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5871 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5872 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5873 if (r
->count
< 1 || r
->count
> 10000) {
5874 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5876 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5878 NDR_PULL_ALLOC(ndr
, r
->names
);
5882 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5884 if (ndr_flags
& NDR_BUFFERS
) {
5886 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5887 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5888 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5889 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
5890 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5891 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5892 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5893 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5895 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5896 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5899 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5902 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5905 return NDR_ERR_SUCCESS
;
5908 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5910 uint32_t cntr_names_1
;
5911 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5913 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5914 ndr_print_uint32(ndr
, "language", r
->language
);
5915 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5916 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5917 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5918 ndr_print_uint32(ndr
, "count", r
->count
);
5919 ndr_print_ptr(ndr
, "names", r
->names
);
5922 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5924 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5926 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5927 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5937 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5939 if (ndr_flags
& NDR_SCALARS
) {
5940 int level
= ndr_push_get_switch_value(ndr
, r
);
5941 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5942 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5945 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5949 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5952 if (ndr_flags
& NDR_BUFFERS
) {
5953 int level
= ndr_push_get_switch_value(ndr
, r
);
5956 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5960 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5963 return NDR_ERR_SUCCESS
;
5966 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5970 level
= ndr_pull_get_switch_value(ndr
, r
);
5971 if (ndr_flags
& NDR_SCALARS
) {
5972 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5973 if (_level
!= level
) {
5974 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5976 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5979 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5983 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5986 if (ndr_flags
& NDR_BUFFERS
) {
5989 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5993 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5996 return NDR_ERR_SUCCESS
;
5999 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
6002 level
= ndr_print_get_switch_value(ndr
, r
);
6003 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
6006 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
6010 ndr_print_bad_level(ndr
, name
, level
);
6014 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
6016 if (ndr_flags
& NDR_SCALARS
) {
6017 NDR_CHECK(ndr_push_align(ndr
, 5));
6018 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
6019 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
6020 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
6021 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6023 if (ndr_flags
& NDR_BUFFERS
) {
6024 if (r
->dns_domain_name
) {
6025 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
6026 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6027 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
6028 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
));
6030 if (r
->result_name
) {
6031 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
6032 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6033 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
6034 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6037 return NDR_ERR_SUCCESS
;
6040 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
6042 uint32_t _ptr_dns_domain_name
;
6043 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
6044 uint32_t _ptr_result_name
;
6045 TALLOC_CTX
*_mem_save_result_name_0
;
6046 if (ndr_flags
& NDR_SCALARS
) {
6047 NDR_CHECK(ndr_pull_align(ndr
, 5));
6048 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
6049 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
6050 if (_ptr_dns_domain_name
) {
6051 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
6053 r
->dns_domain_name
= NULL
;
6055 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
6056 if (_ptr_result_name
) {
6057 NDR_PULL_ALLOC(ndr
, r
->result_name
);
6059 r
->result_name
= NULL
;
6061 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6063 if (ndr_flags
& NDR_BUFFERS
) {
6064 if (r
->dns_domain_name
) {
6065 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6066 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
6067 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
6068 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
6069 if (ndr_get_array_length(ndr
, &r
->dns_domain_name
) > ndr_get_array_size(ndr
, &r
->dns_domain_name
)) {
6070 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
));
6072 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t)));
6073 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
));
6074 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
6076 if (r
->result_name
) {
6077 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6078 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
6079 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
6080 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
6081 if (ndr_get_array_length(ndr
, &r
->result_name
) > ndr_get_array_size(ndr
, &r
->result_name
)) {
6082 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
));
6084 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t)));
6085 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t), CH_UTF16
));
6086 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
6089 return NDR_ERR_SUCCESS
;
6092 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
6094 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
6096 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
6097 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
6099 if (r
->dns_domain_name
) {
6100 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
6103 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
6105 if (r
->result_name
) {
6106 ndr_print_string(ndr
, "result_name", r
->result_name
);
6112 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
6114 uint32_t cntr_array_1
;
6115 if (ndr_flags
& NDR_SCALARS
) {
6116 NDR_CHECK(ndr_push_align(ndr
, 5));
6117 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6118 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
6119 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6121 if (ndr_flags
& NDR_BUFFERS
) {
6123 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6124 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6125 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6127 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6128 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6132 return NDR_ERR_SUCCESS
;
6135 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
6137 uint32_t _ptr_array
;
6138 uint32_t cntr_array_1
;
6139 TALLOC_CTX
*_mem_save_array_0
;
6140 TALLOC_CTX
*_mem_save_array_1
;
6141 if (ndr_flags
& NDR_SCALARS
) {
6142 NDR_CHECK(ndr_pull_align(ndr
, 5));
6143 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6144 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6146 NDR_PULL_ALLOC(ndr
, r
->array
);
6150 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6152 if (ndr_flags
& NDR_BUFFERS
) {
6154 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6155 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6156 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6157 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
6158 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6159 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6160 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6161 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6163 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6164 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6170 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6173 return NDR_ERR_SUCCESS
;
6176 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6178 uint32_t cntr_array_1
;
6179 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6181 ndr_print_uint32(ndr
, "count", r
->count
);
6182 ndr_print_ptr(ndr
, "array", r
->array
);
6185 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6187 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6189 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6190 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6200 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6202 if (ndr_flags
& NDR_SCALARS
) {
6203 int level
= ndr_push_get_switch_value(ndr
, r
);
6204 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6205 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6208 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6212 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6215 if (ndr_flags
& NDR_BUFFERS
) {
6216 int level
= ndr_push_get_switch_value(ndr
, r
);
6220 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6225 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6228 return NDR_ERR_SUCCESS
;
6231 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6235 TALLOC_CTX
*_mem_save_ctr1_0
;
6236 level
= ndr_pull_get_switch_value(ndr
, r
);
6237 if (ndr_flags
& NDR_SCALARS
) {
6238 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6239 if (_level
!= level
) {
6240 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6242 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6246 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6248 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6255 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6258 if (ndr_flags
& NDR_BUFFERS
) {
6262 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6263 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6264 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6265 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6270 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6273 return NDR_ERR_SUCCESS
;
6276 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6279 level
= ndr_print_get_switch_value(ndr
, r
);
6280 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6283 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6286 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6292 ndr_print_bad_level(ndr
, name
, level
);
6296 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6298 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6299 return NDR_ERR_SUCCESS
;
6302 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6305 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6307 return NDR_ERR_SUCCESS
;
6310 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6312 const char *val
= NULL
;
6315 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6316 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6317 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6319 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6322 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6324 uint32_t cntr_spn_names_1
;
6325 if (ndr_flags
& NDR_SCALARS
) {
6326 NDR_CHECK(ndr_push_align(ndr
, 5));
6327 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6328 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6329 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6330 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6331 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6332 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6334 if (ndr_flags
& NDR_BUFFERS
) {
6336 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6337 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6338 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6339 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6342 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6343 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6344 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6346 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6347 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6351 return NDR_ERR_SUCCESS
;
6354 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6356 uint32_t _ptr_object_dn
;
6357 TALLOC_CTX
*_mem_save_object_dn_0
;
6358 uint32_t _ptr_spn_names
;
6359 uint32_t cntr_spn_names_1
;
6360 TALLOC_CTX
*_mem_save_spn_names_0
;
6361 TALLOC_CTX
*_mem_save_spn_names_1
;
6362 if (ndr_flags
& NDR_SCALARS
) {
6363 NDR_CHECK(ndr_pull_align(ndr
, 5));
6364 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6365 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6366 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6367 if (_ptr_object_dn
) {
6368 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6370 r
->object_dn
= NULL
;
6372 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6373 if (r
->count
> 10000) {
6374 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6376 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6377 if (_ptr_spn_names
) {
6378 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6380 r
->spn_names
= NULL
;
6382 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6384 if (ndr_flags
& NDR_BUFFERS
) {
6386 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6387 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6388 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6389 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6390 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
6391 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
));
6393 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
6394 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
6395 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6398 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6399 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6400 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6401 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, ndr_get_array_size(ndr
, &r
->spn_names
));
6402 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6403 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6404 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6405 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6407 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6408 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6414 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6417 return NDR_ERR_SUCCESS
;
6420 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6422 uint32_t cntr_spn_names_1
;
6423 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6425 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6426 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6427 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6430 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6433 ndr_print_uint32(ndr
, "count", r
->count
);
6434 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6437 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6439 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6441 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6442 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6452 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6454 if (ndr_flags
& NDR_SCALARS
) {
6455 int level
= ndr_push_get_switch_value(ndr
, r
);
6456 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6457 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6460 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6464 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6467 if (ndr_flags
& NDR_BUFFERS
) {
6468 int level
= ndr_push_get_switch_value(ndr
, r
);
6471 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6475 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6478 return NDR_ERR_SUCCESS
;
6481 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6485 level
= ndr_pull_get_switch_value(ndr
, r
);
6486 if (ndr_flags
& NDR_SCALARS
) {
6487 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6488 if (_level
!= level
) {
6489 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6491 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6494 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6498 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6501 if (ndr_flags
& NDR_BUFFERS
) {
6504 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6508 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6511 return NDR_ERR_SUCCESS
;
6514 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6517 level
= ndr_print_get_switch_value(ndr
, r
);
6518 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6521 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6525 ndr_print_bad_level(ndr
, name
, level
);
6529 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6531 if (ndr_flags
& NDR_SCALARS
) {
6532 NDR_CHECK(ndr_push_align(ndr
, 4));
6533 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6534 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6536 if (ndr_flags
& NDR_BUFFERS
) {
6538 return NDR_ERR_SUCCESS
;
6541 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6543 if (ndr_flags
& NDR_SCALARS
) {
6544 NDR_CHECK(ndr_pull_align(ndr
, 4));
6545 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6546 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6548 if (ndr_flags
& NDR_BUFFERS
) {
6550 return NDR_ERR_SUCCESS
;
6553 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6555 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6557 ndr_print_WERROR(ndr
, "status", r
->status
);
6561 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6563 if (ndr_flags
& NDR_SCALARS
) {
6564 int level
= ndr_push_get_switch_value(ndr
, r
);
6565 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6566 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6569 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6573 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6576 if (ndr_flags
& NDR_BUFFERS
) {
6577 int level
= ndr_push_get_switch_value(ndr
, r
);
6583 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6586 return NDR_ERR_SUCCESS
;
6589 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6593 level
= ndr_pull_get_switch_value(ndr
, r
);
6594 if (ndr_flags
& NDR_SCALARS
) {
6595 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6596 if (_level
!= level
) {
6597 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6599 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6602 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6606 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6609 if (ndr_flags
& NDR_BUFFERS
) {
6615 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6618 return NDR_ERR_SUCCESS
;
6621 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6624 level
= ndr_print_get_switch_value(ndr
, r
);
6625 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6628 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6632 ndr_print_bad_level(ndr
, name
, level
);
6636 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6638 if (ndr_flags
& NDR_SCALARS
) {
6639 NDR_CHECK(ndr_push_align(ndr
, 5));
6640 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6641 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6642 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6643 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6645 if (ndr_flags
& NDR_BUFFERS
) {
6647 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6648 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6649 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6650 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6653 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6654 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6655 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6656 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6659 return NDR_ERR_SUCCESS
;
6662 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6664 uint32_t _ptr_server_dn
;
6665 TALLOC_CTX
*_mem_save_server_dn_0
;
6666 uint32_t _ptr_domain_dn
;
6667 TALLOC_CTX
*_mem_save_domain_dn_0
;
6668 if (ndr_flags
& NDR_SCALARS
) {
6669 NDR_CHECK(ndr_pull_align(ndr
, 5));
6670 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6671 if (_ptr_server_dn
) {
6672 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6674 r
->server_dn
= NULL
;
6676 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
6677 if (_ptr_domain_dn
) {
6678 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
6680 r
->domain_dn
= NULL
;
6682 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
6683 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6685 if (ndr_flags
& NDR_BUFFERS
) {
6687 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6688 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6689 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6690 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6691 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
6692 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
));
6694 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
6695 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
6696 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6699 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6700 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6701 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6702 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6703 if (ndr_get_array_length(ndr
, &r
->domain_dn
) > ndr_get_array_size(ndr
, &r
->domain_dn
)) {
6704 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
));
6706 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t)));
6707 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t), CH_UTF16
));
6708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6711 return NDR_ERR_SUCCESS
;
6714 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6716 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6718 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6721 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6724 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6727 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6730 ndr_print_uint32(ndr
, "commit", r
->commit
);
6734 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6736 if (ndr_flags
& NDR_SCALARS
) {
6737 int level
= ndr_push_get_switch_value(ndr
, r
);
6738 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6739 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6742 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6746 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6749 if (ndr_flags
& NDR_BUFFERS
) {
6750 int level
= ndr_push_get_switch_value(ndr
, r
);
6753 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6757 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6760 return NDR_ERR_SUCCESS
;
6763 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6767 level
= ndr_pull_get_switch_value(ndr
, r
);
6768 if (ndr_flags
& NDR_SCALARS
) {
6769 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6770 if (_level
!= level
) {
6771 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6773 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6776 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6780 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6783 if (ndr_flags
& NDR_BUFFERS
) {
6786 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6790 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6793 return NDR_ERR_SUCCESS
;
6796 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6799 level
= ndr_print_get_switch_value(ndr
, r
);
6800 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6803 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6807 ndr_print_bad_level(ndr
, name
, level
);
6811 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6813 if (ndr_flags
& NDR_SCALARS
) {
6814 NDR_CHECK(ndr_push_align(ndr
, 4));
6815 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6816 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6818 if (ndr_flags
& NDR_BUFFERS
) {
6820 return NDR_ERR_SUCCESS
;
6823 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6825 if (ndr_flags
& NDR_SCALARS
) {
6826 NDR_CHECK(ndr_pull_align(ndr
, 4));
6827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6828 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6830 if (ndr_flags
& NDR_BUFFERS
) {
6832 return NDR_ERR_SUCCESS
;
6835 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6837 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6839 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6843 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6845 if (ndr_flags
& NDR_SCALARS
) {
6846 int level
= ndr_push_get_switch_value(ndr
, r
);
6847 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6848 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6851 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6855 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6858 if (ndr_flags
& NDR_BUFFERS
) {
6859 int level
= ndr_push_get_switch_value(ndr
, r
);
6865 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6868 return NDR_ERR_SUCCESS
;
6871 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6875 level
= ndr_pull_get_switch_value(ndr
, r
);
6876 if (ndr_flags
& NDR_SCALARS
) {
6877 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6878 if (_level
!= level
) {
6879 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6881 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6884 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6888 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6891 if (ndr_flags
& NDR_BUFFERS
) {
6897 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6900 return NDR_ERR_SUCCESS
;
6903 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6906 level
= ndr_print_get_switch_value(ndr
, r
);
6907 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6910 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6914 ndr_print_bad_level(ndr
, name
, level
);
6918 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6920 if (ndr_flags
& NDR_SCALARS
) {
6921 NDR_CHECK(ndr_push_align(ndr
, 5));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6923 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6924 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6926 if (ndr_flags
& NDR_BUFFERS
) {
6927 if (r
->domain_name
) {
6928 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6929 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6930 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6931 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6934 return NDR_ERR_SUCCESS
;
6937 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6939 uint32_t _ptr_domain_name
;
6940 TALLOC_CTX
*_mem_save_domain_name_0
;
6941 if (ndr_flags
& NDR_SCALARS
) {
6942 NDR_CHECK(ndr_pull_align(ndr
, 5));
6943 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6944 if (_ptr_domain_name
) {
6945 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6947 r
->domain_name
= NULL
;
6949 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6950 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6952 if (ndr_flags
& NDR_BUFFERS
) {
6953 if (r
->domain_name
) {
6954 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6955 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6956 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6957 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6958 if (ndr_get_array_length(ndr
, &r
->domain_name
) > ndr_get_array_size(ndr
, &r
->domain_name
)) {
6959 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
));
6961 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t)));
6962 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t), CH_UTF16
));
6963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6966 return NDR_ERR_SUCCESS
;
6969 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6971 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6973 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6975 if (r
->domain_name
) {
6976 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6979 ndr_print_int32(ndr
, "level", r
->level
);
6983 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6985 if (ndr_flags
& NDR_SCALARS
) {
6986 int level
= ndr_push_get_switch_value(ndr
, r
);
6987 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6988 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6991 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6995 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6998 if (ndr_flags
& NDR_BUFFERS
) {
6999 int level
= ndr_push_get_switch_value(ndr
, r
);
7002 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
7006 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7009 return NDR_ERR_SUCCESS
;
7012 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
7016 level
= ndr_pull_get_switch_value(ndr
, r
);
7017 if (ndr_flags
& NDR_SCALARS
) {
7018 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
7019 if (_level
!= level
) {
7020 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
7022 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
7025 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
7029 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7032 if (ndr_flags
& NDR_BUFFERS
) {
7035 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
7039 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
7042 return NDR_ERR_SUCCESS
;
7045 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
7048 level
= ndr_print_get_switch_value(ndr
, r
);
7049 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
7052 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
7056 ndr_print_bad_level(ndr
, name
, level
);
7060 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
7062 if (ndr_flags
& NDR_SCALARS
) {
7063 NDR_CHECK(ndr_push_align(ndr
, 5));
7064 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7065 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7066 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7067 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7068 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7069 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7070 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7071 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7073 if (ndr_flags
& NDR_BUFFERS
) {
7074 if (r
->netbios_name
) {
7075 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7076 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7077 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7078 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7081 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7082 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7083 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7084 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7087 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7088 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7089 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7090 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7092 if (r
->computer_dn
) {
7093 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7094 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7095 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7096 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7099 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7100 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7101 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7102 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7105 return NDR_ERR_SUCCESS
;
7108 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
7110 uint32_t _ptr_netbios_name
;
7111 TALLOC_CTX
*_mem_save_netbios_name_0
;
7112 uint32_t _ptr_dns_name
;
7113 TALLOC_CTX
*_mem_save_dns_name_0
;
7114 uint32_t _ptr_site_name
;
7115 TALLOC_CTX
*_mem_save_site_name_0
;
7116 uint32_t _ptr_computer_dn
;
7117 TALLOC_CTX
*_mem_save_computer_dn_0
;
7118 uint32_t _ptr_server_dn
;
7119 TALLOC_CTX
*_mem_save_server_dn_0
;
7120 if (ndr_flags
& NDR_SCALARS
) {
7121 NDR_CHECK(ndr_pull_align(ndr
, 5));
7122 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7123 if (_ptr_netbios_name
) {
7124 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7126 r
->netbios_name
= NULL
;
7128 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7129 if (_ptr_dns_name
) {
7130 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7134 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7135 if (_ptr_site_name
) {
7136 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7138 r
->site_name
= NULL
;
7140 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7141 if (_ptr_computer_dn
) {
7142 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7144 r
->computer_dn
= NULL
;
7146 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7147 if (_ptr_server_dn
) {
7148 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7150 r
->server_dn
= NULL
;
7152 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7153 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7154 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7156 if (ndr_flags
& NDR_BUFFERS
) {
7157 if (r
->netbios_name
) {
7158 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7159 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7160 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7161 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7162 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7163 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
));
7165 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7166 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7170 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7171 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7172 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7173 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7174 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7175 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
));
7177 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7178 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7179 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7182 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7183 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7184 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7185 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7186 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7187 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
));
7189 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7190 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7193 if (r
->computer_dn
) {
7194 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7195 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7196 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7197 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7198 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7199 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
));
7201 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7202 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7203 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7206 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7207 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7208 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7209 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7210 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7211 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
));
7213 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7214 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7215 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7218 return NDR_ERR_SUCCESS
;
7221 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7223 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7225 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7227 if (r
->netbios_name
) {
7228 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7231 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7234 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7237 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7240 ndr_print_string(ndr
, "site_name", r
->site_name
);
7243 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7245 if (r
->computer_dn
) {
7246 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7249 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7252 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7255 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7256 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7260 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7262 uint32_t cntr_array_1
;
7263 if (ndr_flags
& NDR_SCALARS
) {
7264 NDR_CHECK(ndr_push_align(ndr
, 5));
7265 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7266 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7267 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7269 if (ndr_flags
& NDR_BUFFERS
) {
7271 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7272 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7273 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7275 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7276 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7280 return NDR_ERR_SUCCESS
;
7283 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7285 uint32_t _ptr_array
;
7286 uint32_t cntr_array_1
;
7287 TALLOC_CTX
*_mem_save_array_0
;
7288 TALLOC_CTX
*_mem_save_array_1
;
7289 if (ndr_flags
& NDR_SCALARS
) {
7290 NDR_CHECK(ndr_pull_align(ndr
, 5));
7291 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7292 if (r
->count
> 10000) {
7293 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7295 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7297 NDR_PULL_ALLOC(ndr
, r
->array
);
7301 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7303 if (ndr_flags
& NDR_BUFFERS
) {
7305 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7306 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7307 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7308 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7309 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7310 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7311 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7312 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7314 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7315 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7321 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7324 return NDR_ERR_SUCCESS
;
7327 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7329 uint32_t cntr_array_1
;
7330 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7332 ndr_print_uint32(ndr
, "count", r
->count
);
7333 ndr_print_ptr(ndr
, "array", r
->array
);
7336 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7338 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7340 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7341 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7351 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7353 if (ndr_flags
& NDR_SCALARS
) {
7354 NDR_CHECK(ndr_push_align(ndr
, 5));
7355 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7356 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7357 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7358 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7359 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7360 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7361 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7362 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7363 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7364 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7365 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7366 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7367 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7368 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7369 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7371 if (ndr_flags
& NDR_BUFFERS
) {
7372 if (r
->netbios_name
) {
7373 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7374 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7375 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7376 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7379 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7380 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7381 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7382 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7385 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7386 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7387 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7388 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7391 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7392 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7393 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7394 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7396 if (r
->computer_dn
) {
7397 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7398 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7399 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7400 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7403 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7404 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7405 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7406 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7409 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7410 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7411 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7412 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7415 return NDR_ERR_SUCCESS
;
7418 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7420 uint32_t _ptr_netbios_name
;
7421 TALLOC_CTX
*_mem_save_netbios_name_0
;
7422 uint32_t _ptr_dns_name
;
7423 TALLOC_CTX
*_mem_save_dns_name_0
;
7424 uint32_t _ptr_site_name
;
7425 TALLOC_CTX
*_mem_save_site_name_0
;
7426 uint32_t _ptr_site_dn
;
7427 TALLOC_CTX
*_mem_save_site_dn_0
;
7428 uint32_t _ptr_computer_dn
;
7429 TALLOC_CTX
*_mem_save_computer_dn_0
;
7430 uint32_t _ptr_server_dn
;
7431 TALLOC_CTX
*_mem_save_server_dn_0
;
7432 uint32_t _ptr_ntds_dn
;
7433 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7434 if (ndr_flags
& NDR_SCALARS
) {
7435 NDR_CHECK(ndr_pull_align(ndr
, 5));
7436 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7437 if (_ptr_netbios_name
) {
7438 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7440 r
->netbios_name
= NULL
;
7442 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7443 if (_ptr_dns_name
) {
7444 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7448 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7449 if (_ptr_site_name
) {
7450 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7452 r
->site_name
= NULL
;
7454 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7456 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7460 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7461 if (_ptr_computer_dn
) {
7462 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7464 r
->computer_dn
= NULL
;
7466 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7467 if (_ptr_server_dn
) {
7468 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7470 r
->server_dn
= NULL
;
7472 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7474 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7478 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7479 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7480 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7481 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7482 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7483 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7484 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7485 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7487 if (ndr_flags
& NDR_BUFFERS
) {
7488 if (r
->netbios_name
) {
7489 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7490 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7491 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7492 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7493 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7494 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
));
7496 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7497 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7498 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7501 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7502 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7503 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7504 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7505 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7506 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
));
7508 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7509 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7510 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7513 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7514 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7515 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7516 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7517 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7518 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
));
7520 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7521 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7522 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7525 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7526 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7527 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7528 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7529 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7530 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
));
7532 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7533 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7534 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7536 if (r
->computer_dn
) {
7537 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7538 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7539 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7540 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7541 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7542 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
));
7544 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7545 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7546 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7549 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7550 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7551 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7552 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7553 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7554 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
));
7556 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7557 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7558 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7561 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7562 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7563 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7564 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7565 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7566 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
));
7568 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7569 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7570 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7573 return NDR_ERR_SUCCESS
;
7576 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7578 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7580 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7582 if (r
->netbios_name
) {
7583 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7586 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7589 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7592 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7595 ndr_print_string(ndr
, "site_name", r
->site_name
);
7598 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7601 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7604 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7606 if (r
->computer_dn
) {
7607 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7610 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7613 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7616 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7619 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7622 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7623 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7624 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7625 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7626 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7627 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7628 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7632 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7634 uint32_t cntr_array_1
;
7635 if (ndr_flags
& NDR_SCALARS
) {
7636 NDR_CHECK(ndr_push_align(ndr
, 5));
7637 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7638 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7639 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7641 if (ndr_flags
& NDR_BUFFERS
) {
7643 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7644 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7645 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7647 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7648 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7652 return NDR_ERR_SUCCESS
;
7655 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7657 uint32_t _ptr_array
;
7658 uint32_t cntr_array_1
;
7659 TALLOC_CTX
*_mem_save_array_0
;
7660 TALLOC_CTX
*_mem_save_array_1
;
7661 if (ndr_flags
& NDR_SCALARS
) {
7662 NDR_CHECK(ndr_pull_align(ndr
, 5));
7663 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7664 if (r
->count
> 10000) {
7665 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7667 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7669 NDR_PULL_ALLOC(ndr
, r
->array
);
7673 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7675 if (ndr_flags
& NDR_BUFFERS
) {
7677 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7678 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7679 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7680 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7681 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7682 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7683 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7684 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7686 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7687 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7689 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7693 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7696 return NDR_ERR_SUCCESS
;
7699 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7701 uint32_t cntr_array_1
;
7702 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7704 ndr_print_uint32(ndr
, "count", r
->count
);
7705 ndr_print_ptr(ndr
, "array", r
->array
);
7708 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7710 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7712 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7713 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7723 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7725 if (ndr_flags
& NDR_SCALARS
) {
7726 NDR_CHECK(ndr_push_align(ndr
, 5));
7727 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7728 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7729 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7730 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7731 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7732 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7733 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7734 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7735 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7736 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7737 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7738 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7739 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7740 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7741 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7742 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7744 if (ndr_flags
& NDR_BUFFERS
) {
7745 if (r
->netbios_name
) {
7746 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7747 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7748 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7749 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7752 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7753 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7754 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7755 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7758 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7759 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7760 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7761 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7764 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7765 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7766 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7767 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7769 if (r
->computer_dn
) {
7770 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7771 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7772 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7773 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7776 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7777 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7778 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7779 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7782 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7784 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7785 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7788 return NDR_ERR_SUCCESS
;
7791 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7793 uint32_t _ptr_netbios_name
;
7794 TALLOC_CTX
*_mem_save_netbios_name_0
;
7795 uint32_t _ptr_dns_name
;
7796 TALLOC_CTX
*_mem_save_dns_name_0
;
7797 uint32_t _ptr_site_name
;
7798 TALLOC_CTX
*_mem_save_site_name_0
;
7799 uint32_t _ptr_site_dn
;
7800 TALLOC_CTX
*_mem_save_site_dn_0
;
7801 uint32_t _ptr_computer_dn
;
7802 TALLOC_CTX
*_mem_save_computer_dn_0
;
7803 uint32_t _ptr_server_dn
;
7804 TALLOC_CTX
*_mem_save_server_dn_0
;
7805 uint32_t _ptr_ntds_dn
;
7806 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7807 if (ndr_flags
& NDR_SCALARS
) {
7808 NDR_CHECK(ndr_pull_align(ndr
, 5));
7809 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7810 if (_ptr_netbios_name
) {
7811 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7813 r
->netbios_name
= NULL
;
7815 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7816 if (_ptr_dns_name
) {
7817 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7821 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7822 if (_ptr_site_name
) {
7823 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7825 r
->site_name
= NULL
;
7827 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7829 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7833 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7834 if (_ptr_computer_dn
) {
7835 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7837 r
->computer_dn
= NULL
;
7839 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7840 if (_ptr_server_dn
) {
7841 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7843 r
->server_dn
= NULL
;
7845 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7847 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7851 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7852 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7853 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7854 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7855 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7856 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7857 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7858 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7859 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7861 if (ndr_flags
& NDR_BUFFERS
) {
7862 if (r
->netbios_name
) {
7863 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7864 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7865 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7866 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7867 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7868 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
));
7870 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7871 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7875 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7876 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7877 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7878 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7879 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7880 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
));
7882 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7883 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7887 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7888 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7889 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7890 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7891 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7892 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
));
7894 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7895 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7896 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7899 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7900 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7901 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7902 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7903 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7904 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
));
7906 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7907 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7908 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7910 if (r
->computer_dn
) {
7911 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7912 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7913 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7914 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7915 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7916 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
));
7918 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7919 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7920 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7923 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7924 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7925 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7926 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7927 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7928 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
));
7930 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7931 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7932 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7935 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7936 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7937 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7938 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7939 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7940 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
));
7942 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7943 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7944 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7947 return NDR_ERR_SUCCESS
;
7950 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7952 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7954 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7956 if (r
->netbios_name
) {
7957 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7960 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7963 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7966 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7969 ndr_print_string(ndr
, "site_name", r
->site_name
);
7972 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7975 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7978 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7980 if (r
->computer_dn
) {
7981 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7984 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7987 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7990 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7993 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7996 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7997 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7998 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7999 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
8000 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
8001 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
8002 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
8003 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
8007 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
8009 uint32_t cntr_array_1
;
8010 if (ndr_flags
& NDR_SCALARS
) {
8011 NDR_CHECK(ndr_push_align(ndr
, 5));
8012 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8013 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8014 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8016 if (ndr_flags
& NDR_BUFFERS
) {
8018 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8019 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8020 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8022 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8023 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8027 return NDR_ERR_SUCCESS
;
8030 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
8032 uint32_t _ptr_array
;
8033 uint32_t cntr_array_1
;
8034 TALLOC_CTX
*_mem_save_array_0
;
8035 TALLOC_CTX
*_mem_save_array_1
;
8036 if (ndr_flags
& NDR_SCALARS
) {
8037 NDR_CHECK(ndr_pull_align(ndr
, 5));
8038 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8039 if (r
->count
> 10000) {
8040 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8042 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8044 NDR_PULL_ALLOC(ndr
, r
->array
);
8048 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8050 if (ndr_flags
& NDR_BUFFERS
) {
8052 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8053 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8054 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8055 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8056 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8057 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8058 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8059 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8061 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8062 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8064 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8068 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8071 return NDR_ERR_SUCCESS
;
8074 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
8076 uint32_t cntr_array_1
;
8077 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
8079 ndr_print_uint32(ndr
, "count", r
->count
);
8080 ndr_print_ptr(ndr
, "array", r
->array
);
8083 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8085 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8087 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8088 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
8098 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
8100 if (ndr_flags
& NDR_SCALARS
) {
8101 NDR_CHECK(ndr_push_align(ndr
, 5));
8103 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8104 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8105 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
8106 ndr
->flags
= _flags_save_ipv4address
;
8108 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8109 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
8110 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
8111 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
8112 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
8113 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
8114 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8116 if (ndr_flags
& NDR_BUFFERS
) {
8117 if (r
->client_account
) {
8118 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
8119 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
8120 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
8121 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
8124 return NDR_ERR_SUCCESS
;
8127 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
8129 uint32_t _ptr_client_account
;
8130 TALLOC_CTX
*_mem_save_client_account_0
;
8131 if (ndr_flags
& NDR_SCALARS
) {
8132 NDR_CHECK(ndr_pull_align(ndr
, 5));
8134 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8135 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8136 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
8137 ndr
->flags
= _flags_save_ipv4address
;
8139 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8140 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
8141 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
8142 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
8143 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
8144 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
8145 if (_ptr_client_account
) {
8146 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8148 r
->client_account
= NULL
;
8150 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8152 if (ndr_flags
& NDR_BUFFERS
) {
8153 if (r
->client_account
) {
8154 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8155 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8156 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8157 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8158 if (ndr_get_array_length(ndr
, &r
->client_account
) > ndr_get_array_size(ndr
, &r
->client_account
)) {
8159 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
));
8161 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t)));
8162 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t), CH_UTF16
));
8163 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8166 return NDR_ERR_SUCCESS
;
8169 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8171 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8173 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8174 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8175 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8176 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8177 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8178 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8179 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8181 if (r
->client_account
) {
8182 ndr_print_string(ndr
, "client_account", r
->client_account
);
8188 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8190 uint32_t cntr_array_1
;
8191 if (ndr_flags
& NDR_SCALARS
) {
8192 NDR_CHECK(ndr_push_align(ndr
, 5));
8193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8194 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8195 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8197 if (ndr_flags
& NDR_BUFFERS
) {
8199 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8200 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8201 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8203 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8204 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8208 return NDR_ERR_SUCCESS
;
8211 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8213 uint32_t _ptr_array
;
8214 uint32_t cntr_array_1
;
8215 TALLOC_CTX
*_mem_save_array_0
;
8216 TALLOC_CTX
*_mem_save_array_1
;
8217 if (ndr_flags
& NDR_SCALARS
) {
8218 NDR_CHECK(ndr_pull_align(ndr
, 5));
8219 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8220 if (r
->count
> 10000) {
8221 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8223 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8225 NDR_PULL_ALLOC(ndr
, r
->array
);
8229 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8231 if (ndr_flags
& NDR_BUFFERS
) {
8233 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8234 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8235 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8236 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8237 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8238 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8239 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8240 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8242 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8243 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8245 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8246 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8249 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8252 return NDR_ERR_SUCCESS
;
8255 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8257 uint32_t cntr_array_1
;
8258 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8260 ndr_print_uint32(ndr
, "count", r
->count
);
8261 ndr_print_ptr(ndr
, "array", r
->array
);
8264 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8266 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8268 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8269 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8279 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8281 if (ndr_flags
& NDR_SCALARS
) {
8282 int level
= ndr_push_get_switch_value(ndr
, r
);
8283 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8284 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8286 case DRSUAPI_DC_INFO_CTR_1
: {
8287 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8290 case DRSUAPI_DC_INFO_CTR_2
: {
8291 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8294 case DRSUAPI_DC_INFO_CTR_3
: {
8295 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8298 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8299 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8303 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8306 if (ndr_flags
& NDR_BUFFERS
) {
8307 int level
= ndr_push_get_switch_value(ndr
, r
);
8309 case DRSUAPI_DC_INFO_CTR_1
:
8310 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8313 case DRSUAPI_DC_INFO_CTR_2
:
8314 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8317 case DRSUAPI_DC_INFO_CTR_3
:
8318 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8321 case DRSUAPI_DC_CONNECTION_CTR_01
:
8322 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8326 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8329 return NDR_ERR_SUCCESS
;
8332 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8336 level
= ndr_pull_get_switch_value(ndr
, r
);
8337 if (ndr_flags
& NDR_SCALARS
) {
8338 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8339 if (_level
!= level
) {
8340 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8342 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8344 case DRSUAPI_DC_INFO_CTR_1
: {
8345 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8348 case DRSUAPI_DC_INFO_CTR_2
: {
8349 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8352 case DRSUAPI_DC_INFO_CTR_3
: {
8353 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8356 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8357 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8361 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8364 if (ndr_flags
& NDR_BUFFERS
) {
8366 case DRSUAPI_DC_INFO_CTR_1
:
8367 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8370 case DRSUAPI_DC_INFO_CTR_2
:
8371 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8374 case DRSUAPI_DC_INFO_CTR_3
:
8375 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8378 case DRSUAPI_DC_CONNECTION_CTR_01
:
8379 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8383 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8386 return NDR_ERR_SUCCESS
;
8389 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8392 level
= ndr_print_get_switch_value(ndr
, r
);
8393 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8395 case DRSUAPI_DC_INFO_CTR_1
:
8396 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8399 case DRSUAPI_DC_INFO_CTR_2
:
8400 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8403 case DRSUAPI_DC_INFO_CTR_3
:
8404 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8407 case DRSUAPI_DC_CONNECTION_CTR_01
:
8408 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8412 ndr_print_bad_level(ndr
, name
, level
);
8416 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8418 if (ndr_flags
& NDR_SCALARS
) {
8419 NDR_CHECK(ndr_push_align(ndr
, 5));
8420 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8421 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8422 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8424 if (ndr_flags
& NDR_BUFFERS
) {
8425 if (r
->next_object
) {
8426 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8428 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8430 return NDR_ERR_SUCCESS
;
8433 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8435 uint32_t _ptr_next_object
;
8436 TALLOC_CTX
*_mem_save_next_object_0
;
8437 if (ndr_flags
& NDR_SCALARS
) {
8438 NDR_CHECK(ndr_pull_align(ndr
, 5));
8439 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8440 if (_ptr_next_object
) {
8441 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8443 r
->next_object
= NULL
;
8445 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8446 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8448 if (ndr_flags
& NDR_BUFFERS
) {
8449 if (r
->next_object
) {
8450 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8451 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8452 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8453 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8457 return NDR_ERR_SUCCESS
;
8460 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8462 if (ndr_flags
& NDR_SCALARS
) {
8463 NDR_CHECK(ndr_push_align(ndr
, 5));
8464 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8465 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8467 if (ndr_flags
& NDR_BUFFERS
) {
8468 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8470 return NDR_ERR_SUCCESS
;
8473 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8475 if (ndr_flags
& NDR_SCALARS
) {
8476 NDR_CHECK(ndr_pull_align(ndr
, 5));
8477 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8478 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8480 if (ndr_flags
& NDR_BUFFERS
) {
8481 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8483 return NDR_ERR_SUCCESS
;
8486 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8488 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8490 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8494 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8496 if (ndr_flags
& NDR_SCALARS
) {
8497 int level
= ndr_push_get_switch_value(ndr
, r
);
8498 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8499 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8502 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8506 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8509 if (ndr_flags
& NDR_BUFFERS
) {
8510 int level
= ndr_push_get_switch_value(ndr
, r
);
8513 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8517 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8520 return NDR_ERR_SUCCESS
;
8523 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8527 level
= ndr_pull_get_switch_value(ndr
, r
);
8528 if (ndr_flags
& NDR_SCALARS
) {
8529 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8530 if (_level
!= level
) {
8531 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8533 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8536 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8540 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8543 if (ndr_flags
& NDR_BUFFERS
) {
8546 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8550 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8553 return NDR_ERR_SUCCESS
;
8556 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8559 level
= ndr_print_get_switch_value(ndr
, r
);
8560 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8563 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8567 ndr_print_bad_level(ndr
, name
, level
);
8571 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8573 if (ndr_flags
& NDR_SCALARS
) {
8574 NDR_CHECK(ndr_push_align(ndr
, 4));
8575 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8576 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8577 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8578 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
8579 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8581 if (ndr_flags
& NDR_BUFFERS
) {
8583 return NDR_ERR_SUCCESS
;
8586 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8588 if (ndr_flags
& NDR_SCALARS
) {
8589 NDR_CHECK(ndr_pull_align(ndr
, 4));
8590 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8591 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8592 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8593 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
8594 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8596 if (ndr_flags
& NDR_BUFFERS
) {
8598 return NDR_ERR_SUCCESS
;
8601 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8603 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8605 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8606 ndr_print_WERROR(ndr
, "status", r
->status
);
8607 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8608 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
8612 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8614 if (ndr_flags
& NDR_SCALARS
) {
8615 NDR_CHECK(ndr_push_align(ndr
, 5));
8616 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
8617 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
8618 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8620 if (ndr_flags
& NDR_BUFFERS
) {
8622 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
8623 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
8626 return NDR_ERR_SUCCESS
;
8629 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8632 TALLOC_CTX
*_mem_save_data_0
;
8633 if (ndr_flags
& NDR_SCALARS
) {
8634 NDR_CHECK(ndr_pull_align(ndr
, 5));
8635 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
8636 if (r
->size
> 10485760) {
8637 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8639 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
8641 NDR_PULL_ALLOC(ndr
, r
->data
);
8645 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8647 if (ndr_flags
& NDR_BUFFERS
) {
8649 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8650 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
8651 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
8652 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
8653 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
8654 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
8657 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
8660 return NDR_ERR_SUCCESS
;
8663 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8665 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
8667 ndr_print_uint32(ndr
, "size", r
->size
);
8668 ndr_print_ptr(ndr
, "data", r
->data
);
8671 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
8677 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8679 if (ndr_flags
& NDR_SCALARS
) {
8680 NDR_CHECK(ndr_push_align(ndr
, 5));
8681 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8682 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8683 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8684 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8685 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8687 if (ndr_flags
& NDR_BUFFERS
) {
8688 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8690 return NDR_ERR_SUCCESS
;
8693 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
8695 if (ndr_flags
& NDR_SCALARS
) {
8696 NDR_CHECK(ndr_pull_align(ndr
, 5));
8697 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8698 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8699 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8700 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8701 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8703 if (ndr_flags
& NDR_BUFFERS
) {
8704 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8706 return NDR_ERR_SUCCESS
;
8709 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8711 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
8713 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8714 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8715 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8716 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
8720 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8722 if (ndr_flags
& NDR_SCALARS
) {
8723 NDR_CHECK(ndr_push_align(ndr
, 5));
8724 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8726 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8728 if (ndr_flags
& NDR_BUFFERS
) {
8730 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8732 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8734 return NDR_ERR_SUCCESS
;
8737 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
8740 TALLOC_CTX
*_mem_save_next_0
;
8741 if (ndr_flags
& NDR_SCALARS
) {
8742 NDR_CHECK(ndr_pull_align(ndr
, 5));
8743 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8745 NDR_PULL_ALLOC(ndr
, r
->next
);
8749 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8750 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8752 if (ndr_flags
& NDR_BUFFERS
) {
8754 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8755 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8756 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8757 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8759 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8761 return NDR_ERR_SUCCESS
;
8764 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8766 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
8768 ndr_print_ptr(ndr
, "next", r
->next
);
8771 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
8774 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
8778 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8780 if (ndr_flags
& NDR_SCALARS
) {
8781 NDR_CHECK(ndr_push_align(ndr
, 5));
8782 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8783 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8784 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8785 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8787 if (ndr_flags
& NDR_BUFFERS
) {
8789 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8791 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8793 return NDR_ERR_SUCCESS
;
8796 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
8799 TALLOC_CTX
*_mem_save_id_0
;
8800 if (ndr_flags
& NDR_SCALARS
) {
8801 NDR_CHECK(ndr_pull_align(ndr
, 5));
8802 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8804 NDR_PULL_ALLOC(ndr
, r
->id
);
8808 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8809 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8810 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8812 if (ndr_flags
& NDR_BUFFERS
) {
8814 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8815 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8819 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8821 return NDR_ERR_SUCCESS
;
8824 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8826 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
8828 ndr_print_ptr(ndr
, "id", r
->id
);
8831 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8834 ndr_print_WERROR(ndr
, "status", r
->status
);
8835 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
8839 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8841 if (ndr_flags
& NDR_SCALARS
) {
8842 int level
= ndr_push_get_switch_value(ndr
, r
);
8843 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8844 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8847 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8851 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8855 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8859 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8863 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8867 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8870 if (ndr_flags
& NDR_BUFFERS
) {
8871 int level
= ndr_push_get_switch_value(ndr
, r
);
8874 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8890 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8893 return NDR_ERR_SUCCESS
;
8896 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
8900 level
= ndr_pull_get_switch_value(ndr
, r
);
8901 if (ndr_flags
& NDR_SCALARS
) {
8902 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8903 if (_level
!= level
) {
8904 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8906 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8909 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8913 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8917 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8921 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8925 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8929 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8932 if (ndr_flags
& NDR_BUFFERS
) {
8935 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8951 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8954 return NDR_ERR_SUCCESS
;
8957 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8960 level
= ndr_print_get_switch_value(ndr
, r
);
8961 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
8964 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
8968 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8972 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8976 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8980 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8984 ndr_print_bad_level(ndr
, name
, level
);
8988 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
8990 if (ndr_flags
& NDR_SCALARS
) {
8991 NDR_CHECK(ndr_push_align(ndr
, 5));
8992 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8994 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
8995 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8997 if (ndr_flags
& NDR_BUFFERS
) {
8999 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
9000 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9003 return NDR_ERR_SUCCESS
;
9006 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
9009 TALLOC_CTX
*_mem_save_info_0
;
9010 if (ndr_flags
& NDR_SCALARS
) {
9011 NDR_CHECK(ndr_pull_align(ndr
, 5));
9012 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
9013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9014 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9016 NDR_PULL_ALLOC(ndr
, r
->info
);
9020 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9022 if (ndr_flags
& NDR_BUFFERS
) {
9024 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9025 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
9026 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
9027 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
9031 return NDR_ERR_SUCCESS
;
9034 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
9036 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
9038 ndr_print_WERROR(ndr
, "status", r
->status
);
9039 ndr_print_uint32(ndr
, "level", r
->level
);
9040 ndr_print_ptr(ndr
, "info", r
->info
);
9043 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
9044 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
9050 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
9052 if (ndr_flags
& NDR_SCALARS
) {
9053 int level
= ndr_push_get_switch_value(ndr
, r
);
9054 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9055 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9058 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
9062 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9065 if (ndr_flags
& NDR_BUFFERS
) {
9066 int level
= ndr_push_get_switch_value(ndr
, r
);
9069 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
9073 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9076 return NDR_ERR_SUCCESS
;
9079 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
9083 level
= ndr_pull_get_switch_value(ndr
, r
);
9084 if (ndr_flags
& NDR_SCALARS
) {
9085 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9086 if (_level
!= level
) {
9087 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9089 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9092 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
9096 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9099 if (ndr_flags
& NDR_BUFFERS
) {
9102 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
9106 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9109 return NDR_ERR_SUCCESS
;
9112 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
9115 level
= ndr_print_get_switch_value(ndr
, r
);
9116 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
9119 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
9123 ndr_print_bad_level(ndr
, name
, level
);
9127 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9129 if (ndr_flags
& NDR_SCALARS
) {
9130 NDR_CHECK(ndr_push_align(ndr
, 4));
9131 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9132 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9133 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9135 if (ndr_flags
& NDR_BUFFERS
) {
9136 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9138 return NDR_ERR_SUCCESS
;
9141 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9143 if (ndr_flags
& NDR_SCALARS
) {
9144 NDR_CHECK(ndr_pull_align(ndr
, 4));
9145 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9146 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9147 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9149 if (ndr_flags
& NDR_BUFFERS
) {
9150 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9152 return NDR_ERR_SUCCESS
;
9155 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9157 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9159 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9160 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9164 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9166 uint32_t cntr_objects_1
;
9167 if (ndr_flags
& NDR_SCALARS
) {
9168 NDR_CHECK(ndr_push_align(ndr
, 5));
9169 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9170 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9171 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9172 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9173 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9174 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9176 if (ndr_flags
& NDR_BUFFERS
) {
9178 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9181 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9182 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9183 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9185 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9186 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9190 return NDR_ERR_SUCCESS
;
9193 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9196 TALLOC_CTX
*_mem_save_id_0
;
9197 uint32_t _ptr_objects
;
9198 uint32_t cntr_objects_1
;
9199 TALLOC_CTX
*_mem_save_objects_0
;
9200 TALLOC_CTX
*_mem_save_objects_1
;
9201 if (ndr_flags
& NDR_SCALARS
) {
9202 NDR_CHECK(ndr_pull_align(ndr
, 5));
9203 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9205 NDR_PULL_ALLOC(ndr
, r
->id
);
9209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9210 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9211 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9212 if (r
->count
> 10000) {
9213 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9217 NDR_PULL_ALLOC(ndr
, r
->objects
);
9221 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9223 if (ndr_flags
& NDR_BUFFERS
) {
9225 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9226 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9227 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9228 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9231 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9232 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9233 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9234 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9235 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9236 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9237 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9238 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9240 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9241 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9243 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9244 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9247 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9250 return NDR_ERR_SUCCESS
;
9253 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9255 uint32_t cntr_objects_1
;
9256 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9258 ndr_print_ptr(ndr
, "id", r
->id
);
9261 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9264 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9265 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
9266 ndr_print_uint32(ndr
, "count", r
->count
);
9267 ndr_print_ptr(ndr
, "objects", r
->objects
);
9270 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9272 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9274 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9275 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9285 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9287 uint32_t cntr_objects_1
;
9288 if (ndr_flags
& NDR_SCALARS
) {
9289 NDR_CHECK(ndr_push_align(ndr
, 5));
9290 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9291 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9292 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
9293 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9294 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9295 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9297 if (ndr_flags
& NDR_BUFFERS
) {
9299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9302 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
9303 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9306 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9307 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9308 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9310 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9311 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9315 return NDR_ERR_SUCCESS
;
9318 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9321 TALLOC_CTX
*_mem_save_id_0
;
9322 uint32_t _ptr_error
;
9323 TALLOC_CTX
*_mem_save_error_0
;
9324 uint32_t _ptr_objects
;
9325 uint32_t cntr_objects_1
;
9326 TALLOC_CTX
*_mem_save_objects_0
;
9327 TALLOC_CTX
*_mem_save_objects_1
;
9328 if (ndr_flags
& NDR_SCALARS
) {
9329 NDR_CHECK(ndr_pull_align(ndr
, 5));
9330 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9332 NDR_PULL_ALLOC(ndr
, r
->id
);
9336 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9337 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
9339 NDR_PULL_ALLOC(ndr
, r
->error
);
9343 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9344 if (r
->count
> 10000) {
9345 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9347 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9349 NDR_PULL_ALLOC(ndr
, r
->objects
);
9353 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9355 if (ndr_flags
& NDR_BUFFERS
) {
9357 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9358 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9360 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9363 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9364 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
9365 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
9366 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9367 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
9370 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9371 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9372 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9373 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9374 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9375 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9376 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9377 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9379 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9382 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9383 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9386 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9389 return NDR_ERR_SUCCESS
;
9392 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9394 uint32_t cntr_objects_1
;
9395 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9397 ndr_print_ptr(ndr
, "id", r
->id
);
9400 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9403 ndr_print_uint32(ndr
, "level", r
->level
);
9404 ndr_print_ptr(ndr
, "error", r
->error
);
9407 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
9408 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
9411 ndr_print_uint32(ndr
, "count", r
->count
);
9412 ndr_print_ptr(ndr
, "objects", r
->objects
);
9415 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9417 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9419 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9420 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9430 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9432 if (ndr_flags
& NDR_SCALARS
) {
9433 int level
= ndr_push_get_switch_value(ndr
, r
);
9434 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
9435 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9438 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9442 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9446 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9449 if (ndr_flags
& NDR_BUFFERS
) {
9450 int level
= ndr_push_get_switch_value(ndr
, r
);
9453 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9457 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9461 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9464 return NDR_ERR_SUCCESS
;
9467 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9471 level
= ndr_pull_get_switch_value(ndr
, r
);
9472 if (ndr_flags
& NDR_SCALARS
) {
9473 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
9474 if (_level
!= level
) {
9475 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9477 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9480 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9484 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9488 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9491 if (ndr_flags
& NDR_BUFFERS
) {
9494 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9498 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9502 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9505 return NDR_ERR_SUCCESS
;
9508 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
9511 level
= ndr_print_get_switch_value(ndr
, r
);
9512 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
9515 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
9519 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
9523 ndr_print_bad_level(ndr
, name
, level
);
9527 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
9529 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
9530 return NDR_ERR_SUCCESS
;
9533 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
9536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
9538 return NDR_ERR_SUCCESS
;
9541 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
9543 ndr_print_uint32(ndr
, name
, r
);
9545 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
9546 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
9550 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
9552 if (ndr_flags
& NDR_SCALARS
) {
9553 NDR_CHECK(ndr_push_align(ndr
, 4));
9554 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
9555 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
9556 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9558 if (ndr_flags
& NDR_BUFFERS
) {
9560 return NDR_ERR_SUCCESS
;
9563 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
9565 if (ndr_flags
& NDR_SCALARS
) {
9566 NDR_CHECK(ndr_pull_align(ndr
, 4));
9567 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
9568 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
9569 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9571 if (ndr_flags
& NDR_BUFFERS
) {
9573 return NDR_ERR_SUCCESS
;
9576 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
9578 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
9580 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
9581 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
9585 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
9587 if (ndr_flags
& NDR_SCALARS
) {
9588 int level
= ndr_push_get_switch_value(ndr
, r
);
9589 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9590 NDR_CHECK(ndr_push_union_align(ndr
, 4));
9593 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9597 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9600 if (ndr_flags
& NDR_BUFFERS
) {
9601 int level
= ndr_push_get_switch_value(ndr
, r
);
9607 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9610 return NDR_ERR_SUCCESS
;
9613 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
9617 level
= ndr_pull_get_switch_value(ndr
, r
);
9618 if (ndr_flags
& NDR_SCALARS
) {
9619 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9620 if (_level
!= level
) {
9621 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9623 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
9626 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9630 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9633 if (ndr_flags
& NDR_BUFFERS
) {
9639 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9642 return NDR_ERR_SUCCESS
;
9645 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
9648 level
= ndr_print_get_switch_value(ndr
, r
);
9649 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
9652 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
9656 ndr_print_bad_level(ndr
, name
, level
);
9660 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
9662 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9663 return NDR_ERR_SUCCESS
;
9666 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
9669 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9671 return NDR_ERR_SUCCESS
;
9674 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
9676 const char *val
= NULL
;
9679 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9680 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9682 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9685 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
9687 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9688 return NDR_ERR_SUCCESS
;
9691 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
9694 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9696 return NDR_ERR_SUCCESS
;
9699 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
9701 const char *val
= NULL
;
9704 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9705 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9706 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9707 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9708 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9709 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9710 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9711 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9712 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9713 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9714 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9715 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9716 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: val
= "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9717 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9718 case DRSUAPI_DS_REPLICA_INFO_06
: val
= "DRSUAPI_DS_REPLICA_INFO_06"; break;
9720 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9723 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9725 if (ndr_flags
& NDR_SCALARS
) {
9726 NDR_CHECK(ndr_push_align(ndr
, 5));
9727 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9728 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9729 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9730 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9732 if (ndr_flags
& NDR_BUFFERS
) {
9734 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9735 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9736 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9737 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9740 return NDR_ERR_SUCCESS
;
9743 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9745 uint32_t _ptr_object_dn
;
9746 TALLOC_CTX
*_mem_save_object_dn_0
;
9747 if (ndr_flags
& NDR_SCALARS
) {
9748 NDR_CHECK(ndr_pull_align(ndr
, 5));
9749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9750 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9751 if (_ptr_object_dn
) {
9752 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9754 r
->object_dn
= NULL
;
9756 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9757 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9759 if (ndr_flags
& NDR_BUFFERS
) {
9761 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9762 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9763 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9764 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9765 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9766 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
));
9768 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9769 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9770 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9773 return NDR_ERR_SUCCESS
;
9776 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9778 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
9780 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9781 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9784 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9787 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
9791 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9793 if (ndr_flags
& NDR_SCALARS
) {
9794 NDR_CHECK(ndr_push_align(ndr
, 5));
9795 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9796 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9797 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9798 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9799 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string1
));
9800 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string2
));
9801 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
9802 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9804 if (ndr_flags
& NDR_BUFFERS
) {
9806 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9807 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9808 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9809 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9812 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9813 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9814 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9815 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string1
, ndr_charset_length(r
->string1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9818 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9819 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9820 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9821 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string2
, ndr_charset_length(r
->string2
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9824 return NDR_ERR_SUCCESS
;
9827 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9829 uint32_t _ptr_object_dn
;
9830 TALLOC_CTX
*_mem_save_object_dn_0
;
9831 uint32_t _ptr_string1
;
9832 TALLOC_CTX
*_mem_save_string1_0
;
9833 uint32_t _ptr_string2
;
9834 TALLOC_CTX
*_mem_save_string2_0
;
9835 if (ndr_flags
& NDR_SCALARS
) {
9836 NDR_CHECK(ndr_pull_align(ndr
, 5));
9837 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9838 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9839 if (_ptr_object_dn
) {
9840 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9842 r
->object_dn
= NULL
;
9844 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9845 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9846 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string1
));
9848 NDR_PULL_ALLOC(ndr
, r
->string1
);
9852 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string2
));
9854 NDR_PULL_ALLOC(ndr
, r
->string2
);
9858 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
9859 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9861 if (ndr_flags
& NDR_BUFFERS
) {
9863 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9864 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9865 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9866 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9867 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9868 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
));
9870 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9871 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9875 _mem_save_string1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9876 NDR_PULL_SET_MEM_CTX(ndr
, r
->string1
, 0);
9877 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string1
));
9878 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string1
));
9879 if (ndr_get_array_length(ndr
, &r
->string1
) > ndr_get_array_size(ndr
, &r
->string1
)) {
9880 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
));
9882 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->string1
), sizeof(uint16_t)));
9883 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string1
, ndr_get_array_length(ndr
, &r
->string1
), sizeof(uint16_t), CH_UTF16
));
9884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string1_0
, 0);
9887 _mem_save_string2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9888 NDR_PULL_SET_MEM_CTX(ndr
, r
->string2
, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string2
));
9890 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string2
));
9891 if (ndr_get_array_length(ndr
, &r
->string2
) > ndr_get_array_size(ndr
, &r
->string2
)) {
9892 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
));
9894 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->string2
), sizeof(uint16_t)));
9895 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string2
, ndr_get_array_length(ndr
, &r
->string2
), sizeof(uint16_t), CH_UTF16
));
9896 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string2_0
, 0);
9899 return NDR_ERR_SUCCESS
;
9902 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9904 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
9906 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9907 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9910 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9913 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
9914 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9915 ndr_print_ptr(ndr
, "string1", r
->string1
);
9918 ndr_print_string(ndr
, "string1", r
->string1
);
9921 ndr_print_ptr(ndr
, "string2", r
->string2
);
9924 ndr_print_string(ndr
, "string2", r
->string2
);
9927 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
9931 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9933 if (ndr_flags
& NDR_SCALARS
) {
9934 int level
= ndr_push_get_switch_value(ndr
, r
);
9935 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
9936 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9938 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9939 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9942 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9943 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9947 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9950 if (ndr_flags
& NDR_BUFFERS
) {
9951 int level
= ndr_push_get_switch_value(ndr
, r
);
9953 case DRSUAPI_DS_REPLICA_GET_INFO
:
9954 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9957 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9958 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9962 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9965 return NDR_ERR_SUCCESS
;
9968 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
9972 level
= ndr_pull_get_switch_value(ndr
, r
);
9973 if (ndr_flags
& NDR_SCALARS
) {
9974 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9975 if (_level
!= level
) {
9976 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9978 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9980 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9981 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9984 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9985 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9989 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9992 if (ndr_flags
& NDR_BUFFERS
) {
9994 case DRSUAPI_DS_REPLICA_GET_INFO
:
9995 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9998 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
10003 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10006 return NDR_ERR_SUCCESS
;
10009 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
10012 level
= ndr_print_get_switch_value(ndr
, r
);
10013 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
10015 case DRSUAPI_DS_REPLICA_GET_INFO
:
10016 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
10019 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10020 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
10024 ndr_print_bad_level(ndr
, name
, level
);
10028 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
10030 if (ndr_flags
& NDR_SCALARS
) {
10031 NDR_CHECK(ndr_push_align(ndr
, 8));
10032 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
10033 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
10034 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
10035 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
10036 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
10037 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10038 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10039 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10040 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10041 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10042 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
10043 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
10044 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
10045 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
10046 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
10047 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
10048 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10050 if (ndr_flags
& NDR_BUFFERS
) {
10051 if (r
->naming_context_dn
) {
10052 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10053 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10055 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
));
10057 if (r
->source_dsa_obj_dn
) {
10058 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10059 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10060 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10061 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
));
10063 if (r
->source_dsa_address
) {
10064 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10065 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10066 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10067 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
));
10069 if (r
->transport_obj_dn
) {
10070 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10071 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10072 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10073 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
));
10076 return NDR_ERR_SUCCESS
;
10079 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
10081 uint32_t _ptr_naming_context_dn
;
10082 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
10083 uint32_t _ptr_source_dsa_obj_dn
;
10084 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
10085 uint32_t _ptr_source_dsa_address
;
10086 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
10087 uint32_t _ptr_transport_obj_dn
;
10088 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
10089 if (ndr_flags
& NDR_SCALARS
) {
10090 NDR_CHECK(ndr_pull_align(ndr
, 8));
10091 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
10092 if (_ptr_naming_context_dn
) {
10093 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
10095 r
->naming_context_dn
= NULL
;
10097 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
10098 if (_ptr_source_dsa_obj_dn
) {
10099 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
10101 r
->source_dsa_obj_dn
= NULL
;
10103 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
10104 if (_ptr_source_dsa_address
) {
10105 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
10107 r
->source_dsa_address
= NULL
;
10109 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
10110 if (_ptr_transport_obj_dn
) {
10111 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
10113 r
->transport_obj_dn
= NULL
;
10115 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
10116 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10117 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10118 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10119 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10120 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10121 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
10122 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
10123 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
10124 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
10125 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
10126 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
10127 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10129 if (ndr_flags
& NDR_BUFFERS
) {
10130 if (r
->naming_context_dn
) {
10131 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10132 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
10133 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
10134 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
10135 if (ndr_get_array_length(ndr
, &r
->naming_context_dn
) > ndr_get_array_size(ndr
, &r
->naming_context_dn
)) {
10136 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
));
10138 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t)));
10139 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
));
10140 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
10142 if (r
->source_dsa_obj_dn
) {
10143 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10144 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10145 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10146 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10147 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
10148 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
));
10150 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
10151 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
));
10152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10154 if (r
->source_dsa_address
) {
10155 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10156 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10157 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10158 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10159 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
10160 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
));
10162 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
10163 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
));
10164 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10166 if (r
->transport_obj_dn
) {
10167 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10168 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10169 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10170 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10171 if (ndr_get_array_length(ndr
, &r
->transport_obj_dn
) > ndr_get_array_size(ndr
, &r
->transport_obj_dn
)) {
10172 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
));
10174 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t)));
10175 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
));
10176 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10179 return NDR_ERR_SUCCESS
;
10182 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10184 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10186 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10188 if (r
->naming_context_dn
) {
10189 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10192 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10194 if (r
->source_dsa_obj_dn
) {
10195 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10198 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10200 if (r
->source_dsa_address
) {
10201 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10204 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10206 if (r
->transport_obj_dn
) {
10207 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10210 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
10211 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10212 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10213 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10214 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10215 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10216 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10217 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10218 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10219 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10220 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10221 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10225 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10227 uint32_t cntr_array_0
;
10228 if (ndr_flags
& NDR_SCALARS
) {
10229 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10230 NDR_CHECK(ndr_push_align(ndr
, 8));
10231 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10233 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10234 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10236 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10238 if (ndr_flags
& NDR_BUFFERS
) {
10239 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10240 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10243 return NDR_ERR_SUCCESS
;
10246 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10248 uint32_t cntr_array_0
;
10249 TALLOC_CTX
*_mem_save_array_0
;
10250 if (ndr_flags
& NDR_SCALARS
) {
10251 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10252 NDR_CHECK(ndr_pull_align(ndr
, 8));
10253 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10254 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10255 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10256 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10257 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10258 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10259 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10261 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10263 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10265 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10267 if (ndr_flags
& NDR_BUFFERS
) {
10268 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10269 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10270 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10273 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10275 return NDR_ERR_SUCCESS
;
10278 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10280 uint32_t cntr_array_0
;
10281 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10283 ndr_print_uint32(ndr
, "count", r
->count
);
10284 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10285 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10287 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10289 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10290 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10298 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10300 uint32_t cntr_array_0
;
10301 if (ndr_flags
& NDR_SCALARS
) {
10302 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10303 NDR_CHECK(ndr_push_align(ndr
, 8));
10304 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10305 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10306 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10307 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10309 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10311 if (ndr_flags
& NDR_BUFFERS
) {
10313 return NDR_ERR_SUCCESS
;
10316 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10318 uint32_t cntr_array_0
;
10319 TALLOC_CTX
*_mem_save_array_0
;
10320 if (ndr_flags
& NDR_SCALARS
) {
10321 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10322 NDR_CHECK(ndr_pull_align(ndr
, 8));
10323 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10324 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10325 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10326 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10327 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10328 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10329 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10331 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10333 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10335 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10337 if (ndr_flags
& NDR_BUFFERS
) {
10339 return NDR_ERR_SUCCESS
;
10342 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10344 uint32_t cntr_array_0
;
10345 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10347 ndr_print_uint32(ndr
, "count", r
->count
);
10348 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10349 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10351 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10353 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10354 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10362 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10364 if (ndr_flags
& NDR_SCALARS
) {
10365 NDR_CHECK(ndr_push_align(ndr
, 8));
10366 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10367 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10368 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10369 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10370 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10371 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10372 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10374 if (ndr_flags
& NDR_BUFFERS
) {
10375 if (r
->attribute_name
) {
10376 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10377 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10378 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10379 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10382 return NDR_ERR_SUCCESS
;
10385 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10387 uint32_t _ptr_attribute_name
;
10388 TALLOC_CTX
*_mem_save_attribute_name_0
;
10389 if (ndr_flags
& NDR_SCALARS
) {
10390 NDR_CHECK(ndr_pull_align(ndr
, 8));
10391 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10392 if (_ptr_attribute_name
) {
10393 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10395 r
->attribute_name
= NULL
;
10397 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10398 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10399 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10400 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10401 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10402 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10404 if (ndr_flags
& NDR_BUFFERS
) {
10405 if (r
->attribute_name
) {
10406 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10407 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10408 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10409 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10410 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10411 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
));
10413 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10414 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10415 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10418 return NDR_ERR_SUCCESS
;
10421 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10423 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10425 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10427 if (r
->attribute_name
) {
10428 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10431 ndr_print_uint32(ndr
, "version", r
->version
);
10432 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10433 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10434 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10435 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10439 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10441 uint32_t cntr_array_0
;
10442 if (ndr_flags
& NDR_SCALARS
) {
10443 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10444 NDR_CHECK(ndr_push_align(ndr
, 8));
10445 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10446 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10447 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10448 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10450 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10452 if (ndr_flags
& NDR_BUFFERS
) {
10453 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10454 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10457 return NDR_ERR_SUCCESS
;
10460 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10462 uint32_t cntr_array_0
;
10463 TALLOC_CTX
*_mem_save_array_0
;
10464 if (ndr_flags
& NDR_SCALARS
) {
10465 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10466 NDR_CHECK(ndr_pull_align(ndr
, 8));
10467 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10468 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10469 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10470 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10471 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10472 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10473 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10475 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10477 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10479 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10481 if (ndr_flags
& NDR_BUFFERS
) {
10482 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10483 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10484 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10485 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10487 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10489 return NDR_ERR_SUCCESS
;
10492 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10494 uint32_t cntr_array_0
;
10495 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
10497 ndr_print_uint32(ndr
, "count", r
->count
);
10498 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10499 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10501 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10503 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10504 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10512 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10514 if (ndr_flags
& NDR_SCALARS
) {
10515 NDR_CHECK(ndr_push_align(ndr
, 5));
10516 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
10517 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10518 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
10519 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
10520 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
10521 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10523 if (ndr_flags
& NDR_BUFFERS
) {
10524 if (r
->dsa_obj_dn
) {
10525 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10526 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10527 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10528 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
));
10531 return NDR_ERR_SUCCESS
;
10534 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
10536 uint32_t _ptr_dsa_obj_dn
;
10537 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
10538 if (ndr_flags
& NDR_SCALARS
) {
10539 NDR_CHECK(ndr_pull_align(ndr
, 5));
10540 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
10541 if (_ptr_dsa_obj_dn
) {
10542 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
10544 r
->dsa_obj_dn
= NULL
;
10546 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10547 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
10548 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
10549 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
10550 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10552 if (ndr_flags
& NDR_BUFFERS
) {
10553 if (r
->dsa_obj_dn
) {
10554 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10555 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
10556 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
10557 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
10558 if (ndr_get_array_length(ndr
, &r
->dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->dsa_obj_dn
)) {
10559 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
));
10561 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t)));
10562 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
));
10563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
10566 return NDR_ERR_SUCCESS
;
10569 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10571 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
10573 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10575 if (r
->dsa_obj_dn
) {
10576 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10579 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
10580 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
10581 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
10582 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
10586 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10588 uint32_t cntr_array_0
;
10589 if (ndr_flags
& NDR_SCALARS
) {
10590 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10591 NDR_CHECK(ndr_push_align(ndr
, 5));
10592 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10593 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10594 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10595 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10597 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10599 if (ndr_flags
& NDR_BUFFERS
) {
10600 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10601 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10604 return NDR_ERR_SUCCESS
;
10607 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10609 uint32_t cntr_array_0
;
10610 TALLOC_CTX
*_mem_save_array_0
;
10611 if (ndr_flags
& NDR_SCALARS
) {
10612 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10613 NDR_CHECK(ndr_pull_align(ndr
, 5));
10614 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10615 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10616 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10617 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10618 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10619 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10620 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10622 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10624 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10626 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10628 if (ndr_flags
& NDR_BUFFERS
) {
10629 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10630 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10631 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10632 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10634 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10636 return NDR_ERR_SUCCESS
;
10639 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10641 uint32_t cntr_array_0
;
10642 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
10644 ndr_print_uint32(ndr
, "count", r
->count
);
10645 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10646 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10648 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10650 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10651 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
10659 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
10661 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
10662 return NDR_ERR_SUCCESS
;
10665 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
10668 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
10670 return NDR_ERR_SUCCESS
;
10673 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
10675 const char *val
= NULL
;
10678 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10679 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10680 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10681 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10682 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10684 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10687 static enum ndr_err_code
ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRplicaOpOptions
*r
)
10689 if (ndr_flags
& NDR_SCALARS
) {
10690 int level
= ndr_push_get_switch_value(ndr
, r
);
10691 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, level
));
10692 NDR_CHECK(ndr_push_union_align(ndr
, 4));
10694 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
10695 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, r
->sync
));
10698 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
10699 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, r
->add
));
10702 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
10703 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, r
->op_delete
));
10706 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
10707 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, r
->modify
));
10710 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
10711 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, r
->update_refs
));
10715 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
10720 if (ndr_flags
& NDR_BUFFERS
) {
10721 int level
= ndr_push_get_switch_value(ndr
, r
);
10723 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10726 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10729 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10732 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10735 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10743 return NDR_ERR_SUCCESS
;
10746 static enum ndr_err_code
ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRplicaOpOptions
*r
)
10750 level
= ndr_pull_get_switch_value(ndr
, r
);
10751 if (ndr_flags
& NDR_SCALARS
) {
10752 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
10753 if (_level
!= level
) {
10754 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
10756 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
10758 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: {
10759 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr
, NDR_SCALARS
, &r
->sync
));
10762 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: {
10763 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr
, NDR_SCALARS
, &r
->add
));
10766 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: {
10767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr
, NDR_SCALARS
, &r
->op_delete
));
10770 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: {
10771 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr
, NDR_SCALARS
, &r
->modify
));
10774 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: {
10775 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr
, NDR_SCALARS
, &r
->update_refs
));
10779 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
10784 if (ndr_flags
& NDR_BUFFERS
) {
10786 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10789 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10792 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10795 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10798 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10806 return NDR_ERR_SUCCESS
;
10809 _PUBLIC_
void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRplicaOpOptions
*r
)
10812 level
= ndr_print_get_switch_value(ndr
, r
);
10813 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRplicaOpOptions");
10815 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
:
10816 ndr_print_drsuapi_DsReplicaSyncOptions(ndr
, "sync", r
->sync
);
10819 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
:
10820 ndr_print_drsuapi_DsReplicaAddOptions(ndr
, "add", r
->add
);
10823 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
:
10824 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr
, "op_delete", r
->op_delete
);
10827 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
:
10828 ndr_print_drsuapi_DsReplicaModifyOptions(ndr
, "modify", r
->modify
);
10831 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
:
10832 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr
, "update_refs", r
->update_refs
);
10836 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
10842 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
10844 if (ndr_flags
& NDR_SCALARS
) {
10845 NDR_CHECK(ndr_push_align(ndr
, 5));
10846 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
10847 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
10848 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
10849 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
10850 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
10851 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
10852 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
10853 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
10854 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
10855 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10856 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10857 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10859 if (ndr_flags
& NDR_BUFFERS
) {
10861 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10862 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10863 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10864 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10866 if (r
->remote_dsa_obj_dn
) {
10867 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10868 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10869 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10870 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
));
10872 if (r
->remote_dsa_address
) {
10873 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10874 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10875 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10876 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
));
10879 return NDR_ERR_SUCCESS
;
10882 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
10884 uint32_t _ptr_nc_dn
;
10885 TALLOC_CTX
*_mem_save_nc_dn_0
;
10886 uint32_t _ptr_remote_dsa_obj_dn
;
10887 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
10888 uint32_t _ptr_remote_dsa_address
;
10889 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
10890 if (ndr_flags
& NDR_SCALARS
) {
10891 NDR_CHECK(ndr_pull_align(ndr
, 5));
10892 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
10893 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
10894 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
10895 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
10896 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->options
, r
->operation_type
));
10897 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr
, NDR_SCALARS
, &r
->options
));
10898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
10900 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
10904 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
10905 if (_ptr_remote_dsa_obj_dn
) {
10906 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
10908 r
->remote_dsa_obj_dn
= NULL
;
10910 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
10911 if (_ptr_remote_dsa_address
) {
10912 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
10914 r
->remote_dsa_address
= NULL
;
10916 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10917 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10918 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10920 if (ndr_flags
& NDR_BUFFERS
) {
10922 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10923 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
10924 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
10925 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
10926 if (ndr_get_array_length(ndr
, &r
->nc_dn
) > ndr_get_array_size(ndr
, &r
->nc_dn
)) {
10927 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
));
10929 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t)));
10930 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t), CH_UTF16
));
10931 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
10933 if (r
->remote_dsa_obj_dn
) {
10934 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10935 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
10936 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
10937 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
10938 if (ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
)) {
10939 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
));
10941 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t)));
10942 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
));
10943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
10945 if (r
->remote_dsa_address
) {
10946 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10947 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
10948 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
10949 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
10950 if (ndr_get_array_length(ndr
, &r
->remote_dsa_address
) > ndr_get_array_size(ndr
, &r
->remote_dsa_address
)) {
10951 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
));
10953 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t)));
10954 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
));
10955 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
10958 return NDR_ERR_SUCCESS
;
10961 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
10963 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
10965 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
10966 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
10967 ndr_print_uint32(ndr
, "priority", r
->priority
);
10968 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
10969 ndr_print_set_switch_value(ndr
, &r
->options
, r
->operation_type
);
10970 ndr_print_drsuapi_DsRplicaOpOptions(ndr
, "options", &r
->options
);
10971 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
10974 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
10977 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10979 if (r
->remote_dsa_obj_dn
) {
10980 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10983 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10985 if (r
->remote_dsa_address
) {
10986 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10989 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
10990 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
10994 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
10996 uint32_t cntr_array_0
;
10997 if (ndr_flags
& NDR_SCALARS
) {
10998 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10999 NDR_CHECK(ndr_push_align(ndr
, 5));
11000 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
11001 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11002 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11003 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11005 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11007 if (ndr_flags
& NDR_BUFFERS
) {
11008 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11009 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11012 return NDR_ERR_SUCCESS
;
11015 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
11017 uint32_t cntr_array_0
;
11018 TALLOC_CTX
*_mem_save_array_0
;
11019 if (ndr_flags
& NDR_SCALARS
) {
11020 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11021 NDR_CHECK(ndr_pull_align(ndr
, 5));
11022 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
11023 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11024 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11025 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11026 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11027 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11028 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11030 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11032 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11034 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11036 if (ndr_flags
& NDR_BUFFERS
) {
11037 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11038 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11039 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11042 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11044 return NDR_ERR_SUCCESS
;
11047 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
11049 uint32_t cntr_array_0
;
11050 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
11052 ndr_print_NTTIME(ndr
, "time", r
->time
);
11053 ndr_print_uint32(ndr
, "count", r
->count
);
11054 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11056 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11058 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11059 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
11067 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11069 if (ndr_flags
& NDR_SCALARS
) {
11070 NDR_CHECK(ndr_push_align(ndr
, 8));
11071 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11072 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11073 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11074 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11075 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11076 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11077 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11078 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11079 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11080 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11081 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11082 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11084 if (ndr_flags
& NDR_BUFFERS
) {
11085 if (r
->attribute_name
) {
11086 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11087 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11088 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11089 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11091 if (r
->object_dn
) {
11092 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11093 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11094 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11095 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11098 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11101 return NDR_ERR_SUCCESS
;
11104 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
11106 uint32_t _ptr_attribute_name
;
11107 TALLOC_CTX
*_mem_save_attribute_name_0
;
11108 uint32_t _ptr_object_dn
;
11109 TALLOC_CTX
*_mem_save_object_dn_0
;
11110 uint32_t _ptr_binary
;
11111 TALLOC_CTX
*_mem_save_binary_0
;
11112 if (ndr_flags
& NDR_SCALARS
) {
11113 NDR_CHECK(ndr_pull_align(ndr
, 8));
11114 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11115 if (_ptr_attribute_name
) {
11116 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11118 r
->attribute_name
= NULL
;
11120 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11121 if (_ptr_object_dn
) {
11122 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11124 r
->object_dn
= NULL
;
11126 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11127 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11129 NDR_PULL_ALLOC(ndr
, r
->binary
);
11133 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11134 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11135 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11136 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11137 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11138 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11139 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11140 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11142 if (ndr_flags
& NDR_BUFFERS
) {
11143 if (r
->attribute_name
) {
11144 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11145 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11146 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11147 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11148 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11149 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
));
11151 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11152 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11153 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11155 if (r
->object_dn
) {
11156 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11157 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11158 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11159 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11160 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11161 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
));
11163 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11164 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11165 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11168 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11169 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11170 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11174 return NDR_ERR_SUCCESS
;
11177 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11179 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
11181 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11183 if (r
->attribute_name
) {
11184 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11187 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11189 if (r
->object_dn
) {
11190 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11193 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
);
11194 ndr_print_ptr(ndr
, "binary", r
->binary
);
11197 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11200 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11201 ndr_print_NTTIME(ndr
, "created", r
->created
);
11202 ndr_print_uint32(ndr
, "version", r
->version
);
11203 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11204 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11205 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11206 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11210 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11212 uint32_t cntr_array_0
;
11213 if (ndr_flags
& NDR_SCALARS
) {
11214 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11215 NDR_CHECK(ndr_push_align(ndr
, 8));
11216 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11217 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11218 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11219 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11221 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11223 if (ndr_flags
& NDR_BUFFERS
) {
11224 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11225 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11228 return NDR_ERR_SUCCESS
;
11231 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11233 uint32_t cntr_array_0
;
11234 TALLOC_CTX
*_mem_save_array_0
;
11235 if (ndr_flags
& NDR_SCALARS
) {
11236 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11237 NDR_CHECK(ndr_pull_align(ndr
, 8));
11238 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11239 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11240 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11241 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11242 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11243 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11244 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11246 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11248 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11250 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11252 if (ndr_flags
& NDR_BUFFERS
) {
11253 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11254 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11255 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11258 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11260 return NDR_ERR_SUCCESS
;
11263 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11265 uint32_t cntr_array_0
;
11266 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
11268 ndr_print_uint32(ndr
, "count", r
->count
);
11269 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11270 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11272 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11274 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11275 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
11283 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11285 uint32_t cntr_array_0
;
11286 if (ndr_flags
& NDR_SCALARS
) {
11287 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11288 NDR_CHECK(ndr_push_align(ndr
, 8));
11289 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11290 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11291 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11292 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11294 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11296 if (ndr_flags
& NDR_BUFFERS
) {
11298 return NDR_ERR_SUCCESS
;
11301 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
11303 uint32_t cntr_array_0
;
11304 TALLOC_CTX
*_mem_save_array_0
;
11305 if (ndr_flags
& NDR_SCALARS
) {
11306 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11307 NDR_CHECK(ndr_pull_align(ndr
, 8));
11308 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11309 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11310 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11311 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11312 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11313 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11318 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11320 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11322 if (ndr_flags
& NDR_BUFFERS
) {
11324 return NDR_ERR_SUCCESS
;
11327 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11329 uint32_t cntr_array_0
;
11330 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11332 ndr_print_uint32(ndr
, "count", r
->count
);
11333 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11334 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11336 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11338 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11339 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11347 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11349 if (ndr_flags
& NDR_SCALARS
) {
11350 NDR_CHECK(ndr_push_align(ndr
, 8));
11351 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11352 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11353 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11354 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11355 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11357 if (ndr_flags
& NDR_BUFFERS
) {
11358 if (r
->source_dsa_obj_dn
) {
11359 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11360 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11361 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11362 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
));
11365 return NDR_ERR_SUCCESS
;
11368 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11370 uint32_t _ptr_source_dsa_obj_dn
;
11371 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11372 if (ndr_flags
& NDR_SCALARS
) {
11373 NDR_CHECK(ndr_pull_align(ndr
, 8));
11374 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11375 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11376 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11377 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11378 if (_ptr_source_dsa_obj_dn
) {
11379 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11381 r
->source_dsa_obj_dn
= NULL
;
11383 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11385 if (ndr_flags
& NDR_BUFFERS
) {
11386 if (r
->source_dsa_obj_dn
) {
11387 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11388 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11389 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11390 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11391 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
11392 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
));
11394 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
11395 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
));
11396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11399 return NDR_ERR_SUCCESS
;
11402 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11404 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11406 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11407 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11408 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11409 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11411 if (r
->source_dsa_obj_dn
) {
11412 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11418 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11420 uint32_t cntr_array_0
;
11421 if (ndr_flags
& NDR_SCALARS
) {
11422 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11423 NDR_CHECK(ndr_push_align(ndr
, 8));
11424 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11425 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11426 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11427 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11429 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11431 if (ndr_flags
& NDR_BUFFERS
) {
11432 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11433 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11436 return NDR_ERR_SUCCESS
;
11439 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11441 uint32_t cntr_array_0
;
11442 TALLOC_CTX
*_mem_save_array_0
;
11443 if (ndr_flags
& NDR_SCALARS
) {
11444 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11445 NDR_CHECK(ndr_pull_align(ndr
, 8));
11446 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11447 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11448 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11449 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11450 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11451 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11452 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11454 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11456 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11458 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11460 if (ndr_flags
& NDR_BUFFERS
) {
11461 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11462 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11463 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11464 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11466 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11468 return NDR_ERR_SUCCESS
;
11471 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11473 uint32_t cntr_array_0
;
11474 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11476 ndr_print_uint32(ndr
, "count", r
->count
);
11477 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11478 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11480 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11482 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11483 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11491 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11493 if (ndr_flags
& NDR_SCALARS
) {
11494 NDR_CHECK(ndr_push_align(ndr
, 8));
11495 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11496 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11497 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11498 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11499 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11500 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11501 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11502 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11504 if (ndr_flags
& NDR_BUFFERS
) {
11505 if (r
->attribute_name
) {
11506 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11507 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11508 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11509 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11511 if (r
->originating_dsa_dn
) {
11512 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11513 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11514 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11515 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
));
11518 return NDR_ERR_SUCCESS
;
11521 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11523 uint32_t _ptr_attribute_name
;
11524 TALLOC_CTX
*_mem_save_attribute_name_0
;
11525 uint32_t _ptr_originating_dsa_dn
;
11526 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11527 if (ndr_flags
& NDR_SCALARS
) {
11528 NDR_CHECK(ndr_pull_align(ndr
, 8));
11529 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11530 if (_ptr_attribute_name
) {
11531 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11533 r
->attribute_name
= NULL
;
11535 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11536 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11537 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11538 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11539 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11540 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11541 if (_ptr_originating_dsa_dn
) {
11542 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11544 r
->originating_dsa_dn
= NULL
;
11546 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11548 if (ndr_flags
& NDR_BUFFERS
) {
11549 if (r
->attribute_name
) {
11550 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11551 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11552 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11553 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11554 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11555 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
));
11557 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11558 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11559 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11561 if (r
->originating_dsa_dn
) {
11562 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11563 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11564 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11565 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11566 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11567 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
));
11569 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11570 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
));
11571 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11574 return NDR_ERR_SUCCESS
;
11577 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11579 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11581 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11583 if (r
->attribute_name
) {
11584 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11587 ndr_print_uint32(ndr
, "version", r
->version
);
11588 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11589 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11590 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11591 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11592 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11594 if (r
->originating_dsa_dn
) {
11595 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11601 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11603 uint32_t cntr_array_0
;
11604 if (ndr_flags
& NDR_SCALARS
) {
11605 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11606 NDR_CHECK(ndr_push_align(ndr
, 8));
11607 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11608 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11609 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11610 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11612 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11614 if (ndr_flags
& NDR_BUFFERS
) {
11615 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11616 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11619 return NDR_ERR_SUCCESS
;
11622 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11624 uint32_t cntr_array_0
;
11625 TALLOC_CTX
*_mem_save_array_0
;
11626 if (ndr_flags
& NDR_SCALARS
) {
11627 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11628 NDR_CHECK(ndr_pull_align(ndr
, 8));
11629 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11630 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11631 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11632 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11633 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11634 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11635 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11637 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11639 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11641 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11643 if (ndr_flags
& NDR_BUFFERS
) {
11644 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11645 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11646 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11649 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11651 return NDR_ERR_SUCCESS
;
11654 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11656 uint32_t cntr_array_0
;
11657 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
11659 ndr_print_uint32(ndr
, "count", r
->count
);
11660 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11661 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11663 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11665 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11666 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11674 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11676 if (ndr_flags
& NDR_SCALARS
) {
11677 NDR_CHECK(ndr_push_align(ndr
, 8));
11678 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11679 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11680 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11681 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11682 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11683 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11684 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11685 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11686 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11687 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11688 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11689 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11690 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11692 if (ndr_flags
& NDR_BUFFERS
) {
11693 if (r
->attribute_name
) {
11694 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11695 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11696 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11697 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11699 if (r
->object_dn
) {
11700 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11701 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11702 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11703 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11706 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11708 if (r
->originating_dsa_dn
) {
11709 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11710 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11711 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11712 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
));
11715 return NDR_ERR_SUCCESS
;
11718 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11720 uint32_t _ptr_attribute_name
;
11721 TALLOC_CTX
*_mem_save_attribute_name_0
;
11722 uint32_t _ptr_object_dn
;
11723 TALLOC_CTX
*_mem_save_object_dn_0
;
11724 uint32_t _ptr_binary
;
11725 TALLOC_CTX
*_mem_save_binary_0
;
11726 uint32_t _ptr_originating_dsa_dn
;
11727 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11728 if (ndr_flags
& NDR_SCALARS
) {
11729 NDR_CHECK(ndr_pull_align(ndr
, 8));
11730 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11731 if (_ptr_attribute_name
) {
11732 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11734 r
->attribute_name
= NULL
;
11736 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11737 if (_ptr_object_dn
) {
11738 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11740 r
->object_dn
= NULL
;
11742 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11743 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11745 NDR_PULL_ALLOC(ndr
, r
->binary
);
11749 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11750 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11751 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11752 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11753 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11754 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11755 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11756 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11757 if (_ptr_originating_dsa_dn
) {
11758 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11760 r
->originating_dsa_dn
= NULL
;
11762 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11764 if (ndr_flags
& NDR_BUFFERS
) {
11765 if (r
->attribute_name
) {
11766 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11767 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11768 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11769 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11770 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11771 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
));
11773 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11774 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11775 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11777 if (r
->object_dn
) {
11778 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11779 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11780 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11781 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11782 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11783 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
));
11785 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11786 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11787 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11790 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11791 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11792 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11793 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11795 if (r
->originating_dsa_dn
) {
11796 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11797 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11798 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11799 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11800 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11801 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
));
11803 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11804 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
));
11805 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11808 return NDR_ERR_SUCCESS
;
11811 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11813 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
11815 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11817 if (r
->attribute_name
) {
11818 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11821 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11823 if (r
->object_dn
) {
11824 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11827 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
);
11828 ndr_print_ptr(ndr
, "binary", r
->binary
);
11831 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11834 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11835 ndr_print_NTTIME(ndr
, "created", r
->created
);
11836 ndr_print_uint32(ndr
, "version", r
->version
);
11837 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11838 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11839 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11840 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11841 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11843 if (r
->originating_dsa_dn
) {
11844 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11850 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11852 uint32_t cntr_array_0
;
11853 if (ndr_flags
& NDR_SCALARS
) {
11854 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11855 NDR_CHECK(ndr_push_align(ndr
, 8));
11856 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11857 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11858 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11859 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11861 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11863 if (ndr_flags
& NDR_BUFFERS
) {
11864 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11865 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11868 return NDR_ERR_SUCCESS
;
11871 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11873 uint32_t cntr_array_0
;
11874 TALLOC_CTX
*_mem_save_array_0
;
11875 if (ndr_flags
& NDR_SCALARS
) {
11876 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11877 NDR_CHECK(ndr_pull_align(ndr
, 8));
11878 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11879 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11880 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11881 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11882 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11883 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11884 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11886 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11888 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11890 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11892 if (ndr_flags
& NDR_BUFFERS
) {
11893 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11894 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11895 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11900 return NDR_ERR_SUCCESS
;
11903 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11905 uint32_t cntr_array_0
;
11906 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11908 ndr_print_uint32(ndr
, "count", r
->count
);
11909 ndr_print_int32(ndr
, "enumeration_context", r
->enumeration_context
);
11910 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11912 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11914 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11915 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11923 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
11925 if (ndr_flags
& NDR_SCALARS
) {
11926 NDR_CHECK(ndr_push_align(ndr
, 8));
11927 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
11928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11929 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11930 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11931 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
11933 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11934 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11935 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
11936 ndr
->flags
= _flags_save_ipv4address
;
11938 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11939 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11941 if (ndr_flags
& NDR_BUFFERS
) {
11943 return NDR_ERR_SUCCESS
;
11946 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
11948 if (ndr_flags
& NDR_SCALARS
) {
11949 NDR_CHECK(ndr_pull_align(ndr
, 8));
11950 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
11951 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11952 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11953 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11954 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
11956 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11957 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11958 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
11959 ndr
->flags
= _flags_save_ipv4address
;
11961 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11962 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11964 if (ndr_flags
& NDR_BUFFERS
) {
11966 return NDR_ERR_SUCCESS
;
11969 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
11971 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
11973 ndr_print_hyper(ndr
, "u1", r
->u1
);
11974 ndr_print_uint32(ndr
, "u2", r
->u2
);
11975 ndr_print_uint32(ndr
, "u3", r
->u3
);
11976 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
11977 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
11978 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
11979 ndr_print_uint32(ndr
, "u5", r
->u5
);
11983 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11985 uint32_t cntr_array_0
;
11986 if (ndr_flags
& NDR_SCALARS
) {
11987 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11988 NDR_CHECK(ndr_push_align(ndr
, 8));
11989 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11990 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11991 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11992 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11994 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11996 if (ndr_flags
& NDR_BUFFERS
) {
11998 return NDR_ERR_SUCCESS
;
12001 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
12003 uint32_t cntr_array_0
;
12004 TALLOC_CTX
*_mem_save_array_0
;
12005 if (ndr_flags
& NDR_SCALARS
) {
12006 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12007 NDR_CHECK(ndr_pull_align(ndr
, 8));
12008 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12009 if (r
->count
> 10000) {
12010 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12012 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12013 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12014 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12015 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12016 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12017 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12019 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12021 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12023 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12025 if (ndr_flags
& NDR_BUFFERS
) {
12027 return NDR_ERR_SUCCESS
;
12030 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
12032 uint32_t cntr_array_0
;
12033 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
12035 ndr_print_uint32(ndr
, "count", r
->count
);
12036 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12037 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12039 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12041 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12042 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
12050 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
12052 if (ndr_flags
& NDR_SCALARS
) {
12053 NDR_CHECK(ndr_push_align(ndr
, 8));
12054 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
12055 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
12056 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
12057 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
12058 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
12059 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
12060 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
12061 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
12062 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12064 if (ndr_flags
& NDR_BUFFERS
) {
12066 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12067 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12068 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12069 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12072 return NDR_ERR_SUCCESS
;
12075 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
12077 uint32_t _ptr_str1
;
12078 TALLOC_CTX
*_mem_save_str1_0
;
12079 if (ndr_flags
& NDR_SCALARS
) {
12080 NDR_CHECK(ndr_pull_align(ndr
, 8));
12081 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
12083 NDR_PULL_ALLOC(ndr
, r
->str1
);
12087 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
12088 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
12089 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
12090 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
12091 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
12092 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
12093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
12094 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12096 if (ndr_flags
& NDR_BUFFERS
) {
12098 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12099 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
12100 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
12101 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
12102 if (ndr_get_array_length(ndr
, &r
->str1
) > ndr_get_array_size(ndr
, &r
->str1
)) {
12103 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
));
12105 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t)));
12106 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t), CH_UTF16
));
12107 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
12110 return NDR_ERR_SUCCESS
;
12113 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
12115 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
12117 ndr_print_ptr(ndr
, "str1", r
->str1
);
12120 ndr_print_string(ndr
, "str1", r
->str1
);
12123 ndr_print_uint32(ndr
, "u1", r
->u1
);
12124 ndr_print_uint32(ndr
, "u2", r
->u2
);
12125 ndr_print_uint32(ndr
, "u3", r
->u3
);
12126 ndr_print_uint32(ndr
, "u4", r
->u4
);
12127 ndr_print_uint32(ndr
, "u5", r
->u5
);
12128 ndr_print_hyper(ndr
, "u6", r
->u6
);
12129 ndr_print_uint32(ndr
, "u7", r
->u7
);
12133 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
12135 uint32_t cntr_array_0
;
12136 if (ndr_flags
& NDR_SCALARS
) {
12137 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12138 NDR_CHECK(ndr_push_align(ndr
, 8));
12139 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12140 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
12141 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12142 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12144 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12146 if (ndr_flags
& NDR_BUFFERS
) {
12147 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12148 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12151 return NDR_ERR_SUCCESS
;
12154 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
12156 uint32_t cntr_array_0
;
12157 TALLOC_CTX
*_mem_save_array_0
;
12158 if (ndr_flags
& NDR_SCALARS
) {
12159 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12160 NDR_CHECK(ndr_pull_align(ndr
, 8));
12161 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12162 if (r
->count
> 256) {
12163 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12165 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12166 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12167 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12168 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12169 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12170 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12172 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12174 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12176 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12178 if (ndr_flags
& NDR_BUFFERS
) {
12179 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12180 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12181 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12182 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12184 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12186 return NDR_ERR_SUCCESS
;
12189 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
12191 uint32_t cntr_array_0
;
12192 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
12194 ndr_print_uint32(ndr
, "count", r
->count
);
12195 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12196 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12198 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12200 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12201 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
12209 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
12211 if (ndr_flags
& NDR_SCALARS
) {
12212 int level
= ndr_push_get_switch_value(ndr
, r
);
12213 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
12214 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12216 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12217 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
12220 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12221 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
12224 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12225 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
12228 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12229 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
12232 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12233 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
12236 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12237 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
12240 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12241 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
12244 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12245 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
12248 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12249 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
12252 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12253 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
12256 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12257 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
12260 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12261 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours02
));
12264 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12265 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connections04
));
12268 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12269 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors05
));
12272 case DRSUAPI_DS_REPLICA_INFO_06
: {
12273 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->i06
));
12277 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12280 if (ndr_flags
& NDR_BUFFERS
) {
12281 int level
= ndr_push_get_switch_value(ndr
, r
);
12283 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12284 if (r
->neighbours
) {
12285 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12289 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12291 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12295 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12296 if (r
->objmetadata
) {
12297 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12301 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12302 if (r
->connectfailures
) {
12303 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12307 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12308 if (r
->linkfailures
) {
12309 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12313 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12314 if (r
->pendingops
) {
12315 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12319 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12320 if (r
->attrvalmetadata
) {
12321 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12325 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12327 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12331 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12333 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12337 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12338 if (r
->objmetadata2
) {
12339 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12343 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12344 if (r
->attrvalmetadata2
) {
12345 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12349 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12350 if (r
->neighbours02
) {
12351 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12355 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12356 if (r
->connections04
) {
12357 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12361 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12362 if (r
->cursors05
) {
12363 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12367 case DRSUAPI_DS_REPLICA_INFO_06
:
12369 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12374 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12377 return NDR_ERR_SUCCESS
;
12380 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12384 TALLOC_CTX
*_mem_save_neighbours_0
;
12385 TALLOC_CTX
*_mem_save_cursors_0
;
12386 TALLOC_CTX
*_mem_save_objmetadata_0
;
12387 TALLOC_CTX
*_mem_save_connectfailures_0
;
12388 TALLOC_CTX
*_mem_save_linkfailures_0
;
12389 TALLOC_CTX
*_mem_save_pendingops_0
;
12390 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12391 TALLOC_CTX
*_mem_save_cursors2_0
;
12392 TALLOC_CTX
*_mem_save_cursors3_0
;
12393 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12394 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12395 TALLOC_CTX
*_mem_save_neighbours02_0
;
12396 TALLOC_CTX
*_mem_save_connections04_0
;
12397 TALLOC_CTX
*_mem_save_cursors05_0
;
12398 TALLOC_CTX
*_mem_save_i06_0
;
12399 level
= ndr_pull_get_switch_value(ndr
, r
);
12400 if (ndr_flags
& NDR_SCALARS
) {
12401 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12402 if (_level
!= level
) {
12403 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12405 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12408 uint32_t _ptr_neighbours
;
12409 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12410 if (_ptr_neighbours
) {
12411 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12413 r
->neighbours
= NULL
;
12417 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12418 uint32_t _ptr_cursors
;
12419 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12420 if (_ptr_cursors
) {
12421 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12427 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12428 uint32_t _ptr_objmetadata
;
12429 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12430 if (_ptr_objmetadata
) {
12431 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12433 r
->objmetadata
= NULL
;
12437 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12438 uint32_t _ptr_connectfailures
;
12439 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12440 if (_ptr_connectfailures
) {
12441 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12443 r
->connectfailures
= NULL
;
12447 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12448 uint32_t _ptr_linkfailures
;
12449 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12450 if (_ptr_linkfailures
) {
12451 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12453 r
->linkfailures
= NULL
;
12457 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12458 uint32_t _ptr_pendingops
;
12459 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12460 if (_ptr_pendingops
) {
12461 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12463 r
->pendingops
= NULL
;
12467 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12468 uint32_t _ptr_attrvalmetadata
;
12469 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12470 if (_ptr_attrvalmetadata
) {
12471 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12473 r
->attrvalmetadata
= NULL
;
12477 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12478 uint32_t _ptr_cursors2
;
12479 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12480 if (_ptr_cursors2
) {
12481 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12483 r
->cursors2
= NULL
;
12487 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12488 uint32_t _ptr_cursors3
;
12489 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12490 if (_ptr_cursors3
) {
12491 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12493 r
->cursors3
= NULL
;
12497 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12498 uint32_t _ptr_objmetadata2
;
12499 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12500 if (_ptr_objmetadata2
) {
12501 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12503 r
->objmetadata2
= NULL
;
12507 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12508 uint32_t _ptr_attrvalmetadata2
;
12509 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12510 if (_ptr_attrvalmetadata2
) {
12511 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12513 r
->attrvalmetadata2
= NULL
;
12517 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12518 uint32_t _ptr_neighbours02
;
12519 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours02
));
12520 if (_ptr_neighbours02
) {
12521 NDR_PULL_ALLOC(ndr
, r
->neighbours02
);
12523 r
->neighbours02
= NULL
;
12527 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12528 uint32_t _ptr_connections04
;
12529 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connections04
));
12530 if (_ptr_connections04
) {
12531 NDR_PULL_ALLOC(ndr
, r
->connections04
);
12533 r
->connections04
= NULL
;
12537 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12538 uint32_t _ptr_cursors05
;
12539 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors05
));
12540 if (_ptr_cursors05
) {
12541 NDR_PULL_ALLOC(ndr
, r
->cursors05
);
12543 r
->cursors05
= NULL
;
12547 case DRSUAPI_DS_REPLICA_INFO_06
: {
12549 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_i06
));
12551 NDR_PULL_ALLOC(ndr
, r
->i06
);
12558 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12561 if (ndr_flags
& NDR_BUFFERS
) {
12563 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12564 if (r
->neighbours
) {
12565 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12566 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12568 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12572 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12574 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12575 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12576 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12581 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12582 if (r
->objmetadata
) {
12583 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12584 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12585 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12586 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12590 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12591 if (r
->connectfailures
) {
12592 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12593 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12594 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12595 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12599 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12600 if (r
->linkfailures
) {
12601 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12602 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12604 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12608 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12609 if (r
->pendingops
) {
12610 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12611 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12613 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12617 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12618 if (r
->attrvalmetadata
) {
12619 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12620 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12621 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12622 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12626 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12628 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12629 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12631 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12635 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12637 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12638 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12640 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
12644 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12645 if (r
->objmetadata2
) {
12646 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12647 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
12648 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12649 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
12653 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12654 if (r
->attrvalmetadata2
) {
12655 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12656 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
12657 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12658 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
12662 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12663 if (r
->neighbours02
) {
12664 _mem_save_neighbours02_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12665 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours02
, 0);
12666 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12667 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours02_0
, 0);
12671 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12672 if (r
->connections04
) {
12673 _mem_save_connections04_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12674 NDR_PULL_SET_MEM_CTX(ndr
, r
->connections04
, 0);
12675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12676 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connections04_0
, 0);
12680 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12681 if (r
->cursors05
) {
12682 _mem_save_cursors05_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12683 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors05
, 0);
12684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors05_0
, 0);
12689 case DRSUAPI_DS_REPLICA_INFO_06
:
12691 _mem_save_i06_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12692 NDR_PULL_SET_MEM_CTX(ndr
, r
->i06
, 0);
12693 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12694 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_i06_0
, 0);
12699 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12702 return NDR_ERR_SUCCESS
;
12705 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
12708 level
= ndr_print_get_switch_value(ndr
, r
);
12709 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
12711 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12712 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
12714 if (r
->neighbours
) {
12715 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
12720 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12721 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
12724 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
12729 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12730 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
12732 if (r
->objmetadata
) {
12733 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
12738 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12739 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
12741 if (r
->connectfailures
) {
12742 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
12747 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12748 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
12750 if (r
->linkfailures
) {
12751 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
12756 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12757 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
12759 if (r
->pendingops
) {
12760 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
12765 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12766 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12768 if (r
->attrvalmetadata
) {
12769 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12774 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12775 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
12778 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
12783 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12784 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
12787 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
12792 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12793 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
12795 if (r
->objmetadata2
) {
12796 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
12801 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12802 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12804 if (r
->attrvalmetadata2
) {
12805 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12810 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12811 ndr_print_ptr(ndr
, "neighbours02", r
->neighbours02
);
12813 if (r
->neighbours02
) {
12814 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours02", r
->neighbours02
);
12819 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12820 ndr_print_ptr(ndr
, "connections04", r
->connections04
);
12822 if (r
->connections04
) {
12823 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "connections04", r
->connections04
);
12828 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12829 ndr_print_ptr(ndr
, "cursors05", r
->cursors05
);
12831 if (r
->cursors05
) {
12832 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "cursors05", r
->cursors05
);
12837 case DRSUAPI_DS_REPLICA_INFO_06
:
12838 ndr_print_ptr(ndr
, "i06", r
->i06
);
12841 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "i06", r
->i06
);
12847 ndr_print_bad_level(ndr
, name
, level
);
12851 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12853 if (ndr_flags
& NDR_SCALARS
) {
12854 int level
= ndr_push_get_switch_value(ndr
, r
);
12855 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12856 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12859 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12863 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12866 if (ndr_flags
& NDR_BUFFERS
) {
12867 int level
= ndr_push_get_switch_value(ndr
, r
);
12870 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12874 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12877 return NDR_ERR_SUCCESS
;
12880 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
12884 level
= ndr_pull_get_switch_value(ndr
, r
);
12885 if (ndr_flags
& NDR_SCALARS
) {
12886 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12887 if (_level
!= level
) {
12888 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12890 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12893 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12897 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12900 if (ndr_flags
& NDR_BUFFERS
) {
12903 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12907 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12910 return NDR_ERR_SUCCESS
;
12913 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12916 level
= ndr_print_get_switch_value(ndr
, r
);
12917 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
12920 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
12924 ndr_print_bad_level(ndr
, name
, level
);
12928 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12930 uint32_t cntr_req_array_1
;
12931 if (ndr_flags
& NDR_SCALARS
) {
12932 NDR_CHECK(ndr_push_align(ndr
, 5));
12933 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12934 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
12935 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12937 if (ndr_flags
& NDR_BUFFERS
) {
12938 if (r
->req_array
) {
12939 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
12940 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12941 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
12943 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12944 if (r
->req_array
[cntr_req_array_1
]) {
12945 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12950 return NDR_ERR_SUCCESS
;
12953 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
12955 uint32_t _ptr_req_array
;
12956 uint32_t cntr_req_array_1
;
12957 TALLOC_CTX
*_mem_save_req_array_0
;
12958 TALLOC_CTX
*_mem_save_req_array_1
;
12959 TALLOC_CTX
*_mem_save_req_array_2
;
12960 if (ndr_flags
& NDR_SCALARS
) {
12961 NDR_CHECK(ndr_pull_align(ndr
, 5));
12962 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
12963 if (r
->num_req
< 1 || r
->num_req
> 10000) {
12964 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12966 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12967 if (_ptr_req_array
) {
12968 NDR_PULL_ALLOC(ndr
, r
->req_array
);
12970 r
->req_array
= NULL
;
12972 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12974 if (ndr_flags
& NDR_BUFFERS
) {
12975 if (r
->req_array
) {
12976 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12977 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12978 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
12979 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, ndr_get_array_size(ndr
, &r
->req_array
));
12980 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12981 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12982 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12983 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12984 if (_ptr_req_array
) {
12985 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
12987 r
->req_array
[cntr_req_array_1
] = NULL
;
12990 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12991 if (r
->req_array
[cntr_req_array_1
]) {
12992 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
12993 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
12994 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
12998 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
12999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
13001 if (r
->req_array
) {
13002 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
13005 return NDR_ERR_SUCCESS
;
13008 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
13010 uint32_t cntr_req_array_1
;
13011 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
13013 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13014 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
13016 if (r
->req_array
) {
13017 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
13019 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
13021 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
13022 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13024 if (r
->req_array
[cntr_req_array_1
]) {
13025 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13037 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
13039 if (ndr_flags
& NDR_SCALARS
) {
13040 int level
= ndr_push_get_switch_value(ndr
, r
);
13041 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13042 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13045 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13049 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13052 if (ndr_flags
& NDR_BUFFERS
) {
13053 int level
= ndr_push_get_switch_value(ndr
, r
);
13056 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13060 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13063 return NDR_ERR_SUCCESS
;
13066 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
13070 level
= ndr_pull_get_switch_value(ndr
, r
);
13071 if (ndr_flags
& NDR_SCALARS
) {
13072 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13073 if (_level
!= level
) {
13074 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13076 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13079 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13083 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13086 if (ndr_flags
& NDR_BUFFERS
) {
13089 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13093 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13096 return NDR_ERR_SUCCESS
;
13099 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
13102 level
= ndr_print_get_switch_value(ndr
, r
);
13103 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
13106 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
13110 ndr_print_bad_level(ndr
, name
, level
);
13114 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
13116 if (ndr_flags
& NDR_SCALARS
) {
13117 NDR_CHECK(ndr_push_align(ndr
, 4));
13118 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
13119 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
13120 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
13122 if (ndr_flags
& NDR_BUFFERS
) {
13124 return NDR_ERR_SUCCESS
;
13127 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
13129 if (ndr_flags
& NDR_SCALARS
) {
13130 NDR_CHECK(ndr_pull_align(ndr
, 4));
13131 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
13132 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
13133 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
13135 if (ndr_flags
& NDR_BUFFERS
) {
13137 return NDR_ERR_SUCCESS
;
13140 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
13142 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
13144 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
13145 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
13149 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13151 uint32_t cntr_info_1
;
13152 if (ndr_flags
& NDR_SCALARS
) {
13153 NDR_CHECK(ndr_push_align(ndr
, 5));
13154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
13155 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
13156 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
13157 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13159 if (ndr_flags
& NDR_BUFFERS
) {
13161 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
13162 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13163 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13167 return NDR_ERR_SUCCESS
;
13170 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
13172 uint32_t _ptr_info
;
13173 uint32_t cntr_info_1
;
13174 TALLOC_CTX
*_mem_save_info_0
;
13175 TALLOC_CTX
*_mem_save_info_1
;
13176 if (ndr_flags
& NDR_SCALARS
) {
13177 NDR_CHECK(ndr_pull_align(ndr
, 5));
13178 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
13179 if (r
->num_info
> 10000) {
13180 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13182 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
13184 NDR_PULL_ALLOC(ndr
, r
->info
);
13188 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
13189 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13191 if (ndr_flags
& NDR_BUFFERS
) {
13193 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13194 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13195 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
13196 NDR_PULL_ALLOC_N(ndr
, r
->info
, ndr_get_array_size(ndr
, &r
->info
));
13197 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13198 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13199 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13200 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13202 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
13203 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
13206 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
13209 return NDR_ERR_SUCCESS
;
13212 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13214 uint32_t cntr_info_1
;
13215 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
13217 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
13218 ndr_print_ptr(ndr
, "info", r
->info
);
13221 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
13223 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
13225 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
13226 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
13233 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
13237 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
13239 if (ndr_flags
& NDR_SCALARS
) {
13240 int level
= ndr_push_get_switch_value(ndr
, r
);
13241 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13242 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13245 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13249 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13252 if (ndr_flags
& NDR_BUFFERS
) {
13253 int level
= ndr_push_get_switch_value(ndr
, r
);
13256 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13260 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13263 return NDR_ERR_SUCCESS
;
13266 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
13270 level
= ndr_pull_get_switch_value(ndr
, r
);
13271 if (ndr_flags
& NDR_SCALARS
) {
13272 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13273 if (_level
!= level
) {
13274 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13276 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13279 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13283 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13286 if (ndr_flags
& NDR_BUFFERS
) {
13289 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13293 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13296 return NDR_ERR_SUCCESS
;
13299 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
13302 level
= ndr_print_get_switch_value(ndr
, r
);
13303 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13306 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13310 ndr_print_bad_level(ndr
, name
, level
);
13314 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13316 uint32_t cntr_site_to_1
;
13317 if (ndr_flags
& NDR_SCALARS
) {
13318 NDR_CHECK(ndr_push_align(ndr
, 5));
13319 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13320 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13321 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13322 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13323 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13325 if (ndr_flags
& NDR_BUFFERS
) {
13326 if (r
->site_from
) {
13327 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13328 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13329 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13330 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13333 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13334 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13335 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13337 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13338 if (r
->site_to
[cntr_site_to_1
]) {
13339 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13340 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13341 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13342 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
));
13347 return NDR_ERR_SUCCESS
;
13350 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13352 uint32_t _ptr_site_from
;
13353 TALLOC_CTX
*_mem_save_site_from_0
;
13354 uint32_t _ptr_site_to
;
13355 uint32_t cntr_site_to_1
;
13356 TALLOC_CTX
*_mem_save_site_to_0
;
13357 TALLOC_CTX
*_mem_save_site_to_1
;
13358 TALLOC_CTX
*_mem_save_site_to_2
;
13359 if (ndr_flags
& NDR_SCALARS
) {
13360 NDR_CHECK(ndr_pull_align(ndr
, 5));
13361 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13362 if (_ptr_site_from
) {
13363 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13365 r
->site_from
= NULL
;
13367 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13368 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13369 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13371 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13372 if (_ptr_site_to
) {
13373 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13377 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13378 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13380 if (ndr_flags
& NDR_BUFFERS
) {
13381 if (r
->site_from
) {
13382 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13383 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13384 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13385 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13386 if (ndr_get_array_length(ndr
, &r
->site_from
) > ndr_get_array_size(ndr
, &r
->site_from
)) {
13387 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
));
13389 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t)));
13390 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t), CH_UTF16
));
13391 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13394 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13395 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13396 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13397 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, ndr_get_array_size(ndr
, &r
->site_to
));
13398 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13399 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13400 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13401 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13402 if (_ptr_site_to
) {
13403 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13405 r
->site_to
[cntr_site_to_1
] = NULL
;
13408 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13409 if (r
->site_to
[cntr_site_to_1
]) {
13410 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13411 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13412 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13413 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13414 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
])) {
13415 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
]));
13417 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t)));
13418 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
));
13419 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13423 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13426 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13429 return NDR_ERR_SUCCESS
;
13432 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13434 uint32_t cntr_site_to_1
;
13435 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13437 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13439 if (r
->site_from
) {
13440 ndr_print_string(ndr
, "site_from", r
->site_from
);
13443 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13444 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13447 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13449 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13451 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13452 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13454 if (r
->site_to
[cntr_site_to_1
]) {
13455 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13464 ndr_print_uint32(ndr
, "flags", r
->flags
);
13468 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13470 if (ndr_flags
& NDR_SCALARS
) {
13471 int level
= ndr_push_get_switch_value(ndr
, r
);
13472 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13473 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13476 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13480 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13483 if (ndr_flags
& NDR_BUFFERS
) {
13484 int level
= ndr_push_get_switch_value(ndr
, r
);
13487 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13491 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13494 return NDR_ERR_SUCCESS
;
13497 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13501 level
= ndr_pull_get_switch_value(ndr
, r
);
13502 if (ndr_flags
& NDR_SCALARS
) {
13503 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13504 if (_level
!= level
) {
13505 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13507 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13510 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13514 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13517 if (ndr_flags
& NDR_BUFFERS
) {
13520 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13524 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13527 return NDR_ERR_SUCCESS
;
13530 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13533 level
= ndr_print_get_switch_value(ndr
, r
);
13534 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13537 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13541 ndr_print_bad_level(ndr
, name
, level
);
13545 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13547 if (flags
& NDR_IN
) {
13548 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13549 if (r
->in
.bind_guid
) {
13550 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13552 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13553 if (r
->in
.bind_info
) {
13554 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13557 if (flags
& NDR_OUT
) {
13558 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13559 if (r
->out
.bind_info
) {
13560 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13562 if (r
->out
.bind_handle
== NULL
) {
13563 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13565 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13566 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13568 return NDR_ERR_SUCCESS
;
13571 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13573 uint32_t _ptr_bind_guid
;
13574 uint32_t _ptr_bind_info
;
13575 TALLOC_CTX
*_mem_save_bind_guid_0
;
13576 TALLOC_CTX
*_mem_save_bind_info_0
;
13577 TALLOC_CTX
*_mem_save_bind_handle_0
;
13578 if (flags
& NDR_IN
) {
13579 ZERO_STRUCT(r
->out
);
13581 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13582 if (_ptr_bind_guid
) {
13583 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13585 r
->in
.bind_guid
= NULL
;
13587 if (r
->in
.bind_guid
) {
13588 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13589 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13590 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13591 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13593 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13594 if (_ptr_bind_info
) {
13595 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13597 r
->in
.bind_info
= NULL
;
13599 if (r
->in
.bind_info
) {
13600 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13601 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13602 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13603 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13605 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13606 ZERO_STRUCTP(r
->out
.bind_handle
);
13608 if (flags
& NDR_OUT
) {
13609 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13610 if (_ptr_bind_info
) {
13611 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13613 r
->out
.bind_info
= NULL
;
13615 if (r
->out
.bind_info
) {
13616 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13617 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13618 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13619 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13621 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13622 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13624 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13625 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13626 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13627 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13628 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13630 return NDR_ERR_SUCCESS
;
13633 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13635 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13637 if (flags
& NDR_SET_VALUES
) {
13638 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13640 if (flags
& NDR_IN
) {
13641 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
13643 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
13645 if (r
->in
.bind_guid
) {
13646 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
13649 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
13651 if (r
->in
.bind_info
) {
13652 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
13657 if (flags
& NDR_OUT
) {
13658 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
13660 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
13662 if (r
->out
.bind_info
) {
13663 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
13666 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13668 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13670 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13676 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
13678 if (flags
& NDR_IN
) {
13679 if (r
->in
.bind_handle
== NULL
) {
13680 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13682 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13684 if (flags
& NDR_OUT
) {
13685 if (r
->out
.bind_handle
== NULL
) {
13686 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13688 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13689 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13691 return NDR_ERR_SUCCESS
;
13694 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
13696 TALLOC_CTX
*_mem_save_bind_handle_0
;
13697 if (flags
& NDR_IN
) {
13698 ZERO_STRUCT(r
->out
);
13700 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13701 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13703 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13704 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13705 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13706 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13707 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13708 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
13710 if (flags
& NDR_OUT
) {
13711 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13712 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13714 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13715 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13716 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13717 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13718 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13720 return NDR_ERR_SUCCESS
;
13723 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
13725 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
13727 if (flags
& NDR_SET_VALUES
) {
13728 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13730 if (flags
& NDR_IN
) {
13731 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
13733 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13735 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13739 if (flags
& NDR_OUT
) {
13740 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
13742 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13744 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13746 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13752 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13754 if (flags
& NDR_IN
) {
13755 if (r
->in
.bind_handle
== NULL
) {
13756 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13758 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13759 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13760 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13761 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13763 if (flags
& NDR_OUT
) {
13764 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13766 return NDR_ERR_SUCCESS
;
13769 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
13771 TALLOC_CTX
*_mem_save_bind_handle_0
;
13772 if (flags
& NDR_IN
) {
13773 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13774 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13776 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13777 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13778 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13779 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13780 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13781 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13782 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13784 if (flags
& NDR_OUT
) {
13785 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13787 return NDR_ERR_SUCCESS
;
13790 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13792 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
13794 if (flags
& NDR_SET_VALUES
) {
13795 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13797 if (flags
& NDR_IN
) {
13798 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
13800 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13802 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13804 ndr_print_int32(ndr
, "level", r
->in
.level
);
13805 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13806 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", &r
->in
.req
);
13809 if (flags
& NDR_OUT
) {
13810 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
13812 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13818 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13820 if (flags
& NDR_IN
) {
13821 if (r
->in
.bind_handle
== NULL
) {
13822 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13824 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13825 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13826 if (r
->in
.req
== NULL
) {
13827 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13829 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13830 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13832 if (flags
& NDR_OUT
) {
13833 if (r
->out
.level_out
== NULL
) {
13834 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13836 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13837 if (r
->out
.ctr
== NULL
) {
13838 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13840 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13841 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13842 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13844 return NDR_ERR_SUCCESS
;
13847 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
13849 TALLOC_CTX
*_mem_save_bind_handle_0
;
13850 TALLOC_CTX
*_mem_save_req_0
;
13851 TALLOC_CTX
*_mem_save_level_out_0
;
13852 TALLOC_CTX
*_mem_save_ctr_0
;
13853 if (flags
& NDR_IN
) {
13854 ZERO_STRUCT(r
->out
);
13856 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13857 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13859 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13860 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13861 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13862 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13863 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13864 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13865 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13867 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13868 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13869 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13871 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13872 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13873 ZERO_STRUCTP(r
->out
.level_out
);
13874 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13875 ZERO_STRUCTP(r
->out
.ctr
);
13877 if (flags
& NDR_OUT
) {
13878 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13879 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13881 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13882 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13883 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13885 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13886 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13888 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13889 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13890 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13891 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13892 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13893 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13895 return NDR_ERR_SUCCESS
;
13898 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13900 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
13902 if (flags
& NDR_SET_VALUES
) {
13903 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13905 if (flags
& NDR_IN
) {
13906 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
13908 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13910 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13912 ndr_print_int32(ndr
, "level", r
->in
.level
);
13913 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13915 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13916 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
13920 if (flags
& NDR_OUT
) {
13921 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
13923 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13925 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13927 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13929 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13930 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
13932 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13938 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13940 if (flags
& NDR_IN
) {
13941 if (r
->in
.bind_handle
== NULL
) {
13942 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13944 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13945 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13946 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13947 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13949 if (flags
& NDR_OUT
) {
13950 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13952 return NDR_ERR_SUCCESS
;
13955 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
13957 TALLOC_CTX
*_mem_save_bind_handle_0
;
13958 if (flags
& NDR_IN
) {
13959 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13960 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13962 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13963 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13964 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13965 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13966 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13967 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13968 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13970 if (flags
& NDR_OUT
) {
13971 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13973 return NDR_ERR_SUCCESS
;
13976 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13978 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
13980 if (flags
& NDR_SET_VALUES
) {
13981 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13983 if (flags
& NDR_IN
) {
13984 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
13986 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13988 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13990 ndr_print_int32(ndr
, "level", r
->in
.level
);
13991 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13992 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
13995 if (flags
& NDR_OUT
) {
13996 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
13998 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14004 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14006 if (flags
& NDR_IN
) {
14007 if (r
->in
.bind_handle
== NULL
) {
14008 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14010 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14011 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14012 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14013 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14015 if (flags
& NDR_OUT
) {
14016 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14018 return NDR_ERR_SUCCESS
;
14021 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
14023 TALLOC_CTX
*_mem_save_bind_handle_0
;
14024 if (flags
& NDR_IN
) {
14025 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14026 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14028 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14029 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14030 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14031 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14032 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14033 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14034 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14036 if (flags
& NDR_OUT
) {
14037 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14039 return NDR_ERR_SUCCESS
;
14042 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14044 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
14046 if (flags
& NDR_SET_VALUES
) {
14047 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14049 if (flags
& NDR_IN
) {
14050 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
14052 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14054 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14056 ndr_print_int32(ndr
, "level", r
->in
.level
);
14057 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14058 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
14061 if (flags
& NDR_OUT
) {
14062 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
14064 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14070 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14072 if (flags
& NDR_IN
) {
14073 if (r
->in
.bind_handle
== NULL
) {
14074 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14076 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14077 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14078 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14079 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14081 if (flags
& NDR_OUT
) {
14082 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14084 return NDR_ERR_SUCCESS
;
14087 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
14089 TALLOC_CTX
*_mem_save_bind_handle_0
;
14090 if (flags
& NDR_IN
) {
14091 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14092 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14094 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14095 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14096 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14097 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14098 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14099 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14102 if (flags
& NDR_OUT
) {
14103 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14105 return NDR_ERR_SUCCESS
;
14108 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14110 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
14112 if (flags
& NDR_SET_VALUES
) {
14113 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14115 if (flags
& NDR_IN
) {
14116 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
14118 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14120 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14122 ndr_print_int32(ndr
, "level", r
->in
.level
);
14123 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14124 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
14127 if (flags
& NDR_OUT
) {
14128 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
14130 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14136 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14138 if (flags
& NDR_IN
) {
14139 if (r
->in
.bind_handle
== NULL
) {
14140 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14142 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14143 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14144 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14145 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14147 if (flags
& NDR_OUT
) {
14148 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14150 return NDR_ERR_SUCCESS
;
14153 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
14155 TALLOC_CTX
*_mem_save_bind_handle_0
;
14156 if (flags
& NDR_IN
) {
14157 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14158 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14160 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14161 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14162 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14163 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14164 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14165 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14168 if (flags
& NDR_OUT
) {
14169 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14171 return NDR_ERR_SUCCESS
;
14174 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14176 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
14178 if (flags
& NDR_SET_VALUES
) {
14179 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14181 if (flags
& NDR_IN
) {
14182 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
14184 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14186 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14188 ndr_print_int32(ndr
, "level", r
->in
.level
);
14189 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14190 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
14193 if (flags
& NDR_OUT
) {
14194 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
14196 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14202 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14204 if (flags
& NDR_IN
) {
14206 if (flags
& NDR_OUT
) {
14207 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14209 return NDR_ERR_SUCCESS
;
14212 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
14214 if (flags
& NDR_IN
) {
14216 if (flags
& NDR_OUT
) {
14217 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14219 return NDR_ERR_SUCCESS
;
14222 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14224 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
14226 if (flags
& NDR_SET_VALUES
) {
14227 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14229 if (flags
& NDR_IN
) {
14230 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
14234 if (flags
& NDR_OUT
) {
14235 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
14237 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14243 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14245 if (flags
& NDR_IN
) {
14246 if (r
->in
.bind_handle
== NULL
) {
14247 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14249 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14250 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14251 if (r
->in
.req
== NULL
) {
14252 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14254 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14255 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14257 if (flags
& NDR_OUT
) {
14258 if (r
->out
.level_out
== NULL
) {
14259 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14261 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14262 if (r
->out
.ctr
== NULL
) {
14263 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14265 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14267 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14269 return NDR_ERR_SUCCESS
;
14272 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
14274 TALLOC_CTX
*_mem_save_bind_handle_0
;
14275 TALLOC_CTX
*_mem_save_req_0
;
14276 TALLOC_CTX
*_mem_save_level_out_0
;
14277 TALLOC_CTX
*_mem_save_ctr_0
;
14278 if (flags
& NDR_IN
) {
14279 ZERO_STRUCT(r
->out
);
14281 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14282 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14284 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14285 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14286 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14288 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14289 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14290 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14292 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14293 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14294 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14295 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14296 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14297 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14298 ZERO_STRUCTP(r
->out
.level_out
);
14299 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14300 ZERO_STRUCTP(r
->out
.ctr
);
14302 if (flags
& NDR_OUT
) {
14303 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14304 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14306 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14307 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14308 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14309 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14310 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14311 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14313 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14314 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14315 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14316 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14318 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14320 return NDR_ERR_SUCCESS
;
14323 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14325 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14327 if (flags
& NDR_SET_VALUES
) {
14328 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14330 if (flags
& NDR_IN
) {
14331 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14333 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14335 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14337 ndr_print_int32(ndr
, "level", r
->in
.level
);
14338 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14340 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14341 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14345 if (flags
& NDR_OUT
) {
14346 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14348 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14350 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14352 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14354 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14355 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14357 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14363 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14365 if (flags
& NDR_IN
) {
14367 if (flags
& NDR_OUT
) {
14368 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14370 return NDR_ERR_SUCCESS
;
14373 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14375 if (flags
& NDR_IN
) {
14377 if (flags
& NDR_OUT
) {
14378 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14380 return NDR_ERR_SUCCESS
;
14383 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14385 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14387 if (flags
& NDR_SET_VALUES
) {
14388 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14390 if (flags
& NDR_IN
) {
14391 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14395 if (flags
& NDR_OUT
) {
14396 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14398 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14404 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14406 if (flags
& NDR_IN
) {
14407 if (r
->in
.bind_handle
== NULL
) {
14408 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14410 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14411 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14412 if (r
->in
.req
== NULL
) {
14413 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14415 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14416 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14418 if (flags
& NDR_OUT
) {
14419 if (r
->out
.level_out
== NULL
) {
14420 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14422 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14423 if (r
->out
.info
== NULL
) {
14424 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14426 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14427 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14428 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14430 return NDR_ERR_SUCCESS
;
14433 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14435 TALLOC_CTX
*_mem_save_bind_handle_0
;
14436 TALLOC_CTX
*_mem_save_req_0
;
14437 TALLOC_CTX
*_mem_save_level_out_0
;
14438 TALLOC_CTX
*_mem_save_info_0
;
14439 if (flags
& NDR_IN
) {
14440 ZERO_STRUCT(r
->out
);
14442 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14443 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14445 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14446 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14447 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14448 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14449 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14450 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14451 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14453 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14454 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14455 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14456 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14457 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14458 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14459 ZERO_STRUCTP(r
->out
.level_out
);
14460 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14461 ZERO_STRUCTP(r
->out
.info
);
14463 if (flags
& NDR_OUT
) {
14464 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14465 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14467 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14468 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14469 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14470 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14471 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14472 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14474 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14475 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14476 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14477 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14478 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14479 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14481 return NDR_ERR_SUCCESS
;
14484 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14486 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14488 if (flags
& NDR_SET_VALUES
) {
14489 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14491 if (flags
& NDR_IN
) {
14492 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14494 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14496 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14498 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14499 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14501 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14502 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14506 if (flags
& NDR_OUT
) {
14507 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14509 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14511 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14513 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14515 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14516 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14518 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14524 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14526 if (flags
& NDR_IN
) {
14527 if (r
->in
.bind_handle
== NULL
) {
14528 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14530 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14531 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14532 if (r
->in
.req
== NULL
) {
14533 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14535 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14536 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14538 if (flags
& NDR_OUT
) {
14539 if (r
->out
.level_out
== NULL
) {
14540 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14542 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14543 if (r
->out
.ctr
== NULL
) {
14544 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14546 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14547 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14548 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14550 return NDR_ERR_SUCCESS
;
14553 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14555 TALLOC_CTX
*_mem_save_bind_handle_0
;
14556 TALLOC_CTX
*_mem_save_req_0
;
14557 TALLOC_CTX
*_mem_save_level_out_0
;
14558 TALLOC_CTX
*_mem_save_ctr_0
;
14559 if (flags
& NDR_IN
) {
14560 ZERO_STRUCT(r
->out
);
14562 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14563 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14565 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14566 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14567 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14568 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14569 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14570 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14571 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14573 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14574 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14575 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14576 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14578 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14579 ZERO_STRUCTP(r
->out
.level_out
);
14580 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14581 ZERO_STRUCTP(r
->out
.ctr
);
14583 if (flags
& NDR_OUT
) {
14584 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14585 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14587 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14588 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14589 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14591 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14592 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14594 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14595 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14596 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14597 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14598 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14599 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14601 return NDR_ERR_SUCCESS
;
14604 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14606 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14608 if (flags
& NDR_SET_VALUES
) {
14609 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14611 if (flags
& NDR_IN
) {
14612 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14614 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14616 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14618 ndr_print_int32(ndr
, "level", r
->in
.level
);
14619 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14621 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14622 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14626 if (flags
& NDR_OUT
) {
14627 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
14629 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14631 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14633 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14635 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14636 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
14638 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14644 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14646 if (flags
& NDR_IN
) {
14647 if (r
->in
.bind_handle
== NULL
) {
14648 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14650 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14651 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14652 if (r
->in
.req
== NULL
) {
14653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14655 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14656 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14658 if (flags
& NDR_OUT
) {
14659 if (r
->out
.level_out
== NULL
) {
14660 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14662 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14663 if (r
->out
.res
== NULL
) {
14664 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14666 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14667 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14668 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14670 return NDR_ERR_SUCCESS
;
14673 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
14675 TALLOC_CTX
*_mem_save_bind_handle_0
;
14676 TALLOC_CTX
*_mem_save_req_0
;
14677 TALLOC_CTX
*_mem_save_level_out_0
;
14678 TALLOC_CTX
*_mem_save_res_0
;
14679 if (flags
& NDR_IN
) {
14680 ZERO_STRUCT(r
->out
);
14682 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14683 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14685 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14686 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14687 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14689 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14690 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14691 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14693 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14694 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14695 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14696 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14697 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14698 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14699 ZERO_STRUCTP(r
->out
.level_out
);
14700 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14701 ZERO_STRUCTP(r
->out
.res
);
14703 if (flags
& NDR_OUT
) {
14704 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14705 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14707 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14708 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14709 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14711 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14712 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14714 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14715 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14716 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14717 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14718 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14719 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14721 return NDR_ERR_SUCCESS
;
14724 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14726 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
14728 if (flags
& NDR_SET_VALUES
) {
14729 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14731 if (flags
& NDR_IN
) {
14732 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
14734 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14736 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14738 ndr_print_int32(ndr
, "level", r
->in
.level
);
14739 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14741 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14742 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
14746 if (flags
& NDR_OUT
) {
14747 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
14749 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14751 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14753 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14755 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14756 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
14758 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14764 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14766 if (flags
& NDR_IN
) {
14767 if (r
->in
.bind_handle
== NULL
) {
14768 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14770 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14771 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14772 if (r
->in
.req
== NULL
) {
14773 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14775 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14776 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14778 if (flags
& NDR_OUT
) {
14779 if (r
->out
.level_out
== NULL
) {
14780 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14782 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14783 if (r
->out
.res
== NULL
) {
14784 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14786 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14787 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14788 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14790 return NDR_ERR_SUCCESS
;
14793 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
14795 TALLOC_CTX
*_mem_save_bind_handle_0
;
14796 TALLOC_CTX
*_mem_save_req_0
;
14797 TALLOC_CTX
*_mem_save_level_out_0
;
14798 TALLOC_CTX
*_mem_save_res_0
;
14799 if (flags
& NDR_IN
) {
14800 ZERO_STRUCT(r
->out
);
14802 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14803 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14805 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14806 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14807 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14809 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14810 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14811 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14813 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14814 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14815 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14816 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14818 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14819 ZERO_STRUCTP(r
->out
.level_out
);
14820 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14821 ZERO_STRUCTP(r
->out
.res
);
14823 if (flags
& NDR_OUT
) {
14824 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14825 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14827 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14828 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14829 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14830 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14831 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14832 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14834 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14835 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14836 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14837 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14838 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14839 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14841 return NDR_ERR_SUCCESS
;
14844 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14846 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
14848 if (flags
& NDR_SET_VALUES
) {
14849 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14851 if (flags
& NDR_IN
) {
14852 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
14854 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14856 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14858 ndr_print_int32(ndr
, "level", r
->in
.level
);
14859 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14861 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14862 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
14866 if (flags
& NDR_OUT
) {
14867 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
14869 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14871 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14873 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14875 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14876 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
14878 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14884 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14886 if (flags
& NDR_IN
) {
14888 if (flags
& NDR_OUT
) {
14889 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14891 return NDR_ERR_SUCCESS
;
14894 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14896 if (flags
& NDR_IN
) {
14898 if (flags
& NDR_OUT
) {
14899 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14901 return NDR_ERR_SUCCESS
;
14904 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14906 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
14908 if (flags
& NDR_SET_VALUES
) {
14909 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14911 if (flags
& NDR_IN
) {
14912 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14916 if (flags
& NDR_OUT
) {
14917 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14919 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14925 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14927 if (flags
& NDR_IN
) {
14928 if (r
->in
.bind_handle
== NULL
) {
14929 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14931 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14932 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14933 if (r
->in
.req
== NULL
) {
14934 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14936 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14937 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14939 if (flags
& NDR_OUT
) {
14940 if (r
->out
.level_out
== NULL
) {
14941 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14943 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14944 if (r
->out
.ctr
== NULL
) {
14945 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14947 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14948 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14949 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14951 return NDR_ERR_SUCCESS
;
14954 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
14956 TALLOC_CTX
*_mem_save_bind_handle_0
;
14957 TALLOC_CTX
*_mem_save_req_0
;
14958 TALLOC_CTX
*_mem_save_level_out_0
;
14959 TALLOC_CTX
*_mem_save_ctr_0
;
14960 if (flags
& NDR_IN
) {
14961 ZERO_STRUCT(r
->out
);
14963 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14964 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14966 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14967 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14968 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14969 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14970 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14971 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14972 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14974 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14975 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14976 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14977 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14979 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14980 ZERO_STRUCTP(r
->out
.level_out
);
14981 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14982 ZERO_STRUCTP(r
->out
.ctr
);
14984 if (flags
& NDR_OUT
) {
14985 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14986 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14988 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14989 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14990 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14991 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14992 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14993 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14995 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14996 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14997 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14998 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15000 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15002 return NDR_ERR_SUCCESS
;
15005 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
15007 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
15009 if (flags
& NDR_SET_VALUES
) {
15010 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15012 if (flags
& NDR_IN
) {
15013 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
15015 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15017 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15019 ndr_print_int32(ndr
, "level", r
->in
.level
);
15020 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15022 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15023 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
15027 if (flags
& NDR_OUT
) {
15028 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
15030 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15032 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15034 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15036 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15037 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
15039 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15045 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15047 if (flags
& NDR_IN
) {
15048 if (r
->in
.bind_handle
== NULL
) {
15049 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15051 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15052 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15053 if (r
->in
.req
== NULL
) {
15054 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15056 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15057 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15059 if (flags
& NDR_OUT
) {
15060 if (r
->out
.level_out
== NULL
) {
15061 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15063 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15064 if (r
->out
.ctr
== NULL
) {
15065 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15067 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15068 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15069 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15071 return NDR_ERR_SUCCESS
;
15074 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
15076 TALLOC_CTX
*_mem_save_bind_handle_0
;
15077 TALLOC_CTX
*_mem_save_req_0
;
15078 TALLOC_CTX
*_mem_save_level_out_0
;
15079 TALLOC_CTX
*_mem_save_ctr_0
;
15080 if (flags
& NDR_IN
) {
15081 ZERO_STRUCT(r
->out
);
15083 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15084 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15086 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15087 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15088 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15089 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15090 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15091 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15092 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15094 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15095 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15096 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15097 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15098 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15099 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15100 ZERO_STRUCTP(r
->out
.level_out
);
15101 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15102 ZERO_STRUCTP(r
->out
.ctr
);
15104 if (flags
& NDR_OUT
) {
15105 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15106 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15108 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15109 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15110 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15112 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15113 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15115 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15116 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15117 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15118 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15120 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15122 return NDR_ERR_SUCCESS
;
15125 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15127 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
15129 if (flags
& NDR_SET_VALUES
) {
15130 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15132 if (flags
& NDR_IN
) {
15133 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
15135 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15137 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15139 ndr_print_int32(ndr
, "level", r
->in
.level
);
15140 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15142 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15143 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
15147 if (flags
& NDR_OUT
) {
15148 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
15150 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15152 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15154 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15156 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15157 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
15159 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15165 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15167 if (flags
& NDR_IN
) {
15168 if (r
->in
.bind_handle
== NULL
) {
15169 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15171 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15172 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15173 if (r
->in
.req
== NULL
) {
15174 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15176 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15177 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15179 if (flags
& NDR_OUT
) {
15180 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15182 return NDR_ERR_SUCCESS
;
15185 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
15187 TALLOC_CTX
*_mem_save_bind_handle_0
;
15188 TALLOC_CTX
*_mem_save_req_0
;
15189 if (flags
& NDR_IN
) {
15190 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15191 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15193 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15194 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15195 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15196 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15198 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15199 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15201 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15202 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15203 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15204 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15205 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15207 if (flags
& NDR_OUT
) {
15208 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15210 return NDR_ERR_SUCCESS
;
15213 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15215 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
15217 if (flags
& NDR_SET_VALUES
) {
15218 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15220 if (flags
& NDR_IN
) {
15221 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
15223 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15225 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15227 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15228 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15230 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15231 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
15235 if (flags
& NDR_OUT
) {
15236 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
15238 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15244 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15246 if (flags
& NDR_IN
) {
15247 if (r
->in
.bind_handle
== NULL
) {
15248 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15250 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15251 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
15252 if (r
->in
.req
== NULL
) {
15253 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15255 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15256 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15258 if (flags
& NDR_OUT
) {
15259 if (r
->out
.info_type
== NULL
) {
15260 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15262 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
15263 if (r
->out
.info
== NULL
) {
15264 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15266 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15267 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15268 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15270 return NDR_ERR_SUCCESS
;
15273 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
15275 TALLOC_CTX
*_mem_save_bind_handle_0
;
15276 TALLOC_CTX
*_mem_save_req_0
;
15277 TALLOC_CTX
*_mem_save_info_type_0
;
15278 TALLOC_CTX
*_mem_save_info_0
;
15279 if (flags
& NDR_IN
) {
15280 ZERO_STRUCT(r
->out
);
15282 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15283 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15285 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15286 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15287 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15288 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15289 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
15290 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15291 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15293 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15294 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15295 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15297 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15298 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15299 ZERO_STRUCTP(r
->out
.info_type
);
15300 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15301 ZERO_STRUCTP(r
->out
.info
);
15303 if (flags
& NDR_OUT
) {
15304 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15305 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15307 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15308 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15311 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15312 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15314 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15315 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15316 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15319 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15321 return NDR_ERR_SUCCESS
;
15324 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15326 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15328 if (flags
& NDR_SET_VALUES
) {
15329 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15331 if (flags
& NDR_IN
) {
15332 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15334 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15336 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15338 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15339 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15341 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15342 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15346 if (flags
& NDR_OUT
) {
15347 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15349 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15351 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15353 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15355 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15356 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15358 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15364 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15366 if (flags
& NDR_IN
) {
15368 if (flags
& NDR_OUT
) {
15369 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15371 return NDR_ERR_SUCCESS
;
15374 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15376 if (flags
& NDR_IN
) {
15378 if (flags
& NDR_OUT
) {
15379 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15381 return NDR_ERR_SUCCESS
;
15384 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15386 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15388 if (flags
& NDR_SET_VALUES
) {
15389 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15391 if (flags
& NDR_IN
) {
15392 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15396 if (flags
& NDR_OUT
) {
15397 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15399 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15405 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15407 if (flags
& NDR_IN
) {
15408 if (r
->in
.bind_handle
== NULL
) {
15409 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15411 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15412 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15413 if (r
->in
.req
== NULL
) {
15414 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15416 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15417 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15419 if (flags
& NDR_OUT
) {
15420 if (r
->out
.level_out
== NULL
) {
15421 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15423 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15424 if (r
->out
.ctr
== NULL
) {
15425 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15427 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15428 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15429 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15431 return NDR_ERR_SUCCESS
;
15434 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15436 TALLOC_CTX
*_mem_save_bind_handle_0
;
15437 TALLOC_CTX
*_mem_save_req_0
;
15438 TALLOC_CTX
*_mem_save_level_out_0
;
15439 TALLOC_CTX
*_mem_save_ctr_0
;
15440 if (flags
& NDR_IN
) {
15441 ZERO_STRUCT(r
->out
);
15443 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15444 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15446 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15447 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15448 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15449 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15450 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15451 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15452 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15454 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15455 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15456 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15457 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15458 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15459 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15460 ZERO_STRUCTP(r
->out
.level_out
);
15461 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15462 ZERO_STRUCTP(r
->out
.ctr
);
15464 if (flags
& NDR_OUT
) {
15465 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15466 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15468 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15469 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15470 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15471 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15472 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15473 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15475 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15476 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15477 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15478 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15479 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15480 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15482 return NDR_ERR_SUCCESS
;
15485 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15487 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15489 if (flags
& NDR_SET_VALUES
) {
15490 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15492 if (flags
& NDR_IN
) {
15493 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15495 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15497 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15499 ndr_print_int32(ndr
, "level", r
->in
.level
);
15500 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15502 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15503 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15507 if (flags
& NDR_OUT
) {
15508 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15510 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15512 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15514 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15516 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15517 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15519 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15525 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15527 if (flags
& NDR_IN
) {
15529 if (flags
& NDR_OUT
) {
15530 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15532 return NDR_ERR_SUCCESS
;
15535 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15537 if (flags
& NDR_IN
) {
15539 if (flags
& NDR_OUT
) {
15540 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15542 return NDR_ERR_SUCCESS
;
15545 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15547 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15549 if (flags
& NDR_SET_VALUES
) {
15550 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15552 if (flags
& NDR_IN
) {
15553 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15557 if (flags
& NDR_OUT
) {
15558 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15560 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15566 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15568 if (flags
& NDR_IN
) {
15570 if (flags
& NDR_OUT
) {
15571 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15573 return NDR_ERR_SUCCESS
;
15576 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15578 if (flags
& NDR_IN
) {
15580 if (flags
& NDR_OUT
) {
15581 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15583 return NDR_ERR_SUCCESS
;
15586 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15588 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15590 if (flags
& NDR_SET_VALUES
) {
15591 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15593 if (flags
& NDR_IN
) {
15594 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15598 if (flags
& NDR_OUT
) {
15599 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15601 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15607 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15609 if (flags
& NDR_IN
) {
15610 if (r
->in
.bind_handle
== NULL
) {
15611 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15613 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15614 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15615 if (r
->in
.req
== NULL
) {
15616 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15618 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15619 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15621 if (flags
& NDR_OUT
) {
15622 if (r
->out
.level_out
== NULL
) {
15623 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15625 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15626 if (r
->out
.ctr
== NULL
) {
15627 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15629 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15630 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15631 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15633 return NDR_ERR_SUCCESS
;
15636 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
15638 TALLOC_CTX
*_mem_save_bind_handle_0
;
15639 TALLOC_CTX
*_mem_save_req_0
;
15640 TALLOC_CTX
*_mem_save_level_out_0
;
15641 TALLOC_CTX
*_mem_save_ctr_0
;
15642 if (flags
& NDR_IN
) {
15643 ZERO_STRUCT(r
->out
);
15645 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15646 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15648 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15649 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15650 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15651 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15652 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15653 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15654 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15656 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15657 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15658 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15659 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15660 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15661 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15662 ZERO_STRUCTP(r
->out
.level_out
);
15663 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15664 ZERO_STRUCTP(r
->out
.ctr
);
15666 if (flags
& NDR_OUT
) {
15667 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15668 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15670 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15671 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15672 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15673 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15674 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15675 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15677 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15678 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15679 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15680 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15681 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15682 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15684 return NDR_ERR_SUCCESS
;
15687 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15689 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
15691 if (flags
& NDR_SET_VALUES
) {
15692 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15694 if (flags
& NDR_IN
) {
15695 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
15697 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15699 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15701 ndr_print_int32(ndr
, "level", r
->in
.level
);
15702 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15704 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15705 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
15709 if (flags
& NDR_OUT
) {
15710 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
15712 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15714 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15716 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15718 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15719 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
15721 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15727 static const struct ndr_interface_call drsuapi_calls
[] = {
15730 sizeof(struct drsuapi_DsBind
),
15731 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
15732 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
15733 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
15737 "drsuapi_DsUnbind",
15738 sizeof(struct drsuapi_DsUnbind
),
15739 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
15740 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
15741 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
15745 "drsuapi_DsReplicaSync",
15746 sizeof(struct drsuapi_DsReplicaSync
),
15747 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
15748 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
15749 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
15753 "drsuapi_DsGetNCChanges",
15754 sizeof(struct drsuapi_DsGetNCChanges
),
15755 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
15756 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
15757 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
15761 "drsuapi_DsReplicaUpdateRefs",
15762 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
15763 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
15764 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
15765 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
15769 "drsuapi_DsReplicaAdd",
15770 sizeof(struct drsuapi_DsReplicaAdd
),
15771 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
15772 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
15773 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
15777 "drsuapi_DsReplicaDel",
15778 sizeof(struct drsuapi_DsReplicaDel
),
15779 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
15780 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
15781 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
15785 "drsuapi_DsReplicaMod",
15786 sizeof(struct drsuapi_DsReplicaMod
),
15787 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
15788 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
15789 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
15793 "DRSUAPI_VERIFY_NAMES",
15794 sizeof(struct DRSUAPI_VERIFY_NAMES
),
15795 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
15796 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
15797 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
15801 "drsuapi_DsGetMemberships",
15802 sizeof(struct drsuapi_DsGetMemberships
),
15803 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
15804 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
15805 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
15809 "DRSUAPI_INTER_DOMAIN_MOVE",
15810 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
15811 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
15812 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
15813 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
15817 "drsuapi_DsGetNT4ChangeLog",
15818 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
15819 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
15820 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
15821 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
15825 "drsuapi_DsCrackNames",
15826 sizeof(struct drsuapi_DsCrackNames
),
15827 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
15828 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
15829 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
15833 "drsuapi_DsWriteAccountSpn",
15834 sizeof(struct drsuapi_DsWriteAccountSpn
),
15835 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
15836 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
15837 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
15841 "drsuapi_DsRemoveDSServer",
15842 sizeof(struct drsuapi_DsRemoveDSServer
),
15843 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
15844 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
15845 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
15849 "DRSUAPI_REMOVE_DS_DOMAIN",
15850 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
15851 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
15852 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
15853 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
15857 "drsuapi_DsGetDomainControllerInfo",
15858 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
15859 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
15860 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
15861 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
15865 "drsuapi_DsAddEntry",
15866 sizeof(struct drsuapi_DsAddEntry
),
15867 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
15868 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
15869 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
15873 "drsuapi_DsExecuteKCC",
15874 sizeof(struct drsuapi_DsExecuteKCC
),
15875 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
15876 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
15877 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
15881 "drsuapi_DsReplicaGetInfo",
15882 sizeof(struct drsuapi_DsReplicaGetInfo
),
15883 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
15884 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
15885 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
15889 "DRSUAPI_ADD_SID_HISTORY",
15890 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
15891 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
15892 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
15893 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
15897 "drsuapi_DsGetMemberships2",
15898 sizeof(struct drsuapi_DsGetMemberships2
),
15899 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
15900 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
15901 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
15905 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15906 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
15907 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15908 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15909 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15913 "DRSUAPI_GET_OBJECT_EXISTENCE",
15914 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
15915 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
15916 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
15917 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
15921 "drsuapi_QuerySitesByCost",
15922 sizeof(struct drsuapi_QuerySitesByCost
),
15923 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
15924 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
15925 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
15928 { NULL
, 0, NULL
, NULL
, NULL
, false }
15931 static const char * const drsuapi_endpoint_strings
[] = {
15932 "ncacn_np:[\\pipe\\lsass]",
15933 "ncacn_np:[\\pipe\\protected_storage]",
15938 static const struct ndr_interface_string_array drsuapi_endpoints
= {
15940 .names
= drsuapi_endpoint_strings
15943 static const char * const drsuapi_authservice_strings
[] = {
15947 static const struct ndr_interface_string_array drsuapi_authservices
= {
15949 .names
= drsuapi_authservice_strings
15953 const struct ndr_interface_table ndr_table_drsuapi
= {
15956 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15957 NDR_DRSUAPI_VERSION
15959 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
15961 .calls
= drsuapi_calls
,
15962 .endpoints
= &drsuapi_endpoints
,
15963 .authservices
= &drsuapi_authservices