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_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION
, r
);
31 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR
, r
);
40 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC
, r
);
41 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY
, r
);
42 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC
, r
);
43 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE
, r
);
44 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY
, r
);
45 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME
, r
);
46 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK
, r
);
47 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW
, r
);
48 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE
, r
);
49 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS
, r
);
50 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET
, r
);
51 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE
, r
);
52 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT
, r
);
53 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN
, r
);
54 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD
, r
);
55 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED
, r
);
56 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING
, r
);
57 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW
, r
);
58 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED
, r
);
59 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED
, r
);
60 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC
, r
);
61 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC
, r
);
62 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION
, r
);
63 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY
, r
);
64 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS
, r
);
65 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP
, r
);
69 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
71 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
72 return NDR_ERR_SUCCESS
;
75 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
78 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
80 return NDR_ERR_SUCCESS
;
83 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
85 ndr_print_uint32(ndr
, name
, r
);
87 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE
, r
);
88 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION
, r
);
89 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI
, r
);
90 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2
, r
);
91 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS
, r
);
92 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1
, r
);
93 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2
, r
);
99 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
);
100 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND
, r
);
101 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO
, r
);
102 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION
, r
);
103 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01
, r
);
104 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP
, r
);
105 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY
, r
);
106 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3
, r
);
107 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5
, r
);
108 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2
, r
);
109 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6
, r
);
110 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS
, r
);
111 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8
, r
);
112 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5
, r
);
113 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6
, r
);
114 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3
, r
);
115 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7
, r
);
116 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT
, r
);
117 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS
, r
);
118 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10
, r
);
119 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2
, r
);
120 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3
, r
);
124 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
126 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
127 return NDR_ERR_SUCCESS
;
130 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
133 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
135 return NDR_ERR_SUCCESS
;
138 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
140 ndr_print_uint32(ndr
, name
, r
);
142 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM
, r
);
143 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2
, r
);
144 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN
, r
);
148 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo24
*r
)
150 if (ndr_flags
& NDR_SCALARS
) {
151 NDR_CHECK(ndr_push_align(ndr
, 4));
152 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
153 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
155 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
157 if (ndr_flags
& NDR_BUFFERS
) {
159 return NDR_ERR_SUCCESS
;
162 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo24
*r
)
164 if (ndr_flags
& NDR_SCALARS
) {
165 NDR_CHECK(ndr_pull_align(ndr
, 4));
166 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
167 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
168 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
169 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
171 if (ndr_flags
& NDR_BUFFERS
) {
173 return NDR_ERR_SUCCESS
;
176 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo24(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo24
*r
)
178 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo24");
180 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
181 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
182 ndr_print_uint32(ndr
, "pid", r
->pid
);
186 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo28(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo28
*r
)
188 if (ndr_flags
& NDR_SCALARS
) {
189 NDR_CHECK(ndr_push_align(ndr
, 4));
190 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
191 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
192 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
194 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
196 if (ndr_flags
& NDR_BUFFERS
) {
198 return NDR_ERR_SUCCESS
;
201 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo28
*r
)
203 if (ndr_flags
& NDR_SCALARS
) {
204 NDR_CHECK(ndr_pull_align(ndr
, 4));
205 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
206 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
207 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
208 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
209 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
211 if (ndr_flags
& NDR_BUFFERS
) {
213 return NDR_ERR_SUCCESS
;
216 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo28(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo28
*r
)
218 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo28");
220 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
221 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
222 ndr_print_uint32(ndr
, "pid", r
->pid
);
223 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
227 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo48(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo48
*r
)
229 if (ndr_flags
& NDR_SCALARS
) {
230 NDR_CHECK(ndr_push_align(ndr
, 4));
231 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
232 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
233 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
234 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
235 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, r
->supported_extensions_ext
));
236 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
237 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
239 if (ndr_flags
& NDR_BUFFERS
) {
241 return NDR_ERR_SUCCESS
;
244 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo48
*r
)
246 if (ndr_flags
& NDR_SCALARS
) {
247 NDR_CHECK(ndr_pull_align(ndr
, 4));
248 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
249 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
252 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, &r
->supported_extensions_ext
));
253 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
254 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
256 if (ndr_flags
& NDR_BUFFERS
) {
258 return NDR_ERR_SUCCESS
;
261 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo48(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo48
*r
)
263 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo48");
265 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
266 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
267 ndr_print_uint32(ndr
, "pid", r
->pid
);
268 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
269 ndr_print_drsuapi_SupportedExtensionsExt(ndr
, "supported_extensions_ext", r
->supported_extensions_ext
);
270 ndr_print_GUID(ndr
, "config_dn_guid", &r
->config_dn_guid
);
274 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoFallBack
*r
)
276 if (ndr_flags
& NDR_SCALARS
) {
277 NDR_CHECK(ndr_push_align(ndr
, 4));
279 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
280 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
281 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->info
));
282 ndr
->flags
= _flags_save_DATA_BLOB
;
284 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
286 if (ndr_flags
& NDR_BUFFERS
) {
288 return NDR_ERR_SUCCESS
;
291 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoFallBack
*r
)
293 if (ndr_flags
& NDR_SCALARS
) {
294 NDR_CHECK(ndr_pull_align(ndr
, 4));
296 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
297 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
298 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->info
));
299 ndr
->flags
= _flags_save_DATA_BLOB
;
301 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
303 if (ndr_flags
& NDR_BUFFERS
) {
305 return NDR_ERR_SUCCESS
;
308 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoFallBack
*r
)
310 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoFallBack");
312 ndr_print_DATA_BLOB(ndr
, "info", r
->info
);
316 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsBindInfo
*r
)
318 if (ndr_flags
& NDR_SCALARS
) {
319 int level
= ndr_push_get_switch_value(ndr
, r
);
320 NDR_CHECK(ndr_push_union_align(ndr
, 1));
324 struct ndr_push
*_ndr_info24
;
325 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
326 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
327 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info24
, 4, -1));
333 struct ndr_push
*_ndr_info28
;
334 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
335 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
336 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info28
, 4, -1));
342 struct ndr_push
*_ndr_info48
;
343 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
344 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
345 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info48
, 4, -1));
351 struct ndr_push
*_ndr_FallBack
;
352 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
353 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
354 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
360 if (ndr_flags
& NDR_BUFFERS
) {
361 int level
= ndr_push_get_switch_value(ndr
, r
);
377 return NDR_ERR_SUCCESS
;
380 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsBindInfo
*r
)
383 level
= ndr_pull_get_switch_value(ndr
, r
);
384 if (ndr_flags
& NDR_SCALARS
) {
385 NDR_CHECK(ndr_pull_union_align(ndr
, 1));
389 struct ndr_pull
*_ndr_info24
;
390 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
391 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
392 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info24
, 4, -1));
398 struct ndr_pull
*_ndr_info28
;
399 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
400 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
401 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info28
, 4, -1));
407 struct ndr_pull
*_ndr_info48
;
408 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
409 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
410 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info48
, 4, -1));
416 struct ndr_pull
*_ndr_FallBack
;
417 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
418 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
419 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
425 if (ndr_flags
& NDR_BUFFERS
) {
441 return NDR_ERR_SUCCESS
;
444 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsBindInfo
*r
)
447 level
= ndr_print_get_switch_value(ndr
, r
);
448 ndr_print_union(ndr
, name
, level
, "drsuapi_DsBindInfo");
451 ndr_print_drsuapi_DsBindInfo24(ndr
, "info24", &r
->info24
);
455 ndr_print_drsuapi_DsBindInfo28(ndr
, "info28", &r
->info28
);
459 ndr_print_drsuapi_DsBindInfo48(ndr
, "info48", &r
->info48
);
463 ndr_print_drsuapi_DsBindInfoFallBack(ndr
, "FallBack", &r
->FallBack
);
469 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoCtr
*r
)
471 if (ndr_flags
& NDR_SCALARS
) {
472 NDR_CHECK(ndr_push_align(ndr
, 4));
473 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
474 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->length
));
475 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
476 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
478 if (ndr_flags
& NDR_BUFFERS
) {
480 return NDR_ERR_SUCCESS
;
483 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoCtr
*r
)
485 if (ndr_flags
& NDR_SCALARS
) {
486 NDR_CHECK(ndr_pull_align(ndr
, 4));
487 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
488 if (r
->length
< 1 || r
->length
> 10000) {
489 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
491 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->length
));
492 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
493 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
495 if (ndr_flags
& NDR_BUFFERS
) {
497 return NDR_ERR_SUCCESS
;
500 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoCtr
*r
)
502 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoCtr");
504 ndr_print_uint32(ndr
, "length", r
->length
);
505 ndr_print_set_switch_value(ndr
, &r
->info
, r
->length
);
506 ndr_print_drsuapi_DsBindInfo(ndr
, "info", &r
->info
);
510 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
512 if (ndr_flags
& NDR_SCALARS
) {
513 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->dn
) + 1));
514 NDR_CHECK(ndr_push_align(ndr
, 4));
515 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
516 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
517 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
518 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
519 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
520 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
521 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
523 if (ndr_flags
& NDR_BUFFERS
) {
524 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
526 return NDR_ERR_SUCCESS
;
529 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier
*r
)
531 if (ndr_flags
& NDR_SCALARS
) {
532 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dn
));
533 NDR_CHECK(ndr_pull_align(ndr
, 4));
534 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
535 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
536 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
537 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
538 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
539 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, ndr_get_array_size(ndr
, &r
->dn
), sizeof(uint16_t), CH_UTF16
));
541 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->dn
, r
->__ndr_size_dn
+ 1));
543 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
545 if (ndr_flags
& NDR_BUFFERS
) {
546 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
548 return NDR_ERR_SUCCESS
;
551 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
553 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier");
555 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
);
556 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
);
557 ndr_print_GUID(ndr
, "guid", &r
->guid
);
558 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
559 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
560 ndr_print_string(ndr
, "dn", r
->dn
);
564 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier
*r
, struct smb_iconv_convenience
*ic
, int flags
)
566 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier
, ic
);
569 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
571 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
572 return NDR_ERR_SUCCESS
;
575 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
578 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
580 return NDR_ERR_SUCCESS
;
583 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
585 ndr_print_uint32(ndr
, name
, r
);
587 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION
, r
);
588 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE
, r
);
589 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC
, r
);
590 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING
, r
);
591 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES
, r
);
592 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL
, r
);
593 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT
, r
);
594 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD
, r
);
595 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE
, r
);
596 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE
, r
);
597 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED
, r
);
598 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY
, r
);
599 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY
, r
);
600 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL
, r
);
601 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION
, r
);
602 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED
, r
);
603 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS
, r
);
604 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET
, r
);
605 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE
, r
);
606 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION
, r
);
607 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA
, r
);
608 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL
, r
);
609 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS
, r
);
610 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED
, r
);
614 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
616 if (ndr_flags
& NDR_SCALARS
) {
617 NDR_CHECK(ndr_push_align(ndr
, 5));
618 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
619 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
621 uint32_t _flags_save_string
= ndr
->flags
;
622 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
623 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->other_info
));
624 ndr
->flags
= _flags_save_string
;
626 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
627 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
629 if (ndr_flags
& NDR_BUFFERS
) {
630 if (r
->naming_context
) {
631 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
634 uint32_t _flags_save_string
= ndr
->flags
;
635 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
637 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->other_info
));
639 ndr
->flags
= _flags_save_string
;
642 return NDR_ERR_SUCCESS
;
645 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
647 uint32_t _ptr_naming_context
;
648 TALLOC_CTX
*_mem_save_naming_context_0
;
649 uint32_t _ptr_other_info
;
650 TALLOC_CTX
*_mem_save_other_info_0
;
651 if (ndr_flags
& NDR_SCALARS
) {
652 NDR_CHECK(ndr_pull_align(ndr
, 5));
653 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
654 if (_ptr_naming_context
) {
655 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
657 r
->naming_context
= NULL
;
659 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
661 uint32_t _flags_save_string
= ndr
->flags
;
662 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
663 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
664 if (_ptr_other_info
) {
665 NDR_PULL_ALLOC(ndr
, r
->other_info
);
667 r
->other_info
= NULL
;
669 ndr
->flags
= _flags_save_string
;
671 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
672 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
674 if (ndr_flags
& NDR_BUFFERS
) {
675 if (r
->naming_context
) {
676 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
677 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
678 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
679 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
682 uint32_t _flags_save_string
= ndr
->flags
;
683 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
685 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
686 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
687 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->other_info
));
688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
690 ndr
->flags
= _flags_save_string
;
693 return NDR_ERR_SUCCESS
;
696 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
698 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
700 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
702 if (r
->naming_context
) {
703 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
706 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
707 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
710 ndr_print_string(ndr
, "other_info", r
->other_info
);
713 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
717 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
719 if (ndr_flags
& NDR_SCALARS
) {
720 int level
= ndr_push_get_switch_value(ndr
, r
);
721 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
722 NDR_CHECK(ndr_push_union_align(ndr
, 5));
725 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
729 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
732 if (ndr_flags
& NDR_BUFFERS
) {
733 int level
= ndr_push_get_switch_value(ndr
, r
);
736 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
740 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
743 return NDR_ERR_SUCCESS
;
746 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
750 level
= ndr_pull_get_switch_value(ndr
, r
);
751 if (ndr_flags
& NDR_SCALARS
) {
752 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
753 if (_level
!= level
) {
754 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
756 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
759 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
763 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
766 if (ndr_flags
& NDR_BUFFERS
) {
769 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
773 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
776 return NDR_ERR_SUCCESS
;
779 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
782 level
= ndr_print_get_switch_value(ndr
, r
);
783 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
786 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
790 ndr_print_bad_level(ndr
, name
, level
);
794 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
796 if (ndr_flags
& NDR_SCALARS
) {
797 NDR_CHECK(ndr_push_align(ndr
, 8));
798 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
799 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
800 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
801 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
803 if (ndr_flags
& NDR_BUFFERS
) {
805 return NDR_ERR_SUCCESS
;
808 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
810 if (ndr_flags
& NDR_SCALARS
) {
811 NDR_CHECK(ndr_pull_align(ndr
, 8));
812 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
813 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
814 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
815 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
817 if (ndr_flags
& NDR_BUFFERS
) {
819 return NDR_ERR_SUCCESS
;
822 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
824 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
826 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
827 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
828 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
832 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
834 if (ndr_flags
& NDR_SCALARS
) {
835 NDR_CHECK(ndr_push_align(ndr
, 8));
836 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
837 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
838 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
840 if (ndr_flags
& NDR_BUFFERS
) {
842 return NDR_ERR_SUCCESS
;
845 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
847 if (ndr_flags
& NDR_SCALARS
) {
848 NDR_CHECK(ndr_pull_align(ndr
, 8));
849 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
850 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
851 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
853 if (ndr_flags
& NDR_BUFFERS
) {
855 return NDR_ERR_SUCCESS
;
858 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
860 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
862 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
863 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
867 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
869 uint32_t cntr_cursors_0
;
870 if (ndr_flags
& NDR_SCALARS
) {
871 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
872 NDR_CHECK(ndr_push_align(ndr
, 8));
873 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
874 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
875 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
876 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
877 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
878 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
880 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
882 if (ndr_flags
& NDR_BUFFERS
) {
884 return NDR_ERR_SUCCESS
;
887 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
889 uint32_t cntr_cursors_0
;
890 TALLOC_CTX
*_mem_save_cursors_0
;
891 if (ndr_flags
& NDR_SCALARS
) {
892 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
893 NDR_CHECK(ndr_pull_align(ndr
, 8));
894 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
895 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
896 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
897 if (r
->count
> 0x100000) {
898 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
900 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
901 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
902 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
903 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
904 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
905 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
907 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
909 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
911 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
913 if (ndr_flags
& NDR_BUFFERS
) {
915 return NDR_ERR_SUCCESS
;
918 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
920 uint32_t cntr_cursors_0
;
921 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
923 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
924 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
925 ndr_print_uint32(ndr
, "count", r
->count
);
926 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
927 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
929 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
931 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
932 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
940 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
943 uint32_t _flags_save_ENUM
= ndr
->flags
;
944 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
945 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
946 ndr
->flags
= _flags_save_ENUM
;
948 return NDR_ERR_SUCCESS
;
951 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
955 uint32_t _flags_save_ENUM
= ndr
->flags
;
956 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
957 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
959 ndr
->flags
= _flags_save_ENUM
;
961 return NDR_ERR_SUCCESS
;
964 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
966 const char *val
= NULL
;
969 uint32_t _flags_save_ENUM
= ndr
->flags
;
970 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
972 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
973 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
974 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
975 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
976 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
977 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
978 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
979 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
981 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
982 ndr
->flags
= _flags_save_ENUM
;
986 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError r
)
989 uint32_t _flags_save_ENUM
= ndr
->flags
;
990 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
991 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
992 ndr
->flags
= _flags_save_ENUM
;
994 return NDR_ERR_SUCCESS
;
997 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*r
)
1001 uint32_t _flags_save_ENUM
= ndr
->flags
;
1002 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1003 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1005 ndr
->flags
= _flags_save_ENUM
;
1007 return NDR_ERR_SUCCESS
;
1010 _PUBLIC_
void ndr_print_drsuapi_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError r
)
1012 const char *val
= NULL
;
1015 uint32_t _flags_save_ENUM
= ndr
->flags
;
1016 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1018 case DRSUAPI_EXOP_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
1019 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1020 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1021 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1022 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1023 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1024 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1025 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1026 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1027 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1028 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1029 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1030 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1031 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1032 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1033 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1034 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1036 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1037 ndr
->flags
= _flags_save_ENUM
;
1041 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1043 if (ndr_flags
& NDR_SCALARS
) {
1044 NDR_CHECK(ndr_push_align(ndr
, 8));
1045 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1046 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1047 if (r
->naming_context
== NULL
) {
1048 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1050 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1051 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1052 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1053 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1054 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1055 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1056 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1057 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1058 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1060 if (ndr_flags
& NDR_BUFFERS
) {
1061 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1062 if (r
->uptodateness_vector
) {
1063 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1066 return NDR_ERR_SUCCESS
;
1069 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1071 uint32_t _ptr_naming_context
;
1072 TALLOC_CTX
*_mem_save_naming_context_0
;
1073 uint32_t _ptr_uptodateness_vector
;
1074 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1075 if (ndr_flags
& NDR_SCALARS
) {
1076 NDR_CHECK(ndr_pull_align(ndr
, 8));
1077 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1078 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1079 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1080 if (_ptr_naming_context
) {
1081 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1083 r
->naming_context
= NULL
;
1085 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1086 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1087 if (_ptr_uptodateness_vector
) {
1088 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1090 r
->uptodateness_vector
= NULL
;
1092 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1094 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1095 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1096 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1097 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1099 if (ndr_flags
& NDR_BUFFERS
) {
1100 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1101 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1102 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1104 if (r
->uptodateness_vector
) {
1105 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1106 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1108 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1111 return NDR_ERR_SUCCESS
;
1114 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1116 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1118 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1119 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1120 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1122 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1124 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1125 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1127 if (r
->uptodateness_vector
) {
1128 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1131 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1132 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1133 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1134 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1135 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1139 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOID(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOID
*r
)
1141 if (ndr_flags
& NDR_SCALARS
) {
1142 NDR_CHECK(ndr_push_align(ndr
, 5));
1143 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
1144 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary_oid
));
1145 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1147 if (ndr_flags
& NDR_BUFFERS
) {
1148 if (r
->binary_oid
) {
1149 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
1150 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1153 return NDR_ERR_SUCCESS
;
1156 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOID
*r
)
1158 uint32_t _ptr_binary_oid
;
1159 TALLOC_CTX
*_mem_save_binary_oid_0
;
1160 if (ndr_flags
& NDR_SCALARS
) {
1161 NDR_CHECK(ndr_pull_align(ndr
, 5));
1162 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
1163 if (r
->length
> 10000) {
1164 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1166 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary_oid
));
1167 if (_ptr_binary_oid
) {
1168 NDR_PULL_ALLOC(ndr
, r
->binary_oid
);
1170 r
->binary_oid
= NULL
;
1172 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1174 if (ndr_flags
& NDR_BUFFERS
) {
1175 if (r
->binary_oid
) {
1176 _mem_save_binary_oid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1177 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary_oid
, 0);
1178 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->binary_oid
));
1179 NDR_PULL_ALLOC_N(ndr
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
));
1180 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
)));
1181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_oid_0
, 0);
1183 if (r
->binary_oid
) {
1184 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->binary_oid
, r
->length
));
1187 return NDR_ERR_SUCCESS
;
1190 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1192 if (ndr_flags
& NDR_SCALARS
) {
1193 NDR_CHECK(ndr_push_align(ndr
, 5));
1194 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1195 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1196 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1198 if (ndr_flags
& NDR_BUFFERS
) {
1199 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1201 return NDR_ERR_SUCCESS
;
1204 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1206 if (ndr_flags
& NDR_SCALARS
) {
1207 NDR_CHECK(ndr_pull_align(ndr
, 5));
1208 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1209 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1210 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1212 if (ndr_flags
& NDR_BUFFERS
) {
1213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1215 return NDR_ERR_SUCCESS
;
1218 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1220 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1222 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1223 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1227 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1229 uint32_t cntr_mappings_1
;
1230 if (ndr_flags
& NDR_SCALARS
) {
1231 NDR_CHECK(ndr_push_align(ndr
, 5));
1232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1233 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1234 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1236 if (ndr_flags
& NDR_BUFFERS
) {
1238 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_mappings
));
1239 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1240 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1242 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1243 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1247 return NDR_ERR_SUCCESS
;
1250 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1252 uint32_t _ptr_mappings
;
1253 uint32_t cntr_mappings_1
;
1254 TALLOC_CTX
*_mem_save_mappings_0
;
1255 TALLOC_CTX
*_mem_save_mappings_1
;
1256 if (ndr_flags
& NDR_SCALARS
) {
1257 NDR_CHECK(ndr_pull_align(ndr
, 5));
1258 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1259 if (r
->num_mappings
> 0x100000) {
1260 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1262 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1263 if (_ptr_mappings
) {
1264 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1268 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1270 if (ndr_flags
& NDR_BUFFERS
) {
1272 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1273 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1274 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1275 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, ndr_get_array_size(ndr
, &r
->mappings
));
1276 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1277 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1278 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1279 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1281 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1285 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1288 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1291 return NDR_ERR_SUCCESS
;
1294 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1296 uint32_t cntr_mappings_1
;
1297 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1299 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1300 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1303 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1305 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1307 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1308 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1318 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1321 uint32_t _flags_save_ENUM
= ndr
->flags
;
1322 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1323 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1324 ndr
->flags
= _flags_save_ENUM
;
1326 return NDR_ERR_SUCCESS
;
1329 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1333 uint32_t _flags_save_ENUM
= ndr
->flags
;
1334 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1335 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1337 ndr
->flags
= _flags_save_ENUM
;
1339 return NDR_ERR_SUCCESS
;
1342 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1344 const char *val
= NULL
;
1347 uint32_t _flags_save_ENUM
= ndr
->flags
;
1348 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1350 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1351 case DRSUAPI_ATTRIBUTE_cn
: val
= "DRSUAPI_ATTRIBUTE_cn"; break;
1352 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1353 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1354 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1355 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1356 case DRSUAPI_ATTRIBUTE_possSuperiors
: val
= "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1357 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1358 case DRSUAPI_ATTRIBUTE_subClassOf
: val
= "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1359 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1360 case DRSUAPI_ATTRIBUTE_mustContain
: val
= "DRSUAPI_ATTRIBUTE_mustContain"; break;
1361 case DRSUAPI_ATTRIBUTE_mayContain
: val
= "DRSUAPI_ATTRIBUTE_mayContain"; break;
1362 case DRSUAPI_ATTRIBUTE_rDNAttId
: val
= "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1363 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1364 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1365 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1366 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1367 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1368 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1369 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1370 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1371 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1372 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1373 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1374 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1375 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1376 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1377 case DRSUAPI_ATTRIBUTE_auxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1378 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1379 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1380 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1381 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1382 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1383 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1384 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1385 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1386 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1387 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1388 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1389 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1390 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1391 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1392 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1393 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1394 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1395 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1396 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1397 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1398 case DRSUAPI_ATTRIBUTE_systemPossSuperiors
: val
= "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1399 case DRSUAPI_ATTRIBUTE_systemMayContain
: val
= "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1400 case DRSUAPI_ATTRIBUTE_systemMustContain
: val
= "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1401 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1402 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1403 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1404 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1405 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1406 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1407 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1408 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1409 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1410 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1411 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1412 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1413 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1414 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1415 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1416 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1417 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1418 case DRSUAPI_ATTRIBUTE_transportAddressAttribute
: val
= "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1419 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1420 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1421 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1422 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1423 case DRSUAPI_ATTRIBUTE_NONE
: val
= "DRSUAPI_ATTRIBUTE_NONE"; break;
1425 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1426 ndr
->flags
= _flags_save_ENUM
;
1430 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1432 uint32_t cntr_attids_0
;
1433 if (ndr_flags
& NDR_SCALARS
) {
1434 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attids
));
1435 NDR_CHECK(ndr_push_align(ndr
, 4));
1436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1437 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1438 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1439 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1440 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1442 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1444 if (ndr_flags
& NDR_BUFFERS
) {
1446 return NDR_ERR_SUCCESS
;
1449 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1451 uint32_t cntr_attids_0
;
1452 TALLOC_CTX
*_mem_save_attids_0
;
1453 if (ndr_flags
& NDR_SCALARS
) {
1454 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1455 NDR_CHECK(ndr_pull_align(ndr
, 4));
1456 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1457 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1458 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1459 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1460 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1462 NDR_PULL_ALLOC_N(ndr
, r
->attids
, ndr_get_array_size(ndr
, &r
->attids
));
1463 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1464 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1465 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1466 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1468 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1470 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1472 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1474 if (ndr_flags
& NDR_BUFFERS
) {
1476 return NDR_ERR_SUCCESS
;
1479 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1481 uint32_t cntr_attids_0
;
1482 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1484 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1485 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1486 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1487 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1489 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1491 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1492 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1500 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1502 if (ndr_flags
& NDR_SCALARS
) {
1503 NDR_CHECK(ndr_push_align(ndr
, 8));
1504 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1505 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1506 if (r
->naming_context
== NULL
) {
1507 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1509 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1510 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1511 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1512 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1513 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1514 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1515 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1516 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1517 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1518 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1519 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1520 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1522 if (ndr_flags
& NDR_BUFFERS
) {
1523 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1524 if (r
->uptodateness_vector
) {
1525 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1527 if (r
->partial_attribute_set
) {
1528 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1530 if (r
->partial_attribute_set_ex
) {
1531 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1533 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1535 return NDR_ERR_SUCCESS
;
1538 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1540 uint32_t _ptr_naming_context
;
1541 TALLOC_CTX
*_mem_save_naming_context_0
;
1542 uint32_t _ptr_uptodateness_vector
;
1543 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1544 uint32_t _ptr_partial_attribute_set
;
1545 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1546 uint32_t _ptr_partial_attribute_set_ex
;
1547 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1548 if (ndr_flags
& NDR_SCALARS
) {
1549 NDR_CHECK(ndr_pull_align(ndr
, 8));
1550 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1551 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1552 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1553 if (_ptr_naming_context
) {
1554 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1556 r
->naming_context
= NULL
;
1558 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1559 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1560 if (_ptr_uptodateness_vector
) {
1561 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1563 r
->uptodateness_vector
= NULL
;
1565 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1566 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1567 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1568 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1569 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1570 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1571 if (_ptr_partial_attribute_set
) {
1572 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1574 r
->partial_attribute_set
= NULL
;
1576 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1577 if (_ptr_partial_attribute_set_ex
) {
1578 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1580 r
->partial_attribute_set_ex
= NULL
;
1582 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1583 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1585 if (ndr_flags
& NDR_BUFFERS
) {
1586 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1587 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1590 if (r
->uptodateness_vector
) {
1591 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1592 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1594 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1596 if (r
->partial_attribute_set
) {
1597 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1598 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1599 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1600 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1602 if (r
->partial_attribute_set_ex
) {
1603 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1604 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1605 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1606 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1608 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1610 return NDR_ERR_SUCCESS
;
1613 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1615 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1617 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1618 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1619 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1621 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1623 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1624 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1626 if (r
->uptodateness_vector
) {
1627 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1630 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1631 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1632 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1633 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1634 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1635 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1637 if (r
->partial_attribute_set
) {
1638 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1641 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1643 if (r
->partial_attribute_set_ex
) {
1644 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1647 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1651 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1653 if (ndr_flags
& NDR_SCALARS
) {
1654 NDR_CHECK(ndr_push_align(ndr
, 8));
1655 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1656 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1657 if (r
->naming_context
== NULL
) {
1658 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1660 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1661 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1662 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1663 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1664 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1665 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1666 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1667 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1668 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1669 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1670 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1671 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_flags
));
1672 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1674 if (ndr_flags
& NDR_BUFFERS
) {
1675 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1676 if (r
->uptodateness_vector
) {
1677 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1679 if (r
->partial_attribute_set
) {
1680 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1682 if (r
->partial_attribute_set_ex
) {
1683 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1685 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1687 return NDR_ERR_SUCCESS
;
1690 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest10
*r
)
1692 uint32_t _ptr_naming_context
;
1693 TALLOC_CTX
*_mem_save_naming_context_0
;
1694 uint32_t _ptr_uptodateness_vector
;
1695 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1696 uint32_t _ptr_partial_attribute_set
;
1697 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1698 uint32_t _ptr_partial_attribute_set_ex
;
1699 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1700 if (ndr_flags
& NDR_SCALARS
) {
1701 NDR_CHECK(ndr_pull_align(ndr
, 8));
1702 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1703 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1704 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1705 if (_ptr_naming_context
) {
1706 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1708 r
->naming_context
= NULL
;
1710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1711 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1712 if (_ptr_uptodateness_vector
) {
1713 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1715 r
->uptodateness_vector
= NULL
;
1717 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1718 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1720 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1721 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1722 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1723 if (_ptr_partial_attribute_set
) {
1724 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1726 r
->partial_attribute_set
= NULL
;
1728 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1729 if (_ptr_partial_attribute_set_ex
) {
1730 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1732 r
->partial_attribute_set_ex
= NULL
;
1734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1735 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_flags
));
1736 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1738 if (ndr_flags
& NDR_BUFFERS
) {
1739 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1740 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1743 if (r
->uptodateness_vector
) {
1744 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1745 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1746 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1749 if (r
->partial_attribute_set
) {
1750 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1751 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1752 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1753 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1755 if (r
->partial_attribute_set_ex
) {
1756 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1757 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1758 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1759 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1761 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1763 return NDR_ERR_SUCCESS
;
1766 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1768 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest10");
1770 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1771 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1772 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1774 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1776 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1777 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1779 if (r
->uptodateness_vector
) {
1780 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1783 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1784 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1785 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1786 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1787 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1788 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1790 if (r
->partial_attribute_set
) {
1791 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1794 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1796 if (r
->partial_attribute_set_ex
) {
1797 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1800 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1801 ndr_print_uint32(ndr
, "more_flags", r
->more_flags
);
1805 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1807 if (ndr_flags
& NDR_SCALARS
) {
1808 int level
= ndr_push_get_switch_value(ndr
, r
);
1809 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
1810 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1813 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1817 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1821 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1825 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1828 if (ndr_flags
& NDR_BUFFERS
) {
1829 int level
= ndr_push_get_switch_value(ndr
, r
);
1832 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1836 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1840 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1844 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1847 return NDR_ERR_SUCCESS
;
1850 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1854 level
= ndr_pull_get_switch_value(ndr
, r
);
1855 if (ndr_flags
& NDR_SCALARS
) {
1856 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
1857 if (_level
!= level
) {
1858 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1860 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1863 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1867 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1871 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1875 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1878 if (ndr_flags
& NDR_BUFFERS
) {
1881 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1885 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1893 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1896 return NDR_ERR_SUCCESS
;
1899 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1902 level
= ndr_print_get_switch_value(ndr
, r
);
1903 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1906 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1910 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1914 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr
, "req10", &r
->req10
);
1918 ndr_print_bad_level(ndr
, name
, level
);
1922 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1924 if (ndr_flags
& NDR_SCALARS
) {
1925 NDR_CHECK(ndr_push_align(ndr
, 8));
1926 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1927 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1928 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1929 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1931 if (ndr_flags
& NDR_BUFFERS
) {
1933 return NDR_ERR_SUCCESS
;
1936 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1938 if (ndr_flags
& NDR_SCALARS
) {
1939 NDR_CHECK(ndr_pull_align(ndr
, 8));
1940 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1941 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1942 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1943 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1945 if (ndr_flags
& NDR_BUFFERS
) {
1947 return NDR_ERR_SUCCESS
;
1950 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1952 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1954 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1955 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1956 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1960 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1962 uint32_t cntr_cursors_0
;
1963 if (ndr_flags
& NDR_SCALARS
) {
1964 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1965 NDR_CHECK(ndr_push_align(ndr
, 8));
1966 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1967 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1968 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1969 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1970 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1971 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1973 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1975 if (ndr_flags
& NDR_BUFFERS
) {
1977 return NDR_ERR_SUCCESS
;
1980 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1982 uint32_t cntr_cursors_0
;
1983 TALLOC_CTX
*_mem_save_cursors_0
;
1984 if (ndr_flags
& NDR_SCALARS
) {
1985 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
1986 NDR_CHECK(ndr_pull_align(ndr
, 8));
1987 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1988 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1989 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1990 if (r
->count
> 0x100000) {
1991 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1993 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
1994 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
1995 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1996 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
1997 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
2000 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
2002 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
2004 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2006 if (ndr_flags
& NDR_BUFFERS
) {
2008 return NDR_ERR_SUCCESS
;
2011 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
2013 uint32_t cntr_cursors_0
;
2014 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
2016 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
2017 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2018 ndr_print_uint32(ndr
, "count", r
->count
);
2019 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2020 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
2022 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
2024 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
2025 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
2033 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
2035 if (ndr_flags
& NDR_SCALARS
) {
2036 NDR_CHECK(ndr_push_align(ndr
, 5));
2037 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
2038 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
2039 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2041 if (ndr_flags
& NDR_BUFFERS
) {
2043 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
2046 return NDR_ERR_SUCCESS
;
2049 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
2052 TALLOC_CTX
*_mem_save_blob_0
;
2053 if (ndr_flags
& NDR_SCALARS
) {
2054 NDR_CHECK(ndr_pull_align(ndr
, 5));
2055 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2056 if (r
->__ndr_size
> 10485760) {
2057 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2059 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
2061 NDR_PULL_ALLOC(ndr
, r
->blob
);
2065 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2067 if (ndr_flags
& NDR_BUFFERS
) {
2069 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2070 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
2071 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
2072 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
2075 return NDR_ERR_SUCCESS
;
2078 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
2080 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
2082 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
2083 ndr_print_ptr(ndr
, "blob", r
->blob
);
2086 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
2092 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
2094 uint32_t cntr_values_1
;
2095 if (ndr_flags
& NDR_SCALARS
) {
2096 NDR_CHECK(ndr_push_align(ndr
, 5));
2097 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
2098 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
2099 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2101 if (ndr_flags
& NDR_BUFFERS
) {
2103 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_values
));
2104 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2105 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2107 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2108 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2112 return NDR_ERR_SUCCESS
;
2115 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
2117 uint32_t _ptr_values
;
2118 uint32_t cntr_values_1
;
2119 TALLOC_CTX
*_mem_save_values_0
;
2120 TALLOC_CTX
*_mem_save_values_1
;
2121 if (ndr_flags
& NDR_SCALARS
) {
2122 NDR_CHECK(ndr_pull_align(ndr
, 5));
2123 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
2124 if (r
->num_values
> 10485760) {
2125 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2127 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
2129 NDR_PULL_ALLOC(ndr
, r
->values
);
2133 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2135 if (ndr_flags
& NDR_BUFFERS
) {
2137 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2138 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2139 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
2140 NDR_PULL_ALLOC_N(ndr
, r
->values
, ndr_get_array_size(ndr
, &r
->values
));
2141 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2142 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2143 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2144 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2146 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2147 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2149 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
2150 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
2153 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
2156 return NDR_ERR_SUCCESS
;
2159 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
2161 uint32_t cntr_values_1
;
2162 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
2164 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
2165 ndr_print_ptr(ndr
, "values", r
->values
);
2168 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
2170 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
2172 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
2173 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
2183 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2185 if (ndr_flags
& NDR_SCALARS
) {
2186 NDR_CHECK(ndr_push_align(ndr
, 4));
2187 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2188 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2189 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2190 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2191 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2192 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2193 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2195 if (ndr_flags
& NDR_BUFFERS
) {
2196 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2198 return NDR_ERR_SUCCESS
;
2201 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2203 if (ndr_flags
& NDR_SCALARS
) {
2204 NDR_CHECK(ndr_pull_align(ndr
, 4));
2205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2206 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2207 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2208 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2210 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2211 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2213 if (ndr_flags
& NDR_BUFFERS
) {
2214 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2216 return NDR_ERR_SUCCESS
;
2219 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2221 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
2223 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
);
2224 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
);
2225 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2226 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2227 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2228 ndr_print_string(ndr
, "dn", r
->dn
);
2232 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2234 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
2237 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2239 if (ndr_flags
& NDR_SCALARS
) {
2240 NDR_CHECK(ndr_push_align(ndr
, 4));
2241 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2242 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2243 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2244 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2245 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2246 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2247 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
2249 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2250 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2251 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
2252 ndr
->flags
= _flags_save_DATA_BLOB
;
2254 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2256 if (ndr_flags
& NDR_BUFFERS
) {
2257 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2259 return NDR_ERR_SUCCESS
;
2262 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2264 if (ndr_flags
& NDR_SCALARS
) {
2265 NDR_CHECK(ndr_pull_align(ndr
, 4));
2266 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2267 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2268 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2269 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2270 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2271 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2272 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
2274 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2275 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2276 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
2277 ndr
->flags
= _flags_save_DATA_BLOB
;
2279 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2281 if (ndr_flags
& NDR_BUFFERS
) {
2282 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2284 return NDR_ERR_SUCCESS
;
2287 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2289 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2291 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
2292 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
);
2293 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2294 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2295 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2296 ndr_print_string(ndr
, "dn", r
->dn
);
2297 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2298 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2302 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2304 if (ndr_flags
& NDR_SCALARS
) {
2305 NDR_CHECK(ndr_push_align(ndr
, 5));
2306 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2307 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2308 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2310 if (ndr_flags
& NDR_BUFFERS
) {
2311 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2313 return NDR_ERR_SUCCESS
;
2316 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2318 if (ndr_flags
& NDR_SCALARS
) {
2319 NDR_CHECK(ndr_pull_align(ndr
, 5));
2320 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2321 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2322 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2324 if (ndr_flags
& NDR_BUFFERS
) {
2325 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2327 return NDR_ERR_SUCCESS
;
2330 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2332 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2334 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2335 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2339 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2341 uint32_t cntr_attributes_1
;
2342 if (ndr_flags
& NDR_SCALARS
) {
2343 NDR_CHECK(ndr_push_align(ndr
, 5));
2344 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2345 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2346 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2348 if (ndr_flags
& NDR_BUFFERS
) {
2349 if (r
->attributes
) {
2350 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2351 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2352 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2354 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2355 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2359 return NDR_ERR_SUCCESS
;
2362 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2364 uint32_t _ptr_attributes
;
2365 uint32_t cntr_attributes_1
;
2366 TALLOC_CTX
*_mem_save_attributes_0
;
2367 TALLOC_CTX
*_mem_save_attributes_1
;
2368 if (ndr_flags
& NDR_SCALARS
) {
2369 NDR_CHECK(ndr_pull_align(ndr
, 5));
2370 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2371 if (r
->num_attributes
> 1048576) {
2372 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2374 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2375 if (_ptr_attributes
) {
2376 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2378 r
->attributes
= NULL
;
2380 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2382 if (ndr_flags
& NDR_BUFFERS
) {
2383 if (r
->attributes
) {
2384 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2385 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2386 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2387 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, ndr_get_array_size(ndr
, &r
->attributes
));
2388 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2389 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2390 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2391 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2393 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2394 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2397 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2399 if (r
->attributes
) {
2400 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2403 return NDR_ERR_SUCCESS
;
2406 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2408 uint32_t cntr_attributes_1
;
2409 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2411 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2412 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2414 if (r
->attributes
) {
2415 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2417 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2419 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2420 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2430 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2432 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2433 return NDR_ERR_SUCCESS
;
2436 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2439 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2441 return NDR_ERR_SUCCESS
;
2444 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2446 ndr_print_uint32(ndr
, name
, r
);
2448 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2449 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2450 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2454 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2456 if (ndr_flags
& NDR_SCALARS
) {
2457 NDR_CHECK(ndr_push_align(ndr
, 5));
2458 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2459 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2460 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2461 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2463 if (ndr_flags
& NDR_BUFFERS
) {
2464 if (r
->identifier
) {
2465 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2467 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2469 return NDR_ERR_SUCCESS
;
2472 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2474 uint32_t _ptr_identifier
;
2475 TALLOC_CTX
*_mem_save_identifier_0
;
2476 if (ndr_flags
& NDR_SCALARS
) {
2477 NDR_CHECK(ndr_pull_align(ndr
, 5));
2478 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2479 if (_ptr_identifier
) {
2480 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2482 r
->identifier
= NULL
;
2484 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2485 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2486 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2488 if (ndr_flags
& NDR_BUFFERS
) {
2489 if (r
->identifier
) {
2490 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2491 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2492 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2495 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2497 return NDR_ERR_SUCCESS
;
2500 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2502 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2504 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2506 if (r
->identifier
) {
2507 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2510 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2511 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2515 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2517 if (ndr_flags
& NDR_SCALARS
) {
2518 NDR_CHECK(ndr_push_align(ndr
, 8));
2519 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2520 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2521 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2522 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2523 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2525 if (ndr_flags
& NDR_BUFFERS
) {
2527 return NDR_ERR_SUCCESS
;
2530 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2532 if (ndr_flags
& NDR_SCALARS
) {
2533 NDR_CHECK(ndr_pull_align(ndr
, 8));
2534 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2535 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2536 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2537 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2538 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2540 if (ndr_flags
& NDR_BUFFERS
) {
2542 return NDR_ERR_SUCCESS
;
2545 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2547 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2549 ndr_print_uint32(ndr
, "version", r
->version
);
2550 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2551 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2552 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2556 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2558 uint32_t cntr_meta_data_0
;
2559 if (ndr_flags
& NDR_SCALARS
) {
2560 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2561 NDR_CHECK(ndr_push_align(ndr
, 8));
2562 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2563 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2564 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2566 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2568 if (ndr_flags
& NDR_BUFFERS
) {
2570 return NDR_ERR_SUCCESS
;
2573 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2575 uint32_t cntr_meta_data_0
;
2576 TALLOC_CTX
*_mem_save_meta_data_0
;
2577 if (ndr_flags
& NDR_SCALARS
) {
2578 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2579 NDR_CHECK(ndr_pull_align(ndr
, 8));
2580 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2581 if (r
->count
> 1048576) {
2582 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2584 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, ndr_get_array_size(ndr
, &r
->meta_data
));
2585 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2586 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2587 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2592 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2594 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2596 if (ndr_flags
& NDR_BUFFERS
) {
2598 return NDR_ERR_SUCCESS
;
2601 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2603 uint32_t cntr_meta_data_0
;
2604 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2606 ndr_print_uint32(ndr
, "count", r
->count
);
2607 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2609 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2611 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2612 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2620 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2622 if (ndr_flags
& NDR_SCALARS
) {
2623 NDR_CHECK(ndr_push_align(ndr
, 5));
2624 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2625 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2626 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2627 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2628 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2629 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2631 if (ndr_flags
& NDR_BUFFERS
) {
2632 if (r
->next_object
) {
2633 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2635 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2636 if (r
->parent_object_guid
) {
2637 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2639 if (r
->meta_data_ctr
) {
2640 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2643 return NDR_ERR_SUCCESS
;
2646 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2648 uint32_t _ptr_next_object
;
2649 TALLOC_CTX
*_mem_save_next_object_0
;
2650 uint32_t _ptr_parent_object_guid
;
2651 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2652 uint32_t _ptr_meta_data_ctr
;
2653 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2654 if (ndr_flags
& NDR_SCALARS
) {
2655 NDR_CHECK(ndr_pull_align(ndr
, 5));
2656 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2657 if (_ptr_next_object
) {
2658 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2660 r
->next_object
= NULL
;
2662 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2663 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2664 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2665 if (_ptr_parent_object_guid
) {
2666 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2668 r
->parent_object_guid
= NULL
;
2670 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2671 if (_ptr_meta_data_ctr
) {
2672 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2674 r
->meta_data_ctr
= NULL
;
2676 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2678 if (ndr_flags
& NDR_BUFFERS
) {
2679 if (r
->next_object
) {
2680 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2681 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2682 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2685 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2686 if (r
->parent_object_guid
) {
2687 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2688 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2689 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2692 if (r
->meta_data_ctr
) {
2693 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2694 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2695 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2696 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2699 return NDR_ERR_SUCCESS
;
2702 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2704 if (ndr_flags
& NDR_SCALARS
) {
2705 NDR_CHECK(ndr_push_align(ndr
, 8));
2706 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2707 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2708 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2709 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2710 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2711 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2712 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2713 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2714 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2715 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2716 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2717 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2718 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2720 if (ndr_flags
& NDR_BUFFERS
) {
2721 if (r
->naming_context
) {
2722 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2724 if (r
->uptodateness_vector
) {
2725 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2727 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2728 if (r
->first_object
) {
2729 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2732 return NDR_ERR_SUCCESS
;
2735 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2737 uint32_t _ptr_naming_context
;
2738 TALLOC_CTX
*_mem_save_naming_context_0
;
2739 uint32_t _ptr_uptodateness_vector
;
2740 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2741 uint32_t _ptr_first_object
;
2742 TALLOC_CTX
*_mem_save_first_object_0
;
2743 if (ndr_flags
& NDR_SCALARS
) {
2744 NDR_CHECK(ndr_pull_align(ndr
, 8));
2745 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2746 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2747 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2748 if (_ptr_naming_context
) {
2749 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2751 r
->naming_context
= NULL
;
2753 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2754 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2755 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2756 if (_ptr_uptodateness_vector
) {
2757 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2759 r
->uptodateness_vector
= NULL
;
2761 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2762 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2763 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2764 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2765 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2766 if (_ptr_first_object
) {
2767 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2769 r
->first_object
= NULL
;
2771 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2772 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2774 if (ndr_flags
& NDR_BUFFERS
) {
2775 if (r
->naming_context
) {
2776 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2777 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2778 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2779 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2781 if (r
->uptodateness_vector
) {
2782 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2783 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2784 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2785 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2788 if (r
->first_object
) {
2789 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2790 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2791 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2792 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2795 return NDR_ERR_SUCCESS
;
2798 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2800 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2802 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2803 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2804 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2806 if (r
->naming_context
) {
2807 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2810 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2811 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2812 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2814 if (r
->uptodateness_vector
) {
2815 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2818 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2819 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2820 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2821 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
);
2822 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2824 if (r
->first_object
) {
2825 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2828 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2832 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2834 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2837 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2839 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2840 return NDR_ERR_SUCCESS
;
2843 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2846 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2848 return NDR_ERR_SUCCESS
;
2851 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2853 ndr_print_uint32(ndr
, name
, r
);
2855 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2859 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2861 if (ndr_flags
& NDR_SCALARS
) {
2862 NDR_CHECK(ndr_push_align(ndr
, 8));
2863 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2864 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2865 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2866 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2867 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2868 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2869 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2871 if (ndr_flags
& NDR_BUFFERS
) {
2872 if (r
->identifier
) {
2873 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2875 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2877 return NDR_ERR_SUCCESS
;
2880 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2882 uint32_t _ptr_identifier
;
2883 TALLOC_CTX
*_mem_save_identifier_0
;
2884 if (ndr_flags
& NDR_SCALARS
) {
2885 NDR_CHECK(ndr_pull_align(ndr
, 8));
2886 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2887 if (_ptr_identifier
) {
2888 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2890 r
->identifier
= NULL
;
2892 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2893 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2894 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2895 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2897 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2899 if (ndr_flags
& NDR_BUFFERS
) {
2900 if (r
->identifier
) {
2901 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2902 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2903 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2904 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2906 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2908 return NDR_ERR_SUCCESS
;
2911 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2913 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2915 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2917 if (r
->identifier
) {
2918 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2921 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2922 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2923 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2924 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2925 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2929 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2931 uint32_t cntr_linked_attributes_1
;
2932 if (ndr_flags
& NDR_SCALARS
) {
2933 NDR_CHECK(ndr_push_align(ndr
, 8));
2934 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2935 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2936 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2937 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2938 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2939 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2940 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2941 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2942 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2943 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2944 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2945 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2946 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2947 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2948 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2949 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2950 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2951 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2953 if (ndr_flags
& NDR_BUFFERS
) {
2954 if (r
->naming_context
) {
2955 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2957 if (r
->uptodateness_vector
) {
2958 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2960 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2961 if (r
->first_object
) {
2962 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2964 if (r
->linked_attributes
) {
2965 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2966 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2967 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2969 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2970 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2974 return NDR_ERR_SUCCESS
;
2977 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
2979 uint32_t _ptr_naming_context
;
2980 TALLOC_CTX
*_mem_save_naming_context_0
;
2981 uint32_t _ptr_uptodateness_vector
;
2982 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2983 uint32_t _ptr_first_object
;
2984 TALLOC_CTX
*_mem_save_first_object_0
;
2985 uint32_t _ptr_linked_attributes
;
2986 uint32_t cntr_linked_attributes_1
;
2987 TALLOC_CTX
*_mem_save_linked_attributes_0
;
2988 TALLOC_CTX
*_mem_save_linked_attributes_1
;
2989 if (ndr_flags
& NDR_SCALARS
) {
2990 NDR_CHECK(ndr_pull_align(ndr
, 8));
2991 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2992 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2993 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2994 if (_ptr_naming_context
) {
2995 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2997 r
->naming_context
= NULL
;
2999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
3000 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
3001 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
3002 if (_ptr_uptodateness_vector
) {
3003 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
3005 r
->uptodateness_vector
= NULL
;
3007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
3008 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
3009 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
3010 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
3011 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
3012 if (_ptr_first_object
) {
3013 NDR_PULL_ALLOC(ndr
, r
->first_object
);
3015 r
->first_object
= NULL
;
3017 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
3018 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
3019 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
3020 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
3021 if (r
->linked_attributes_count
> 1048576) {
3022 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
3025 if (_ptr_linked_attributes
) {
3026 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
3028 r
->linked_attributes
= NULL
;
3030 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
3031 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3033 if (ndr_flags
& NDR_BUFFERS
) {
3034 if (r
->naming_context
) {
3035 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3036 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3038 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3040 if (r
->uptodateness_vector
) {
3041 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3042 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
3043 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
3044 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3046 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3047 if (r
->first_object
) {
3048 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3049 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3050 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3051 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3053 if (r
->linked_attributes
) {
3054 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3055 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3056 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3057 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, ndr_get_array_size(ndr
, &r
->linked_attributes
));
3058 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3059 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3060 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3061 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3063 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3064 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3066 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3067 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3069 if (r
->linked_attributes
) {
3070 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3073 return NDR_ERR_SUCCESS
;
3076 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3078 uint32_t cntr_linked_attributes_1
;
3079 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3081 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3082 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3083 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3085 if (r
->naming_context
) {
3086 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3089 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3090 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3091 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3093 if (r
->uptodateness_vector
) {
3094 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3097 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3098 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3099 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3100 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
);
3101 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3103 if (r
->first_object
) {
3104 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3107 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3108 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3109 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3110 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3111 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3113 if (r
->linked_attributes
) {
3114 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3116 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3118 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3119 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3126 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3130 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3132 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3135 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3137 if (ndr_flags
& NDR_SCALARS
) {
3138 NDR_CHECK(ndr_push_align(ndr
, 1));
3140 struct ndr_push
*_ndr_ctr1
;
3141 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3142 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3143 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3145 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3147 if (ndr_flags
& NDR_BUFFERS
) {
3149 return NDR_ERR_SUCCESS
;
3152 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3154 if (ndr_flags
& NDR_SCALARS
) {
3155 NDR_CHECK(ndr_pull_align(ndr
, 1));
3157 struct ndr_pull
*_ndr_ctr1
;
3158 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3159 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3160 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3162 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3164 if (ndr_flags
& NDR_BUFFERS
) {
3166 return NDR_ERR_SUCCESS
;
3169 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3171 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3173 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3177 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3179 if (ndr_flags
& NDR_SCALARS
) {
3180 NDR_CHECK(ndr_push_align(ndr
, 1));
3182 struct ndr_push
*_ndr_ctr6
;
3183 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3184 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3185 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3187 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3189 if (ndr_flags
& NDR_BUFFERS
) {
3191 return NDR_ERR_SUCCESS
;
3194 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3196 if (ndr_flags
& NDR_SCALARS
) {
3197 NDR_CHECK(ndr_pull_align(ndr
, 1));
3199 struct ndr_pull
*_ndr_ctr6
;
3200 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3201 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3202 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3204 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3206 if (ndr_flags
& NDR_BUFFERS
) {
3208 return NDR_ERR_SUCCESS
;
3211 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3213 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3215 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3219 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3222 TALLOC_CTX
*_mem_save_ts_0
;
3223 if (ndr_flags
& NDR_SCALARS
) {
3224 NDR_CHECK(ndr_pull_align(ndr
, 5));
3225 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3227 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3229 NDR_PULL_ALLOC(ndr
, r
->ts
);
3233 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3235 if (ndr_flags
& NDR_BUFFERS
) {
3237 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3238 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3240 struct ndr_pull
*_ndr_ts
;
3241 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3243 struct ndr_pull
*_ndr_ts_compressed
;
3244 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3245 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3246 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3248 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3250 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3253 return NDR_ERR_SUCCESS
;
3256 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3258 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3260 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3261 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3262 ndr_print_ptr(ndr
, "ts", r
->ts
);
3265 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3271 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3274 TALLOC_CTX
*_mem_save_ts_0
;
3275 if (ndr_flags
& NDR_SCALARS
) {
3276 NDR_CHECK(ndr_pull_align(ndr
, 5));
3277 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3278 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3279 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3281 NDR_PULL_ALLOC(ndr
, r
->ts
);
3285 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3287 if (ndr_flags
& NDR_BUFFERS
) {
3289 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3290 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3292 struct ndr_pull
*_ndr_ts
;
3293 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3295 struct ndr_pull
*_ndr_ts_compressed
;
3296 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3297 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3298 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3300 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3302 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3305 return NDR_ERR_SUCCESS
;
3308 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3310 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3312 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3313 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3314 ndr_print_ptr(ndr
, "ts", r
->ts
);
3317 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3323 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3326 TALLOC_CTX
*_mem_save_ts_0
;
3327 if (ndr_flags
& NDR_SCALARS
) {
3328 NDR_CHECK(ndr_pull_align(ndr
, 5));
3329 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3330 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3331 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3333 NDR_PULL_ALLOC(ndr
, r
->ts
);
3337 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3339 if (ndr_flags
& NDR_BUFFERS
) {
3341 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3342 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3344 struct ndr_pull
*_ndr_ts
;
3345 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3347 struct ndr_pull
*_ndr_ts_compressed
;
3348 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3349 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3350 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3352 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3357 return NDR_ERR_SUCCESS
;
3360 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3362 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3364 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3365 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3366 ndr_print_ptr(ndr
, "ts", r
->ts
);
3369 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3375 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3378 TALLOC_CTX
*_mem_save_ts_0
;
3379 if (ndr_flags
& NDR_SCALARS
) {
3380 NDR_CHECK(ndr_pull_align(ndr
, 5));
3381 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3382 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3383 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3385 NDR_PULL_ALLOC(ndr
, r
->ts
);
3389 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3391 if (ndr_flags
& NDR_BUFFERS
) {
3393 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3394 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3396 struct ndr_pull
*_ndr_ts
;
3397 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3399 struct ndr_pull
*_ndr_ts_compressed
;
3400 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3401 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3402 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3404 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3406 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3409 return NDR_ERR_SUCCESS
;
3412 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3414 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3416 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3417 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3418 ndr_print_ptr(ndr
, "ts", r
->ts
);
3421 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3427 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3429 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3430 return NDR_ERR_SUCCESS
;
3433 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3436 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3438 return NDR_ERR_SUCCESS
;
3441 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3443 const char *val
= NULL
;
3446 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3447 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3449 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3452 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3455 uint32_t _flags_save_UNION
= ndr
->flags
;
3456 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3457 if (ndr_flags
& NDR_SCALARS
) {
3458 int level
= ndr_push_get_switch_value(ndr
, r
);
3459 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3461 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3462 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3465 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3466 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3469 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3470 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3473 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3474 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3478 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3481 if (ndr_flags
& NDR_BUFFERS
) {
3482 int level
= ndr_push_get_switch_value(ndr
, r
);
3484 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3485 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3488 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3489 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3492 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3493 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3496 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3497 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3501 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3504 ndr
->flags
= _flags_save_UNION
;
3506 return NDR_ERR_SUCCESS
;
3509 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3513 uint32_t _flags_save_UNION
= ndr
->flags
;
3514 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3515 level
= ndr_pull_get_switch_value(ndr
, r
);
3516 if (ndr_flags
& NDR_SCALARS
) {
3517 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3519 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3520 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3523 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3524 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3527 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3528 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3531 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3532 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3536 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3539 if (ndr_flags
& NDR_BUFFERS
) {
3541 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3542 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3545 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3546 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3549 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3550 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3553 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3554 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3558 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3561 ndr
->flags
= _flags_save_UNION
;
3563 return NDR_ERR_SUCCESS
;
3566 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3570 uint32_t _flags_save_UNION
= ndr
->flags
;
3571 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3572 level
= ndr_print_get_switch_value(ndr
, r
);
3573 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3575 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3576 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3579 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3580 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3583 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3584 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3587 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3588 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3592 ndr_print_bad_level(ndr
, name
, level
);
3594 ndr
->flags
= _flags_save_UNION
;
3598 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3600 if (ndr_flags
& NDR_SCALARS
) {
3601 NDR_CHECK(ndr_push_align(ndr
, 5));
3602 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3603 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3605 if (ndr_flags
& NDR_BUFFERS
) {
3606 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3608 return NDR_ERR_SUCCESS
;
3611 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3613 if (ndr_flags
& NDR_SCALARS
) {
3614 NDR_CHECK(ndr_pull_align(ndr
, 5));
3615 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3616 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3618 if (ndr_flags
& NDR_BUFFERS
) {
3619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3621 return NDR_ERR_SUCCESS
;
3624 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3626 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3628 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3632 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3634 if (ndr_flags
& NDR_SCALARS
) {
3635 NDR_CHECK(ndr_push_align(ndr
, 5));
3636 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
3637 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3638 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3639 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3640 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3642 if (ndr_flags
& NDR_BUFFERS
) {
3643 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3645 return NDR_ERR_SUCCESS
;
3648 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3650 if (ndr_flags
& NDR_SCALARS
) {
3651 NDR_CHECK(ndr_pull_align(ndr
, 5));
3652 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
3653 if (r
->level
< 0 || r
->level
> 6) {
3654 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3656 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3657 if (r
->type
< 2 || r
->type
> 3) {
3658 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3660 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3661 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3662 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3664 if (ndr_flags
& NDR_BUFFERS
) {
3665 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3667 return NDR_ERR_SUCCESS
;
3670 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3672 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3674 ndr_print_int32(ndr
, "level", r
->level
);
3675 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3676 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3677 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3681 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3683 if (ndr_flags
& NDR_SCALARS
) {
3684 int level
= ndr_push_get_switch_value(ndr
, r
);
3685 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3686 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3689 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3693 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3697 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3701 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3705 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3708 if (ndr_flags
& NDR_BUFFERS
) {
3709 int level
= ndr_push_get_switch_value(ndr
, r
);
3712 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3716 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3720 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3724 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3728 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3731 return NDR_ERR_SUCCESS
;
3734 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3738 level
= ndr_pull_get_switch_value(ndr
, r
);
3739 if (ndr_flags
& NDR_SCALARS
) {
3740 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3741 if (_level
!= level
) {
3742 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3744 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3747 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3751 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3755 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3759 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3763 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3766 if (ndr_flags
& NDR_BUFFERS
) {
3769 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3773 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3777 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3781 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3785 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3788 return NDR_ERR_SUCCESS
;
3791 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3794 level
= ndr_print_get_switch_value(ndr
, r
);
3795 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3798 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3802 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3806 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3810 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3814 ndr_print_bad_level(ndr
, name
, level
);
3818 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3820 if (ndr_flags
& NDR_SCALARS
) {
3821 NDR_CHECK(ndr_push_align(ndr
, 5));
3822 if (r
->naming_context
== NULL
) {
3823 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3825 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3826 if (r
->dest_dsa_dns_name
== NULL
) {
3827 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3829 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3830 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3831 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3832 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3834 if (ndr_flags
& NDR_BUFFERS
) {
3835 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3836 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3837 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3838 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3839 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
));
3841 return NDR_ERR_SUCCESS
;
3844 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3846 uint32_t _ptr_naming_context
;
3847 TALLOC_CTX
*_mem_save_naming_context_0
;
3848 uint32_t _ptr_dest_dsa_dns_name
;
3849 if (ndr_flags
& NDR_SCALARS
) {
3850 NDR_CHECK(ndr_pull_align(ndr
, 5));
3851 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3852 if (_ptr_naming_context
) {
3853 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3855 r
->naming_context
= NULL
;
3857 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3858 if (_ptr_dest_dsa_dns_name
) {
3859 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3861 r
->dest_dsa_dns_name
= NULL
;
3863 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3864 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3865 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3867 if (ndr_flags
& NDR_BUFFERS
) {
3868 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3869 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3870 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3871 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3872 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3873 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3874 if (ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
) > ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
)) {
3875 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
));
3877 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t)));
3878 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
));
3880 return NDR_ERR_SUCCESS
;
3883 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3885 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3887 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3889 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3891 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3893 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3895 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3896 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
3900 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3902 if (ndr_flags
& NDR_SCALARS
) {
3903 int level
= ndr_push_get_switch_value(ndr
, r
);
3904 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3905 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3908 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3912 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3915 if (ndr_flags
& NDR_BUFFERS
) {
3916 int level
= ndr_push_get_switch_value(ndr
, r
);
3919 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3923 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3926 return NDR_ERR_SUCCESS
;
3929 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3933 level
= ndr_pull_get_switch_value(ndr
, r
);
3934 if (ndr_flags
& NDR_SCALARS
) {
3935 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3936 if (_level
!= level
) {
3937 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3939 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3942 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3946 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3949 if (ndr_flags
& NDR_BUFFERS
) {
3952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3956 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3959 return NDR_ERR_SUCCESS
;
3962 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3965 level
= ndr_print_get_switch_value(ndr
, r
);
3966 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
3969 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
3973 ndr_print_bad_level(ndr
, name
, level
);
3977 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
3979 if (ndr_flags
& NDR_SCALARS
) {
3980 NDR_CHECK(ndr_push_align(ndr
, 5));
3981 if (r
->naming_context
== NULL
) {
3982 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3984 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3985 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
3986 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
3987 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3988 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3990 if (ndr_flags
& NDR_BUFFERS
) {
3991 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3992 if (r
->source_dsa_address
) {
3993 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3994 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3995 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3996 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
));
3999 return NDR_ERR_SUCCESS
;
4002 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
4004 uint32_t _ptr_naming_context
;
4005 TALLOC_CTX
*_mem_save_naming_context_0
;
4006 uint32_t _ptr_source_dsa_address
;
4007 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4008 if (ndr_flags
& NDR_SCALARS
) {
4009 NDR_CHECK(ndr_pull_align(ndr
, 5));
4010 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4011 if (_ptr_naming_context
) {
4012 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4014 r
->naming_context
= NULL
;
4016 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4017 if (_ptr_source_dsa_address
) {
4018 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4020 r
->source_dsa_address
= NULL
;
4022 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4023 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4024 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4026 if (ndr_flags
& NDR_BUFFERS
) {
4027 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4028 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4030 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4031 if (r
->source_dsa_address
) {
4032 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4033 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4034 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4035 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4036 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4037 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
));
4039 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4040 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
));
4041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4044 return NDR_ERR_SUCCESS
;
4047 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4049 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4051 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4053 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4055 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4057 if (r
->source_dsa_address
) {
4058 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4061 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4062 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4066 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4068 if (ndr_flags
& NDR_SCALARS
) {
4069 NDR_CHECK(ndr_push_align(ndr
, 5));
4070 if (r
->naming_context
== NULL
) {
4071 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4073 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4074 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4075 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4076 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4077 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4078 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4079 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4081 if (ndr_flags
& NDR_BUFFERS
) {
4082 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4083 if (r
->source_dsa_dn
) {
4084 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4086 if (r
->transport_dn
) {
4087 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4089 if (r
->source_dsa_address
) {
4090 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4091 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4092 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4093 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
));
4096 return NDR_ERR_SUCCESS
;
4099 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4101 uint32_t _ptr_naming_context
;
4102 TALLOC_CTX
*_mem_save_naming_context_0
;
4103 uint32_t _ptr_source_dsa_dn
;
4104 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4105 uint32_t _ptr_transport_dn
;
4106 TALLOC_CTX
*_mem_save_transport_dn_0
;
4107 uint32_t _ptr_source_dsa_address
;
4108 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4109 if (ndr_flags
& NDR_SCALARS
) {
4110 NDR_CHECK(ndr_pull_align(ndr
, 5));
4111 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4112 if (_ptr_naming_context
) {
4113 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4115 r
->naming_context
= NULL
;
4117 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4118 if (_ptr_source_dsa_dn
) {
4119 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4121 r
->source_dsa_dn
= NULL
;
4123 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4124 if (_ptr_transport_dn
) {
4125 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4127 r
->transport_dn
= NULL
;
4129 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4130 if (_ptr_source_dsa_address
) {
4131 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4133 r
->source_dsa_address
= NULL
;
4135 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4136 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4137 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4139 if (ndr_flags
& NDR_BUFFERS
) {
4140 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4141 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4142 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4143 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4144 if (r
->source_dsa_dn
) {
4145 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4146 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4147 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4148 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4150 if (r
->transport_dn
) {
4151 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4152 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4153 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4154 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4156 if (r
->source_dsa_address
) {
4157 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4158 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4159 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4160 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4161 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4162 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
));
4164 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4165 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
));
4166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4169 return NDR_ERR_SUCCESS
;
4172 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4174 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4176 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4178 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4180 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4182 if (r
->source_dsa_dn
) {
4183 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4186 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4188 if (r
->transport_dn
) {
4189 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4192 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4194 if (r
->source_dsa_address
) {
4195 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4198 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4199 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4203 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4205 if (ndr_flags
& NDR_SCALARS
) {
4206 int level
= ndr_push_get_switch_value(ndr
, r
);
4207 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4208 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4211 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4215 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4219 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4222 if (ndr_flags
& NDR_BUFFERS
) {
4223 int level
= ndr_push_get_switch_value(ndr
, r
);
4226 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4230 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4234 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4237 return NDR_ERR_SUCCESS
;
4240 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4244 level
= ndr_pull_get_switch_value(ndr
, r
);
4245 if (ndr_flags
& NDR_SCALARS
) {
4246 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4247 if (_level
!= level
) {
4248 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4250 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4253 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4257 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4261 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4264 if (ndr_flags
& NDR_BUFFERS
) {
4267 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4275 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4278 return NDR_ERR_SUCCESS
;
4281 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4284 level
= ndr_print_get_switch_value(ndr
, r
);
4285 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4288 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4292 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4296 ndr_print_bad_level(ndr
, name
, level
);
4300 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4302 if (ndr_flags
& NDR_SCALARS
) {
4303 NDR_CHECK(ndr_push_align(ndr
, 5));
4304 if (r
->naming_context
== NULL
) {
4305 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4307 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4308 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4309 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4310 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4312 if (ndr_flags
& NDR_BUFFERS
) {
4313 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4314 if (r
->source_dsa_address
) {
4315 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4316 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4317 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4318 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
));
4321 return NDR_ERR_SUCCESS
;
4324 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4326 uint32_t _ptr_naming_context
;
4327 TALLOC_CTX
*_mem_save_naming_context_0
;
4328 uint32_t _ptr_source_dsa_address
;
4329 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4330 if (ndr_flags
& NDR_SCALARS
) {
4331 NDR_CHECK(ndr_pull_align(ndr
, 5));
4332 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4333 if (_ptr_naming_context
) {
4334 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4336 r
->naming_context
= NULL
;
4338 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4339 if (_ptr_source_dsa_address
) {
4340 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4342 r
->source_dsa_address
= NULL
;
4344 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4345 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4347 if (ndr_flags
& NDR_BUFFERS
) {
4348 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4349 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4351 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4352 if (r
->source_dsa_address
) {
4353 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4354 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4355 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4356 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4357 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4358 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
));
4360 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4361 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
));
4362 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4365 return NDR_ERR_SUCCESS
;
4368 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4370 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4372 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4374 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4376 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4378 if (r
->source_dsa_address
) {
4379 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4382 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4386 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4388 if (ndr_flags
& NDR_SCALARS
) {
4389 int level
= ndr_push_get_switch_value(ndr
, r
);
4390 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4391 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4394 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4398 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4401 if (ndr_flags
& NDR_BUFFERS
) {
4402 int level
= ndr_push_get_switch_value(ndr
, r
);
4405 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4409 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4412 return NDR_ERR_SUCCESS
;
4415 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4419 level
= ndr_pull_get_switch_value(ndr
, r
);
4420 if (ndr_flags
& NDR_SCALARS
) {
4421 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4422 if (_level
!= level
) {
4423 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4425 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4428 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4432 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4435 if (ndr_flags
& NDR_BUFFERS
) {
4438 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4442 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4445 return NDR_ERR_SUCCESS
;
4448 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4451 level
= ndr_print_get_switch_value(ndr
, r
);
4452 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4455 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4459 ndr_print_bad_level(ndr
, name
, level
);
4463 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4465 if (ndr_flags
& NDR_SCALARS
) {
4466 NDR_CHECK(ndr_push_align(ndr
, 5));
4467 if (r
->naming_context
== NULL
) {
4468 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4470 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4471 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4472 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4473 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4476 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4477 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4479 if (ndr_flags
& NDR_BUFFERS
) {
4480 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4481 if (r
->source_dra_address
) {
4482 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4483 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4484 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4485 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
));
4488 return NDR_ERR_SUCCESS
;
4491 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4493 uint32_t _ptr_naming_context
;
4494 TALLOC_CTX
*_mem_save_naming_context_0
;
4495 uint32_t _ptr_source_dra_address
;
4496 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4497 if (ndr_flags
& NDR_SCALARS
) {
4498 NDR_CHECK(ndr_pull_align(ndr
, 5));
4499 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4500 if (_ptr_naming_context
) {
4501 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4503 r
->naming_context
= NULL
;
4505 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4506 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4507 if (_ptr_source_dra_address
) {
4508 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4510 r
->source_dra_address
= NULL
;
4512 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4513 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4514 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4515 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4516 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4518 if (ndr_flags
& NDR_BUFFERS
) {
4519 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4520 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4521 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4522 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4523 if (r
->source_dra_address
) {
4524 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4525 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4526 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4527 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4528 if (ndr_get_array_length(ndr
, &r
->source_dra_address
) > ndr_get_array_size(ndr
, &r
->source_dra_address
)) {
4529 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
));
4531 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t)));
4532 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
));
4533 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4536 return NDR_ERR_SUCCESS
;
4539 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4541 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4543 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4545 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4547 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4548 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4550 if (r
->source_dra_address
) {
4551 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4554 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4555 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4556 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4557 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4561 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4563 if (ndr_flags
& NDR_SCALARS
) {
4564 int level
= ndr_push_get_switch_value(ndr
, r
);
4565 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4566 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4569 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4573 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4576 if (ndr_flags
& NDR_BUFFERS
) {
4577 int level
= ndr_push_get_switch_value(ndr
, r
);
4580 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4584 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4587 return NDR_ERR_SUCCESS
;
4590 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4594 level
= ndr_pull_get_switch_value(ndr
, r
);
4595 if (ndr_flags
& NDR_SCALARS
) {
4596 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4597 if (_level
!= level
) {
4598 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4600 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4607 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4610 if (ndr_flags
& NDR_BUFFERS
) {
4613 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4617 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4620 return NDR_ERR_SUCCESS
;
4623 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4626 level
= ndr_print_get_switch_value(ndr
, r
);
4627 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4630 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4634 ndr_print_bad_level(ndr
, name
, level
);
4638 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4640 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4641 return NDR_ERR_SUCCESS
;
4644 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4647 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4649 return NDR_ERR_SUCCESS
;
4652 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4654 const char *val
= NULL
;
4657 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4658 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4659 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4660 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4661 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4662 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4663 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4665 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4668 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4670 uint32_t cntr_info_array_1
;
4671 uint32_t cntr_group_attrs_1
;
4672 uint32_t cntr_sids_1
;
4673 if (ndr_flags
& NDR_SCALARS
) {
4674 NDR_CHECK(ndr_push_align(ndr
, 5));
4675 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4676 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4677 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4678 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4679 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4680 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4681 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4683 if (ndr_flags
& NDR_BUFFERS
) {
4684 if (r
->info_array
) {
4685 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4686 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4687 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4689 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4690 if (r
->info_array
[cntr_info_array_1
]) {
4691 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4695 if (r
->group_attrs
) {
4696 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4697 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4698 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4702 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4703 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4704 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4706 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4707 if (r
->sids
[cntr_sids_1
]) {
4708 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4713 return NDR_ERR_SUCCESS
;
4716 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4718 uint32_t _ptr_info_array
;
4719 uint32_t cntr_info_array_1
;
4720 TALLOC_CTX
*_mem_save_info_array_0
;
4721 TALLOC_CTX
*_mem_save_info_array_1
;
4722 TALLOC_CTX
*_mem_save_info_array_2
;
4723 uint32_t _ptr_group_attrs
;
4724 uint32_t cntr_group_attrs_1
;
4725 TALLOC_CTX
*_mem_save_group_attrs_0
;
4726 TALLOC_CTX
*_mem_save_group_attrs_1
;
4728 uint32_t cntr_sids_1
;
4729 TALLOC_CTX
*_mem_save_sids_0
;
4730 TALLOC_CTX
*_mem_save_sids_1
;
4731 TALLOC_CTX
*_mem_save_sids_2
;
4732 if (ndr_flags
& NDR_SCALARS
) {
4733 NDR_CHECK(ndr_pull_align(ndr
, 5));
4734 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4735 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4736 if (r
->num_memberships
> 10000) {
4737 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4739 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4740 if (r
->num_sids
> 10000) {
4741 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4743 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4744 if (_ptr_info_array
) {
4745 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4747 r
->info_array
= NULL
;
4749 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4750 if (_ptr_group_attrs
) {
4751 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4753 r
->group_attrs
= NULL
;
4755 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4757 NDR_PULL_ALLOC(ndr
, r
->sids
);
4761 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4763 if (ndr_flags
& NDR_BUFFERS
) {
4764 if (r
->info_array
) {
4765 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4766 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4767 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4768 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
4769 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4770 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4771 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4772 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4773 if (_ptr_info_array
) {
4774 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4776 r
->info_array
[cntr_info_array_1
] = NULL
;
4779 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4780 if (r
->info_array
[cntr_info_array_1
]) {
4781 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4782 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4784 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4787 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4788 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4790 if (r
->group_attrs
) {
4791 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4792 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4793 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4794 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, ndr_get_array_size(ndr
, &r
->group_attrs
));
4795 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4796 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4797 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4798 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4800 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4801 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4804 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4805 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4806 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4807 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4808 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4809 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4810 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4811 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4813 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4815 r
->sids
[cntr_sids_1
] = NULL
;
4818 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4819 if (r
->sids
[cntr_sids_1
]) {
4820 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4821 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4822 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4827 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4829 if (r
->info_array
) {
4830 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4832 if (r
->group_attrs
) {
4833 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4836 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4839 return NDR_ERR_SUCCESS
;
4842 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4844 uint32_t cntr_info_array_1
;
4845 uint32_t cntr_group_attrs_1
;
4846 uint32_t cntr_sids_1
;
4847 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4849 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4850 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4851 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4852 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4854 if (r
->info_array
) {
4855 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4857 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4859 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4860 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4862 if (r
->info_array
[cntr_info_array_1
]) {
4863 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4872 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4874 if (r
->group_attrs
) {
4875 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4877 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
4879 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
4880 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
4887 ndr_print_ptr(ndr
, "sids", r
->sids
);
4890 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
4892 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
4894 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4895 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4897 if (r
->sids
[cntr_sids_1
]) {
4898 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4910 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
4912 if (ndr_flags
& NDR_SCALARS
) {
4913 int level
= ndr_push_get_switch_value(ndr
, r
);
4914 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4915 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4918 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4922 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4925 if (ndr_flags
& NDR_BUFFERS
) {
4926 int level
= ndr_push_get_switch_value(ndr
, r
);
4929 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4933 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4936 return NDR_ERR_SUCCESS
;
4939 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
4943 level
= ndr_pull_get_switch_value(ndr
, r
);
4944 if (ndr_flags
& NDR_SCALARS
) {
4945 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4946 if (_level
!= level
) {
4947 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4949 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4952 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4956 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4959 if (ndr_flags
& NDR_BUFFERS
) {
4962 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4966 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4969 return NDR_ERR_SUCCESS
;
4972 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
4975 level
= ndr_print_get_switch_value(ndr
, r
);
4976 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
4979 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
4983 ndr_print_bad_level(ndr
, name
, level
);
4987 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
4989 uint32_t cntr_info_array_1
;
4990 if (ndr_flags
& NDR_SCALARS
) {
4991 NDR_CHECK(ndr_push_align(ndr
, 5));
4992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4993 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4994 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4995 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
4996 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
4997 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4999 if (ndr_flags
& NDR_BUFFERS
) {
5000 if (r
->info_array
) {
5001 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5002 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5003 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
5005 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5006 if (r
->info_array
[cntr_info_array_1
]) {
5007 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5012 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5015 return NDR_ERR_SUCCESS
;
5018 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
5020 uint32_t _ptr_info_array
;
5021 uint32_t cntr_info_array_1
;
5022 TALLOC_CTX
*_mem_save_info_array_0
;
5023 TALLOC_CTX
*_mem_save_info_array_1
;
5024 TALLOC_CTX
*_mem_save_info_array_2
;
5025 uint32_t _ptr_domain
;
5026 TALLOC_CTX
*_mem_save_domain_0
;
5027 if (ndr_flags
& NDR_SCALARS
) {
5028 NDR_CHECK(ndr_pull_align(ndr
, 5));
5029 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5030 if (r
->count
< 1 || r
->count
> 10000) {
5031 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5033 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5034 if (_ptr_info_array
) {
5035 NDR_PULL_ALLOC(ndr
, r
->info_array
);
5037 r
->info_array
= NULL
;
5039 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5040 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
5041 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5043 NDR_PULL_ALLOC(ndr
, r
->domain
);
5047 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5049 if (ndr_flags
& NDR_BUFFERS
) {
5050 if (r
->info_array
) {
5051 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5052 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5053 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5054 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
5055 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5056 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5057 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5058 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5059 if (_ptr_info_array
) {
5060 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5062 r
->info_array
[cntr_info_array_1
] = NULL
;
5065 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5066 if (r
->info_array
[cntr_info_array_1
]) {
5067 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5068 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5069 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5070 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5073 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5074 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5077 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5078 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5079 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5080 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5082 if (r
->info_array
) {
5083 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5086 return NDR_ERR_SUCCESS
;
5089 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5091 uint32_t cntr_info_array_1
;
5092 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5094 ndr_print_uint32(ndr
, "count", r
->count
);
5095 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5097 if (r
->info_array
) {
5098 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5100 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5102 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5103 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5105 if (r
->info_array
[cntr_info_array_1
]) {
5106 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5115 ndr_print_uint32(ndr
, "flags", r
->flags
);
5116 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5117 ndr_print_ptr(ndr
, "domain", r
->domain
);
5120 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5126 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5128 if (ndr_flags
& NDR_SCALARS
) {
5129 int level
= ndr_push_get_switch_value(ndr
, r
);
5130 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5131 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5134 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5138 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5141 if (ndr_flags
& NDR_BUFFERS
) {
5142 int level
= ndr_push_get_switch_value(ndr
, r
);
5145 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5149 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5152 return NDR_ERR_SUCCESS
;
5155 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5159 level
= ndr_pull_get_switch_value(ndr
, r
);
5160 if (ndr_flags
& NDR_SCALARS
) {
5161 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5162 if (_level
!= level
) {
5163 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5165 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5168 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5172 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5175 if (ndr_flags
& NDR_BUFFERS
) {
5178 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5182 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5185 return NDR_ERR_SUCCESS
;
5188 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5191 level
= ndr_print_get_switch_value(ndr
, r
);
5192 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5195 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5199 ndr_print_bad_level(ndr
, name
, level
);
5203 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5205 if (ndr_flags
& NDR_SCALARS
) {
5206 NDR_CHECK(ndr_push_align(ndr
, 5));
5207 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
5208 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
5209 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
5210 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
5211 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5213 if (ndr_flags
& NDR_BUFFERS
) {
5215 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
5216 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
5219 return NDR_ERR_SUCCESS
;
5222 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5225 TALLOC_CTX
*_mem_save_data_0
;
5226 if (ndr_flags
& NDR_SCALARS
) {
5227 NDR_CHECK(ndr_pull_align(ndr
, 5));
5228 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
5229 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
5230 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5231 if (r
->length
> 0x00A00000) {
5232 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5234 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5236 NDR_PULL_ALLOC(ndr
, r
->data
);
5240 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5242 if (ndr_flags
& NDR_BUFFERS
) {
5244 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5245 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5246 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5247 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
5248 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
5249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5252 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5255 return NDR_ERR_SUCCESS
;
5258 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5260 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5262 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
5263 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
5264 ndr_print_uint32(ndr
, "length", r
->length
);
5265 ndr_print_ptr(ndr
, "data", r
->data
);
5268 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5274 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5276 if (ndr_flags
& NDR_SCALARS
) {
5277 int level
= ndr_push_get_switch_value(ndr
, r
);
5278 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5279 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5282 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5286 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5289 if (ndr_flags
& NDR_BUFFERS
) {
5290 int level
= ndr_push_get_switch_value(ndr
, r
);
5293 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5297 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5300 return NDR_ERR_SUCCESS
;
5303 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5307 level
= ndr_pull_get_switch_value(ndr
, r
);
5308 if (ndr_flags
& NDR_SCALARS
) {
5309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5310 if (_level
!= level
) {
5311 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5313 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5316 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5320 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5323 if (ndr_flags
& NDR_BUFFERS
) {
5326 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5330 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5333 return NDR_ERR_SUCCESS
;
5336 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5339 level
= ndr_print_get_switch_value(ndr
, r
);
5340 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5343 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5347 ndr_print_bad_level(ndr
, name
, level
);
5351 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5353 if (ndr_flags
& NDR_SCALARS
) {
5354 NDR_CHECK(ndr_push_align(ndr
, 8));
5355 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
5356 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
5357 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
5358 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time2
));
5359 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown3
));
5360 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time4
));
5361 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown5
));
5362 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time6
));
5363 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5364 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data1
));
5365 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data2
));
5366 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5368 if (ndr_flags
& NDR_BUFFERS
) {
5370 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length1
));
5371 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, r
->length1
));
5374 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length2
));
5375 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, r
->length2
));
5378 return NDR_ERR_SUCCESS
;
5381 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5383 uint32_t _ptr_data1
;
5384 TALLOC_CTX
*_mem_save_data1_0
;
5385 uint32_t _ptr_data2
;
5386 TALLOC_CTX
*_mem_save_data2_0
;
5387 if (ndr_flags
& NDR_SCALARS
) {
5388 NDR_CHECK(ndr_pull_align(ndr
, 8));
5389 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length1
));
5390 if (r
->length1
> 0x00A00000) {
5391 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5393 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length2
));
5394 if (r
->length2
> 0x00A00000) {
5395 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5397 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
5398 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time2
));
5399 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown3
));
5400 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time4
));
5401 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown5
));
5402 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time6
));
5403 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5404 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data1
));
5406 NDR_PULL_ALLOC(ndr
, r
->data1
);
5410 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data2
));
5412 NDR_PULL_ALLOC(ndr
, r
->data2
);
5416 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5418 if (ndr_flags
& NDR_BUFFERS
) {
5420 _mem_save_data1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5421 NDR_PULL_SET_MEM_CTX(ndr
, r
->data1
, 0);
5422 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data1
));
5423 NDR_PULL_ALLOC_N(ndr
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
));
5424 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
)));
5425 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data1_0
, 0);
5428 _mem_save_data2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5429 NDR_PULL_SET_MEM_CTX(ndr
, r
->data2
, 0);
5430 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data2
));
5431 NDR_PULL_ALLOC_N(ndr
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
));
5432 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
)));
5433 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data2_0
, 0);
5436 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data1
, r
->length1
));
5439 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data2
, r
->length2
));
5442 return NDR_ERR_SUCCESS
;
5445 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5447 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5449 ndr_print_uint32(ndr
, "length1", r
->length1
);
5450 ndr_print_uint32(ndr
, "length2", r
->length2
);
5451 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
5452 ndr_print_NTTIME(ndr
, "time2", r
->time2
);
5453 ndr_print_hyper(ndr
, "unknown3", r
->unknown3
);
5454 ndr_print_NTTIME(ndr
, "time4", r
->time4
);
5455 ndr_print_hyper(ndr
, "unknown5", r
->unknown5
);
5456 ndr_print_NTTIME(ndr
, "time6", r
->time6
);
5457 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5458 ndr_print_ptr(ndr
, "data1", r
->data1
);
5461 ndr_print_array_uint8(ndr
, "data1", r
->data1
, r
->length1
);
5464 ndr_print_ptr(ndr
, "data2", r
->data2
);
5467 ndr_print_array_uint8(ndr
, "data2", r
->data2
, r
->length2
);
5473 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5475 if (ndr_flags
& NDR_SCALARS
) {
5476 int level
= ndr_push_get_switch_value(ndr
, r
);
5477 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5478 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5481 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5485 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5488 if (ndr_flags
& NDR_BUFFERS
) {
5489 int level
= ndr_push_get_switch_value(ndr
, r
);
5492 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5496 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5499 return NDR_ERR_SUCCESS
;
5502 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5506 level
= ndr_pull_get_switch_value(ndr
, r
);
5507 if (ndr_flags
& NDR_SCALARS
) {
5508 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5509 if (_level
!= level
) {
5510 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5512 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5515 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5519 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5522 if (ndr_flags
& NDR_BUFFERS
) {
5525 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5529 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5532 return NDR_ERR_SUCCESS
;
5535 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5538 level
= ndr_print_get_switch_value(ndr
, r
);
5539 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5542 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5546 ndr_print_bad_level(ndr
, name
, level
);
5550 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5552 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5553 return NDR_ERR_SUCCESS
;
5556 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5559 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5561 return NDR_ERR_SUCCESS
;
5564 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5566 const char *val
= NULL
;
5569 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5570 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5571 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5572 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5573 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5574 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5575 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5576 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5578 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5581 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5583 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5584 return NDR_ERR_SUCCESS
;
5587 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5590 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5592 return NDR_ERR_SUCCESS
;
5595 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5597 const char *val
= NULL
;
5600 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5601 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5602 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5603 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5604 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5606 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5609 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5611 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5612 return NDR_ERR_SUCCESS
;
5615 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5618 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5620 return NDR_ERR_SUCCESS
;
5623 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5625 const char *val
= NULL
;
5628 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5629 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5630 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5631 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5632 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5633 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5634 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5635 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5636 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5637 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5638 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5640 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5643 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5645 if (ndr_flags
& NDR_SCALARS
) {
5646 NDR_CHECK(ndr_push_align(ndr
, 5));
5647 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5648 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5650 if (ndr_flags
& NDR_BUFFERS
) {
5652 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5653 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5654 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5655 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5658 return NDR_ERR_SUCCESS
;
5661 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5664 TALLOC_CTX
*_mem_save_str_0
;
5665 if (ndr_flags
& NDR_SCALARS
) {
5666 NDR_CHECK(ndr_pull_align(ndr
, 5));
5667 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5669 NDR_PULL_ALLOC(ndr
, r
->str
);
5673 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5675 if (ndr_flags
& NDR_BUFFERS
) {
5677 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5678 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5679 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5680 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5681 if (ndr_get_array_length(ndr
, &r
->str
) > ndr_get_array_size(ndr
, &r
->str
)) {
5682 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
));
5684 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t)));
5685 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t), CH_UTF16
));
5686 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5689 return NDR_ERR_SUCCESS
;
5692 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5694 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5696 ndr_print_ptr(ndr
, "str", r
->str
);
5699 ndr_print_string(ndr
, "str", r
->str
);
5705 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5707 uint32_t cntr_names_1
;
5708 if (ndr_flags
& NDR_SCALARS
) {
5709 NDR_CHECK(ndr_push_align(ndr
, 5));
5710 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5711 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5712 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5713 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5714 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5715 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5716 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5717 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5719 if (ndr_flags
& NDR_BUFFERS
) {
5721 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5722 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5723 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5725 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5726 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5730 return NDR_ERR_SUCCESS
;
5733 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5735 uint32_t _ptr_names
;
5736 uint32_t cntr_names_1
;
5737 TALLOC_CTX
*_mem_save_names_0
;
5738 TALLOC_CTX
*_mem_save_names_1
;
5739 if (ndr_flags
& NDR_SCALARS
) {
5740 NDR_CHECK(ndr_pull_align(ndr
, 5));
5741 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5742 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5743 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5744 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5745 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5746 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5747 if (r
->count
< 1 || r
->count
> 10000) {
5748 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5750 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5752 NDR_PULL_ALLOC(ndr
, r
->names
);
5756 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5758 if (ndr_flags
& NDR_BUFFERS
) {
5760 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5761 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5762 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5763 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
5764 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5765 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5766 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5767 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5769 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5770 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5772 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5773 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5776 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5779 return NDR_ERR_SUCCESS
;
5782 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5784 uint32_t cntr_names_1
;
5785 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5787 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5788 ndr_print_uint32(ndr
, "language", r
->language
);
5789 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5790 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5791 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5792 ndr_print_uint32(ndr
, "count", r
->count
);
5793 ndr_print_ptr(ndr
, "names", r
->names
);
5796 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5798 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5800 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5801 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5811 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5813 if (ndr_flags
& NDR_SCALARS
) {
5814 int level
= ndr_push_get_switch_value(ndr
, r
);
5815 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5816 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5819 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5823 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5826 if (ndr_flags
& NDR_BUFFERS
) {
5827 int level
= ndr_push_get_switch_value(ndr
, r
);
5830 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5834 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5837 return NDR_ERR_SUCCESS
;
5840 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5844 level
= ndr_pull_get_switch_value(ndr
, r
);
5845 if (ndr_flags
& NDR_SCALARS
) {
5846 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5847 if (_level
!= level
) {
5848 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5850 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5853 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5857 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5860 if (ndr_flags
& NDR_BUFFERS
) {
5863 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5867 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5870 return NDR_ERR_SUCCESS
;
5873 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5876 level
= ndr_print_get_switch_value(ndr
, r
);
5877 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
5880 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
5884 ndr_print_bad_level(ndr
, name
, level
);
5888 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
5890 if (ndr_flags
& NDR_SCALARS
) {
5891 NDR_CHECK(ndr_push_align(ndr
, 5));
5892 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
5893 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
5894 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
5895 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5897 if (ndr_flags
& NDR_BUFFERS
) {
5898 if (r
->dns_domain_name
) {
5899 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5900 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5901 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5902 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
));
5904 if (r
->result_name
) {
5905 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5906 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5907 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5908 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5911 return NDR_ERR_SUCCESS
;
5914 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
5916 uint32_t _ptr_dns_domain_name
;
5917 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
5918 uint32_t _ptr_result_name
;
5919 TALLOC_CTX
*_mem_save_result_name_0
;
5920 if (ndr_flags
& NDR_SCALARS
) {
5921 NDR_CHECK(ndr_pull_align(ndr
, 5));
5922 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
5923 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
5924 if (_ptr_dns_domain_name
) {
5925 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
5927 r
->dns_domain_name
= NULL
;
5929 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
5930 if (_ptr_result_name
) {
5931 NDR_PULL_ALLOC(ndr
, r
->result_name
);
5933 r
->result_name
= NULL
;
5935 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5937 if (ndr_flags
& NDR_BUFFERS
) {
5938 if (r
->dns_domain_name
) {
5939 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5940 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
5941 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
5942 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
5943 if (ndr_get_array_length(ndr
, &r
->dns_domain_name
) > ndr_get_array_size(ndr
, &r
->dns_domain_name
)) {
5944 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
));
5946 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t)));
5947 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
));
5948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
5950 if (r
->result_name
) {
5951 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5952 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
5953 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
5954 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
5955 if (ndr_get_array_length(ndr
, &r
->result_name
) > ndr_get_array_size(ndr
, &r
->result_name
)) {
5956 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
));
5958 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t)));
5959 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t), CH_UTF16
));
5960 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
5963 return NDR_ERR_SUCCESS
;
5966 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
5968 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
5970 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
5971 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
5973 if (r
->dns_domain_name
) {
5974 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
5977 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
5979 if (r
->result_name
) {
5980 ndr_print_string(ndr
, "result_name", r
->result_name
);
5986 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
5988 uint32_t cntr_array_1
;
5989 if (ndr_flags
& NDR_SCALARS
) {
5990 NDR_CHECK(ndr_push_align(ndr
, 5));
5991 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5992 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
5993 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5995 if (ndr_flags
& NDR_BUFFERS
) {
5997 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5998 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5999 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6001 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6002 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6006 return NDR_ERR_SUCCESS
;
6009 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
6011 uint32_t _ptr_array
;
6012 uint32_t cntr_array_1
;
6013 TALLOC_CTX
*_mem_save_array_0
;
6014 TALLOC_CTX
*_mem_save_array_1
;
6015 if (ndr_flags
& NDR_SCALARS
) {
6016 NDR_CHECK(ndr_pull_align(ndr
, 5));
6017 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6018 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6020 NDR_PULL_ALLOC(ndr
, r
->array
);
6024 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6026 if (ndr_flags
& NDR_BUFFERS
) {
6028 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6029 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6030 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6031 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
6032 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6033 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6034 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6035 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6037 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6038 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6040 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6044 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6047 return NDR_ERR_SUCCESS
;
6050 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6052 uint32_t cntr_array_1
;
6053 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6055 ndr_print_uint32(ndr
, "count", r
->count
);
6056 ndr_print_ptr(ndr
, "array", r
->array
);
6059 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6061 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6063 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6064 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6074 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6076 if (ndr_flags
& NDR_SCALARS
) {
6077 int level
= ndr_push_get_switch_value(ndr
, r
);
6078 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6079 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6082 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6086 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6089 if (ndr_flags
& NDR_BUFFERS
) {
6090 int level
= ndr_push_get_switch_value(ndr
, r
);
6094 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6099 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6102 return NDR_ERR_SUCCESS
;
6105 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6109 TALLOC_CTX
*_mem_save_ctr1_0
;
6110 level
= ndr_pull_get_switch_value(ndr
, r
);
6111 if (ndr_flags
& NDR_SCALARS
) {
6112 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6113 if (_level
!= level
) {
6114 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6116 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6120 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6122 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6129 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6132 if (ndr_flags
& NDR_BUFFERS
) {
6136 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6137 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6138 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6139 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6144 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6147 return NDR_ERR_SUCCESS
;
6150 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6153 level
= ndr_print_get_switch_value(ndr
, r
);
6154 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6157 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6160 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6166 ndr_print_bad_level(ndr
, name
, level
);
6170 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6172 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6173 return NDR_ERR_SUCCESS
;
6176 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6179 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6181 return NDR_ERR_SUCCESS
;
6184 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6186 const char *val
= NULL
;
6189 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6190 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6191 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6193 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6196 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6198 uint32_t cntr_spn_names_1
;
6199 if (ndr_flags
& NDR_SCALARS
) {
6200 NDR_CHECK(ndr_push_align(ndr
, 5));
6201 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6202 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6203 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6204 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6205 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6206 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6208 if (ndr_flags
& NDR_BUFFERS
) {
6210 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6211 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6212 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6213 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6216 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6217 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6218 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6220 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6221 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6225 return NDR_ERR_SUCCESS
;
6228 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6230 uint32_t _ptr_object_dn
;
6231 TALLOC_CTX
*_mem_save_object_dn_0
;
6232 uint32_t _ptr_spn_names
;
6233 uint32_t cntr_spn_names_1
;
6234 TALLOC_CTX
*_mem_save_spn_names_0
;
6235 TALLOC_CTX
*_mem_save_spn_names_1
;
6236 if (ndr_flags
& NDR_SCALARS
) {
6237 NDR_CHECK(ndr_pull_align(ndr
, 5));
6238 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6239 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6240 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6241 if (_ptr_object_dn
) {
6242 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6244 r
->object_dn
= NULL
;
6246 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6247 if (r
->count
> 10000) {
6248 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6250 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6251 if (_ptr_spn_names
) {
6252 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6254 r
->spn_names
= NULL
;
6256 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6258 if (ndr_flags
& NDR_BUFFERS
) {
6260 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6261 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6262 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6263 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6264 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
6265 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
));
6267 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
6268 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
6269 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6272 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6273 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6274 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6275 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, ndr_get_array_size(ndr
, &r
->spn_names
));
6276 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6277 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6278 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6279 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6281 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6282 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6285 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6288 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6291 return NDR_ERR_SUCCESS
;
6294 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6296 uint32_t cntr_spn_names_1
;
6297 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6299 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6300 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6301 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6304 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6307 ndr_print_uint32(ndr
, "count", r
->count
);
6308 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6311 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6313 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6315 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6316 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6326 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6328 if (ndr_flags
& NDR_SCALARS
) {
6329 int level
= ndr_push_get_switch_value(ndr
, r
);
6330 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6331 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6334 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6338 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6341 if (ndr_flags
& NDR_BUFFERS
) {
6342 int level
= ndr_push_get_switch_value(ndr
, r
);
6345 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6349 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6352 return NDR_ERR_SUCCESS
;
6355 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6359 level
= ndr_pull_get_switch_value(ndr
, r
);
6360 if (ndr_flags
& NDR_SCALARS
) {
6361 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6362 if (_level
!= level
) {
6363 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6365 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6368 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6372 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6375 if (ndr_flags
& NDR_BUFFERS
) {
6378 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6382 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6385 return NDR_ERR_SUCCESS
;
6388 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6391 level
= ndr_print_get_switch_value(ndr
, r
);
6392 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6395 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6399 ndr_print_bad_level(ndr
, name
, level
);
6403 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6405 if (ndr_flags
& NDR_SCALARS
) {
6406 NDR_CHECK(ndr_push_align(ndr
, 4));
6407 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6408 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6410 if (ndr_flags
& NDR_BUFFERS
) {
6412 return NDR_ERR_SUCCESS
;
6415 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6417 if (ndr_flags
& NDR_SCALARS
) {
6418 NDR_CHECK(ndr_pull_align(ndr
, 4));
6419 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6420 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6422 if (ndr_flags
& NDR_BUFFERS
) {
6424 return NDR_ERR_SUCCESS
;
6427 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6429 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6431 ndr_print_WERROR(ndr
, "status", r
->status
);
6435 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6437 if (ndr_flags
& NDR_SCALARS
) {
6438 int level
= ndr_push_get_switch_value(ndr
, r
);
6439 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6440 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6443 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6447 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6450 if (ndr_flags
& NDR_BUFFERS
) {
6451 int level
= ndr_push_get_switch_value(ndr
, r
);
6457 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6460 return NDR_ERR_SUCCESS
;
6463 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6467 level
= ndr_pull_get_switch_value(ndr
, r
);
6468 if (ndr_flags
& NDR_SCALARS
) {
6469 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6470 if (_level
!= level
) {
6471 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6473 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6476 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6480 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6483 if (ndr_flags
& NDR_BUFFERS
) {
6489 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6492 return NDR_ERR_SUCCESS
;
6495 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6498 level
= ndr_print_get_switch_value(ndr
, r
);
6499 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6502 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6506 ndr_print_bad_level(ndr
, name
, level
);
6510 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6512 if (ndr_flags
& NDR_SCALARS
) {
6513 NDR_CHECK(ndr_push_align(ndr
, 5));
6514 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6515 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6516 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6517 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6519 if (ndr_flags
& NDR_BUFFERS
) {
6521 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6522 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6523 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6524 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6527 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6528 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6529 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6530 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6533 return NDR_ERR_SUCCESS
;
6536 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6538 uint32_t _ptr_server_dn
;
6539 TALLOC_CTX
*_mem_save_server_dn_0
;
6540 uint32_t _ptr_domain_dn
;
6541 TALLOC_CTX
*_mem_save_domain_dn_0
;
6542 if (ndr_flags
& NDR_SCALARS
) {
6543 NDR_CHECK(ndr_pull_align(ndr
, 5));
6544 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6545 if (_ptr_server_dn
) {
6546 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6548 r
->server_dn
= NULL
;
6550 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
6551 if (_ptr_domain_dn
) {
6552 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
6554 r
->domain_dn
= NULL
;
6556 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
6557 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6559 if (ndr_flags
& NDR_BUFFERS
) {
6561 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6562 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6563 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6564 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6565 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
6566 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
));
6568 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
6569 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
6570 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6573 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6574 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6575 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6576 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6577 if (ndr_get_array_length(ndr
, &r
->domain_dn
) > ndr_get_array_size(ndr
, &r
->domain_dn
)) {
6578 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
));
6580 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t)));
6581 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t), CH_UTF16
));
6582 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6585 return NDR_ERR_SUCCESS
;
6588 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6590 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6592 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6595 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6598 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6601 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6604 ndr_print_uint32(ndr
, "commit", r
->commit
);
6608 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6610 if (ndr_flags
& NDR_SCALARS
) {
6611 int level
= ndr_push_get_switch_value(ndr
, r
);
6612 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6613 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6616 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6620 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6623 if (ndr_flags
& NDR_BUFFERS
) {
6624 int level
= ndr_push_get_switch_value(ndr
, r
);
6627 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6631 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6634 return NDR_ERR_SUCCESS
;
6637 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6641 level
= ndr_pull_get_switch_value(ndr
, r
);
6642 if (ndr_flags
& NDR_SCALARS
) {
6643 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6644 if (_level
!= level
) {
6645 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6647 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6650 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6654 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6657 if (ndr_flags
& NDR_BUFFERS
) {
6660 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6664 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6667 return NDR_ERR_SUCCESS
;
6670 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6673 level
= ndr_print_get_switch_value(ndr
, r
);
6674 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6677 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6681 ndr_print_bad_level(ndr
, name
, level
);
6685 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6687 if (ndr_flags
& NDR_SCALARS
) {
6688 NDR_CHECK(ndr_push_align(ndr
, 4));
6689 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6690 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6692 if (ndr_flags
& NDR_BUFFERS
) {
6694 return NDR_ERR_SUCCESS
;
6697 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6699 if (ndr_flags
& NDR_SCALARS
) {
6700 NDR_CHECK(ndr_pull_align(ndr
, 4));
6701 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6702 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6704 if (ndr_flags
& NDR_BUFFERS
) {
6706 return NDR_ERR_SUCCESS
;
6709 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6711 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6713 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6717 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6719 if (ndr_flags
& NDR_SCALARS
) {
6720 int level
= ndr_push_get_switch_value(ndr
, r
);
6721 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6722 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6725 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6729 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6732 if (ndr_flags
& NDR_BUFFERS
) {
6733 int level
= ndr_push_get_switch_value(ndr
, r
);
6739 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6742 return NDR_ERR_SUCCESS
;
6745 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6749 level
= ndr_pull_get_switch_value(ndr
, r
);
6750 if (ndr_flags
& NDR_SCALARS
) {
6751 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6752 if (_level
!= level
) {
6753 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6755 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6758 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6762 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6765 if (ndr_flags
& NDR_BUFFERS
) {
6771 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6774 return NDR_ERR_SUCCESS
;
6777 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6780 level
= ndr_print_get_switch_value(ndr
, r
);
6781 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6784 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6788 ndr_print_bad_level(ndr
, name
, level
);
6792 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6794 if (ndr_flags
& NDR_SCALARS
) {
6795 NDR_CHECK(ndr_push_align(ndr
, 5));
6796 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6797 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6798 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6800 if (ndr_flags
& NDR_BUFFERS
) {
6801 if (r
->domain_name
) {
6802 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6803 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6804 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6805 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6808 return NDR_ERR_SUCCESS
;
6811 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6813 uint32_t _ptr_domain_name
;
6814 TALLOC_CTX
*_mem_save_domain_name_0
;
6815 if (ndr_flags
& NDR_SCALARS
) {
6816 NDR_CHECK(ndr_pull_align(ndr
, 5));
6817 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6818 if (_ptr_domain_name
) {
6819 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6821 r
->domain_name
= NULL
;
6823 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6824 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6826 if (ndr_flags
& NDR_BUFFERS
) {
6827 if (r
->domain_name
) {
6828 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6829 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6830 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6831 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6832 if (ndr_get_array_length(ndr
, &r
->domain_name
) > ndr_get_array_size(ndr
, &r
->domain_name
)) {
6833 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
));
6835 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t)));
6836 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t), CH_UTF16
));
6837 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6840 return NDR_ERR_SUCCESS
;
6843 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6845 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6847 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6849 if (r
->domain_name
) {
6850 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6853 ndr_print_int32(ndr
, "level", r
->level
);
6857 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6859 if (ndr_flags
& NDR_SCALARS
) {
6860 int level
= ndr_push_get_switch_value(ndr
, r
);
6861 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6862 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6865 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6869 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6872 if (ndr_flags
& NDR_BUFFERS
) {
6873 int level
= ndr_push_get_switch_value(ndr
, r
);
6876 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6880 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6883 return NDR_ERR_SUCCESS
;
6886 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
6890 level
= ndr_pull_get_switch_value(ndr
, r
);
6891 if (ndr_flags
& NDR_SCALARS
) {
6892 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6893 if (_level
!= level
) {
6894 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6896 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6899 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6903 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6906 if (ndr_flags
& NDR_BUFFERS
) {
6909 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6913 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6916 return NDR_ERR_SUCCESS
;
6919 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
6922 level
= ndr_print_get_switch_value(ndr
, r
);
6923 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
6926 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
6930 ndr_print_bad_level(ndr
, name
, level
);
6934 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
6936 if (ndr_flags
& NDR_SCALARS
) {
6937 NDR_CHECK(ndr_push_align(ndr
, 5));
6938 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6939 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6940 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6941 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6942 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6943 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6944 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6945 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6947 if (ndr_flags
& NDR_BUFFERS
) {
6948 if (r
->netbios_name
) {
6949 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6950 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6951 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6952 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6955 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6956 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6957 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6958 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6961 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6962 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6963 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6964 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6966 if (r
->computer_dn
) {
6967 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6968 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6969 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6970 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6973 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6974 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6975 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6976 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6979 return NDR_ERR_SUCCESS
;
6982 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
6984 uint32_t _ptr_netbios_name
;
6985 TALLOC_CTX
*_mem_save_netbios_name_0
;
6986 uint32_t _ptr_dns_name
;
6987 TALLOC_CTX
*_mem_save_dns_name_0
;
6988 uint32_t _ptr_site_name
;
6989 TALLOC_CTX
*_mem_save_site_name_0
;
6990 uint32_t _ptr_computer_dn
;
6991 TALLOC_CTX
*_mem_save_computer_dn_0
;
6992 uint32_t _ptr_server_dn
;
6993 TALLOC_CTX
*_mem_save_server_dn_0
;
6994 if (ndr_flags
& NDR_SCALARS
) {
6995 NDR_CHECK(ndr_pull_align(ndr
, 5));
6996 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6997 if (_ptr_netbios_name
) {
6998 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7000 r
->netbios_name
= NULL
;
7002 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7003 if (_ptr_dns_name
) {
7004 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7008 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7009 if (_ptr_site_name
) {
7010 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7012 r
->site_name
= NULL
;
7014 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7015 if (_ptr_computer_dn
) {
7016 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7018 r
->computer_dn
= NULL
;
7020 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7021 if (_ptr_server_dn
) {
7022 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7024 r
->server_dn
= NULL
;
7026 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7027 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7028 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7030 if (ndr_flags
& NDR_BUFFERS
) {
7031 if (r
->netbios_name
) {
7032 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7033 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7034 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7035 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7036 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7037 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
));
7039 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7040 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7044 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7045 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7046 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7047 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7048 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7049 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
));
7051 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7052 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7053 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7056 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7057 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7058 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7059 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7060 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7061 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
));
7063 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7064 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7067 if (r
->computer_dn
) {
7068 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7069 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7070 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7071 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7072 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7073 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
));
7075 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7076 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7077 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7080 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7081 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7082 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7083 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7084 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7085 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
));
7087 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7088 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7089 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7092 return NDR_ERR_SUCCESS
;
7095 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7097 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7099 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7101 if (r
->netbios_name
) {
7102 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7105 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7108 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7111 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7114 ndr_print_string(ndr
, "site_name", r
->site_name
);
7117 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7119 if (r
->computer_dn
) {
7120 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7123 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7126 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7129 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7130 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7134 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7136 uint32_t cntr_array_1
;
7137 if (ndr_flags
& NDR_SCALARS
) {
7138 NDR_CHECK(ndr_push_align(ndr
, 5));
7139 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7140 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7141 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7143 if (ndr_flags
& NDR_BUFFERS
) {
7145 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7146 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7147 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7149 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7150 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7154 return NDR_ERR_SUCCESS
;
7157 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7159 uint32_t _ptr_array
;
7160 uint32_t cntr_array_1
;
7161 TALLOC_CTX
*_mem_save_array_0
;
7162 TALLOC_CTX
*_mem_save_array_1
;
7163 if (ndr_flags
& NDR_SCALARS
) {
7164 NDR_CHECK(ndr_pull_align(ndr
, 5));
7165 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7166 if (r
->count
> 10000) {
7167 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7169 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7171 NDR_PULL_ALLOC(ndr
, r
->array
);
7175 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7177 if (ndr_flags
& NDR_BUFFERS
) {
7179 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7180 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7181 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7182 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7183 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7184 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7185 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7186 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7188 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7189 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7192 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7195 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7198 return NDR_ERR_SUCCESS
;
7201 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7203 uint32_t cntr_array_1
;
7204 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7206 ndr_print_uint32(ndr
, "count", r
->count
);
7207 ndr_print_ptr(ndr
, "array", r
->array
);
7210 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7212 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7214 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7215 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7225 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7227 if (ndr_flags
& NDR_SCALARS
) {
7228 NDR_CHECK(ndr_push_align(ndr
, 5));
7229 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7230 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7231 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7232 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7233 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7234 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7235 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7236 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7237 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7238 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7239 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7240 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7241 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7242 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7243 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7245 if (ndr_flags
& NDR_BUFFERS
) {
7246 if (r
->netbios_name
) {
7247 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7248 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7249 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7250 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7253 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7254 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7255 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7256 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7259 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7260 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7261 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7262 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7265 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7266 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7267 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7268 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7270 if (r
->computer_dn
) {
7271 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7272 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7273 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7274 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7277 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7278 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7279 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7280 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7283 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7284 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7285 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7286 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7289 return NDR_ERR_SUCCESS
;
7292 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7294 uint32_t _ptr_netbios_name
;
7295 TALLOC_CTX
*_mem_save_netbios_name_0
;
7296 uint32_t _ptr_dns_name
;
7297 TALLOC_CTX
*_mem_save_dns_name_0
;
7298 uint32_t _ptr_site_name
;
7299 TALLOC_CTX
*_mem_save_site_name_0
;
7300 uint32_t _ptr_site_dn
;
7301 TALLOC_CTX
*_mem_save_site_dn_0
;
7302 uint32_t _ptr_computer_dn
;
7303 TALLOC_CTX
*_mem_save_computer_dn_0
;
7304 uint32_t _ptr_server_dn
;
7305 TALLOC_CTX
*_mem_save_server_dn_0
;
7306 uint32_t _ptr_ntds_dn
;
7307 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7308 if (ndr_flags
& NDR_SCALARS
) {
7309 NDR_CHECK(ndr_pull_align(ndr
, 5));
7310 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7311 if (_ptr_netbios_name
) {
7312 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7314 r
->netbios_name
= NULL
;
7316 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7317 if (_ptr_dns_name
) {
7318 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7322 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7323 if (_ptr_site_name
) {
7324 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7326 r
->site_name
= NULL
;
7328 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7330 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7334 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7335 if (_ptr_computer_dn
) {
7336 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7338 r
->computer_dn
= NULL
;
7340 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7341 if (_ptr_server_dn
) {
7342 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7344 r
->server_dn
= NULL
;
7346 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7348 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7352 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7353 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7354 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7355 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7356 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7357 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7358 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7359 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7361 if (ndr_flags
& NDR_BUFFERS
) {
7362 if (r
->netbios_name
) {
7363 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7364 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7365 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7366 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7367 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7368 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
));
7370 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7371 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7372 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7375 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7376 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7377 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7378 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7379 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7380 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
));
7382 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7383 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7384 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7387 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7388 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7389 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7390 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7391 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7392 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
));
7394 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7395 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7399 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7400 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7401 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7402 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7403 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7404 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
));
7406 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7407 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7408 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7410 if (r
->computer_dn
) {
7411 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7412 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7413 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7414 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7415 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7416 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
));
7418 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7419 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7420 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7423 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7424 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7425 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7426 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7427 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7428 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
));
7430 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7431 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7435 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7436 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7437 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7438 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7439 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7440 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
));
7442 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7443 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7444 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7447 return NDR_ERR_SUCCESS
;
7450 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7452 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7454 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7456 if (r
->netbios_name
) {
7457 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7460 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7463 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7466 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7469 ndr_print_string(ndr
, "site_name", r
->site_name
);
7472 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7475 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7478 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7480 if (r
->computer_dn
) {
7481 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7484 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7487 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7490 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7493 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7496 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7497 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7498 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7499 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7500 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7501 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7502 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7506 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7508 uint32_t cntr_array_1
;
7509 if (ndr_flags
& NDR_SCALARS
) {
7510 NDR_CHECK(ndr_push_align(ndr
, 5));
7511 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7512 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7513 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7515 if (ndr_flags
& NDR_BUFFERS
) {
7517 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7518 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7519 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7521 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7522 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7526 return NDR_ERR_SUCCESS
;
7529 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7531 uint32_t _ptr_array
;
7532 uint32_t cntr_array_1
;
7533 TALLOC_CTX
*_mem_save_array_0
;
7534 TALLOC_CTX
*_mem_save_array_1
;
7535 if (ndr_flags
& NDR_SCALARS
) {
7536 NDR_CHECK(ndr_pull_align(ndr
, 5));
7537 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7538 if (r
->count
> 10000) {
7539 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7541 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7543 NDR_PULL_ALLOC(ndr
, r
->array
);
7547 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7549 if (ndr_flags
& NDR_BUFFERS
) {
7551 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7552 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7553 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7554 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7555 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7556 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7557 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7558 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7560 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7561 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7564 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7567 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7570 return NDR_ERR_SUCCESS
;
7573 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7575 uint32_t cntr_array_1
;
7576 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7578 ndr_print_uint32(ndr
, "count", r
->count
);
7579 ndr_print_ptr(ndr
, "array", r
->array
);
7582 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7584 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7586 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7587 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7597 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7599 if (ndr_flags
& NDR_SCALARS
) {
7600 NDR_CHECK(ndr_push_align(ndr
, 5));
7601 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7602 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7603 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7604 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7605 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7606 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7607 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7608 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7609 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7610 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7611 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7612 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7613 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7614 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7615 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7616 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7618 if (ndr_flags
& NDR_BUFFERS
) {
7619 if (r
->netbios_name
) {
7620 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7621 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7622 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7623 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7626 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7627 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7628 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7629 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7632 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7633 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7634 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7635 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7638 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7639 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7640 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7641 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7643 if (r
->computer_dn
) {
7644 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7645 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7646 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7647 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7650 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7651 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7652 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7653 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7656 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7657 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7658 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7659 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7662 return NDR_ERR_SUCCESS
;
7665 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7667 uint32_t _ptr_netbios_name
;
7668 TALLOC_CTX
*_mem_save_netbios_name_0
;
7669 uint32_t _ptr_dns_name
;
7670 TALLOC_CTX
*_mem_save_dns_name_0
;
7671 uint32_t _ptr_site_name
;
7672 TALLOC_CTX
*_mem_save_site_name_0
;
7673 uint32_t _ptr_site_dn
;
7674 TALLOC_CTX
*_mem_save_site_dn_0
;
7675 uint32_t _ptr_computer_dn
;
7676 TALLOC_CTX
*_mem_save_computer_dn_0
;
7677 uint32_t _ptr_server_dn
;
7678 TALLOC_CTX
*_mem_save_server_dn_0
;
7679 uint32_t _ptr_ntds_dn
;
7680 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7681 if (ndr_flags
& NDR_SCALARS
) {
7682 NDR_CHECK(ndr_pull_align(ndr
, 5));
7683 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7684 if (_ptr_netbios_name
) {
7685 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7687 r
->netbios_name
= NULL
;
7689 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7690 if (_ptr_dns_name
) {
7691 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7695 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7696 if (_ptr_site_name
) {
7697 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7699 r
->site_name
= NULL
;
7701 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7703 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7707 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7708 if (_ptr_computer_dn
) {
7709 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7711 r
->computer_dn
= NULL
;
7713 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7714 if (_ptr_server_dn
) {
7715 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7717 r
->server_dn
= NULL
;
7719 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7721 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7725 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7727 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7728 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7729 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7730 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7731 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7732 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7733 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7735 if (ndr_flags
& NDR_BUFFERS
) {
7736 if (r
->netbios_name
) {
7737 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7738 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7739 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7740 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7741 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7742 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
));
7744 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7745 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7749 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7750 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7751 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7752 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7753 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7754 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
));
7756 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7757 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7758 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7761 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7762 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7763 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7764 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7765 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7766 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
));
7768 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7769 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7770 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7773 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7774 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7775 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7776 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7777 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7778 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
));
7780 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7781 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7784 if (r
->computer_dn
) {
7785 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7786 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7787 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7788 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7789 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7790 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
));
7792 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7793 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7794 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7797 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7798 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7799 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7800 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7801 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7802 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
));
7804 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7805 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7806 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7809 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7810 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7811 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7812 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7813 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7814 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
));
7816 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7817 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7818 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7821 return NDR_ERR_SUCCESS
;
7824 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7826 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7828 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7830 if (r
->netbios_name
) {
7831 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7834 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7837 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7840 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7843 ndr_print_string(ndr
, "site_name", r
->site_name
);
7846 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7849 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7852 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7854 if (r
->computer_dn
) {
7855 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7858 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7861 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7864 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7867 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7870 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7871 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7872 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7873 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
7874 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7875 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7876 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7877 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7881 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7883 uint32_t cntr_array_1
;
7884 if (ndr_flags
& NDR_SCALARS
) {
7885 NDR_CHECK(ndr_push_align(ndr
, 5));
7886 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7887 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7888 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7890 if (ndr_flags
& NDR_BUFFERS
) {
7892 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7893 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7894 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7896 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7897 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7901 return NDR_ERR_SUCCESS
;
7904 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
7906 uint32_t _ptr_array
;
7907 uint32_t cntr_array_1
;
7908 TALLOC_CTX
*_mem_save_array_0
;
7909 TALLOC_CTX
*_mem_save_array_1
;
7910 if (ndr_flags
& NDR_SCALARS
) {
7911 NDR_CHECK(ndr_pull_align(ndr
, 5));
7912 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7913 if (r
->count
> 10000) {
7914 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7916 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7918 NDR_PULL_ALLOC(ndr
, r
->array
);
7922 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7924 if (ndr_flags
& NDR_BUFFERS
) {
7926 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7927 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7928 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7929 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7930 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7931 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7932 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7933 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7935 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7936 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7938 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7939 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7942 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7945 return NDR_ERR_SUCCESS
;
7948 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7950 uint32_t cntr_array_1
;
7951 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
7953 ndr_print_uint32(ndr
, "count", r
->count
);
7954 ndr_print_ptr(ndr
, "array", r
->array
);
7957 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7959 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7961 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7962 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
7972 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
7974 if (ndr_flags
& NDR_SCALARS
) {
7975 NDR_CHECK(ndr_push_align(ndr
, 5));
7977 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7978 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7979 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
7980 ndr
->flags
= _flags_save_ipv4address
;
7982 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7983 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
7984 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
7985 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
7986 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
7987 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
7988 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7990 if (ndr_flags
& NDR_BUFFERS
) {
7991 if (r
->client_account
) {
7992 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7993 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7994 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7995 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7998 return NDR_ERR_SUCCESS
;
8001 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
8003 uint32_t _ptr_client_account
;
8004 TALLOC_CTX
*_mem_save_client_account_0
;
8005 if (ndr_flags
& NDR_SCALARS
) {
8006 NDR_CHECK(ndr_pull_align(ndr
, 5));
8008 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8009 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8010 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
8011 ndr
->flags
= _flags_save_ipv4address
;
8013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8014 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
8015 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
8016 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
8017 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
8018 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
8019 if (_ptr_client_account
) {
8020 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8022 r
->client_account
= NULL
;
8024 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8026 if (ndr_flags
& NDR_BUFFERS
) {
8027 if (r
->client_account
) {
8028 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8029 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8030 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8031 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8032 if (ndr_get_array_length(ndr
, &r
->client_account
) > ndr_get_array_size(ndr
, &r
->client_account
)) {
8033 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
));
8035 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t)));
8036 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t), CH_UTF16
));
8037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8040 return NDR_ERR_SUCCESS
;
8043 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8045 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8047 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8048 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8049 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8050 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8051 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8052 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8053 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8055 if (r
->client_account
) {
8056 ndr_print_string(ndr
, "client_account", r
->client_account
);
8062 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8064 uint32_t cntr_array_1
;
8065 if (ndr_flags
& NDR_SCALARS
) {
8066 NDR_CHECK(ndr_push_align(ndr
, 5));
8067 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8068 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8069 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8071 if (ndr_flags
& NDR_BUFFERS
) {
8073 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8074 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8075 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8077 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8078 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8082 return NDR_ERR_SUCCESS
;
8085 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8087 uint32_t _ptr_array
;
8088 uint32_t cntr_array_1
;
8089 TALLOC_CTX
*_mem_save_array_0
;
8090 TALLOC_CTX
*_mem_save_array_1
;
8091 if (ndr_flags
& NDR_SCALARS
) {
8092 NDR_CHECK(ndr_pull_align(ndr
, 5));
8093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8094 if (r
->count
> 10000) {
8095 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8097 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8099 NDR_PULL_ALLOC(ndr
, r
->array
);
8103 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8105 if (ndr_flags
& NDR_BUFFERS
) {
8107 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8108 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8109 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8110 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8111 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8112 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8113 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8114 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8116 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8117 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8120 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8123 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8126 return NDR_ERR_SUCCESS
;
8129 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8131 uint32_t cntr_array_1
;
8132 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8134 ndr_print_uint32(ndr
, "count", r
->count
);
8135 ndr_print_ptr(ndr
, "array", r
->array
);
8138 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8140 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8142 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8143 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8153 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8155 if (ndr_flags
& NDR_SCALARS
) {
8156 int level
= ndr_push_get_switch_value(ndr
, r
);
8157 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8158 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8160 case DRSUAPI_DC_INFO_CTR_1
: {
8161 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8164 case DRSUAPI_DC_INFO_CTR_2
: {
8165 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8168 case DRSUAPI_DC_INFO_CTR_3
: {
8169 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8172 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8173 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8177 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8180 if (ndr_flags
& NDR_BUFFERS
) {
8181 int level
= ndr_push_get_switch_value(ndr
, r
);
8183 case DRSUAPI_DC_INFO_CTR_1
:
8184 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8187 case DRSUAPI_DC_INFO_CTR_2
:
8188 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8191 case DRSUAPI_DC_INFO_CTR_3
:
8192 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8195 case DRSUAPI_DC_CONNECTION_CTR_01
:
8196 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8200 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8203 return NDR_ERR_SUCCESS
;
8206 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8210 level
= ndr_pull_get_switch_value(ndr
, r
);
8211 if (ndr_flags
& NDR_SCALARS
) {
8212 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8213 if (_level
!= level
) {
8214 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8216 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8218 case DRSUAPI_DC_INFO_CTR_1
: {
8219 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8222 case DRSUAPI_DC_INFO_CTR_2
: {
8223 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8226 case DRSUAPI_DC_INFO_CTR_3
: {
8227 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8230 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8231 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8235 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8238 if (ndr_flags
& NDR_BUFFERS
) {
8240 case DRSUAPI_DC_INFO_CTR_1
:
8241 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8244 case DRSUAPI_DC_INFO_CTR_2
:
8245 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8248 case DRSUAPI_DC_INFO_CTR_3
:
8249 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8252 case DRSUAPI_DC_CONNECTION_CTR_01
:
8253 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8257 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8260 return NDR_ERR_SUCCESS
;
8263 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8266 level
= ndr_print_get_switch_value(ndr
, r
);
8267 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8269 case DRSUAPI_DC_INFO_CTR_1
:
8270 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8273 case DRSUAPI_DC_INFO_CTR_2
:
8274 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8277 case DRSUAPI_DC_INFO_CTR_3
:
8278 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8281 case DRSUAPI_DC_CONNECTION_CTR_01
:
8282 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8286 ndr_print_bad_level(ndr
, name
, level
);
8290 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8292 if (ndr_flags
& NDR_SCALARS
) {
8293 NDR_CHECK(ndr_push_align(ndr
, 5));
8294 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8295 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8296 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8298 if (ndr_flags
& NDR_BUFFERS
) {
8299 if (r
->next_object
) {
8300 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8302 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8304 return NDR_ERR_SUCCESS
;
8307 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8309 uint32_t _ptr_next_object
;
8310 TALLOC_CTX
*_mem_save_next_object_0
;
8311 if (ndr_flags
& NDR_SCALARS
) {
8312 NDR_CHECK(ndr_pull_align(ndr
, 5));
8313 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8314 if (_ptr_next_object
) {
8315 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8317 r
->next_object
= NULL
;
8319 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8320 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8322 if (ndr_flags
& NDR_BUFFERS
) {
8323 if (r
->next_object
) {
8324 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8325 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8326 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8327 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8329 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8331 return NDR_ERR_SUCCESS
;
8334 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8336 if (ndr_flags
& NDR_SCALARS
) {
8337 NDR_CHECK(ndr_push_align(ndr
, 5));
8338 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8339 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8341 if (ndr_flags
& NDR_BUFFERS
) {
8342 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8344 return NDR_ERR_SUCCESS
;
8347 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8349 if (ndr_flags
& NDR_SCALARS
) {
8350 NDR_CHECK(ndr_pull_align(ndr
, 5));
8351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8352 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8354 if (ndr_flags
& NDR_BUFFERS
) {
8355 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8357 return NDR_ERR_SUCCESS
;
8360 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8362 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8364 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8368 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8370 if (ndr_flags
& NDR_SCALARS
) {
8371 int level
= ndr_push_get_switch_value(ndr
, r
);
8372 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8373 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8376 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8380 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8383 if (ndr_flags
& NDR_BUFFERS
) {
8384 int level
= ndr_push_get_switch_value(ndr
, r
);
8387 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8391 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8394 return NDR_ERR_SUCCESS
;
8397 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8401 level
= ndr_pull_get_switch_value(ndr
, r
);
8402 if (ndr_flags
& NDR_SCALARS
) {
8403 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8404 if (_level
!= level
) {
8405 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8407 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8410 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8414 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8417 if (ndr_flags
& NDR_BUFFERS
) {
8420 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8424 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8427 return NDR_ERR_SUCCESS
;
8430 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8433 level
= ndr_print_get_switch_value(ndr
, r
);
8434 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8437 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8441 ndr_print_bad_level(ndr
, name
, level
);
8445 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8447 if (ndr_flags
& NDR_SCALARS
) {
8448 NDR_CHECK(ndr_push_align(ndr
, 4));
8449 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8450 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8451 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8452 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
8453 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8455 if (ndr_flags
& NDR_BUFFERS
) {
8457 return NDR_ERR_SUCCESS
;
8460 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8462 if (ndr_flags
& NDR_SCALARS
) {
8463 NDR_CHECK(ndr_pull_align(ndr
, 4));
8464 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8465 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8466 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8467 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
8468 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8470 if (ndr_flags
& NDR_BUFFERS
) {
8472 return NDR_ERR_SUCCESS
;
8475 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8477 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8479 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8480 ndr_print_WERROR(ndr
, "status", r
->status
);
8481 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8482 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
8486 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8488 if (ndr_flags
& NDR_SCALARS
) {
8489 NDR_CHECK(ndr_push_align(ndr
, 5));
8490 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
8491 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
8492 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8494 if (ndr_flags
& NDR_BUFFERS
) {
8496 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
8497 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
8500 return NDR_ERR_SUCCESS
;
8503 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8506 TALLOC_CTX
*_mem_save_data_0
;
8507 if (ndr_flags
& NDR_SCALARS
) {
8508 NDR_CHECK(ndr_pull_align(ndr
, 5));
8509 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
8510 if (r
->size
> 10485760) {
8511 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8513 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
8515 NDR_PULL_ALLOC(ndr
, r
->data
);
8519 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8521 if (ndr_flags
& NDR_BUFFERS
) {
8523 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8524 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
8525 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
8526 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
8527 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
8528 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
8531 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
8534 return NDR_ERR_SUCCESS
;
8537 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8539 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
8541 ndr_print_uint32(ndr
, "size", r
->size
);
8542 ndr_print_ptr(ndr
, "data", r
->data
);
8545 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
8551 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8553 if (ndr_flags
& NDR_SCALARS
) {
8554 NDR_CHECK(ndr_push_align(ndr
, 5));
8555 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8556 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8557 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8558 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8559 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8561 if (ndr_flags
& NDR_BUFFERS
) {
8562 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8564 return NDR_ERR_SUCCESS
;
8567 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
8569 if (ndr_flags
& NDR_SCALARS
) {
8570 NDR_CHECK(ndr_pull_align(ndr
, 5));
8571 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8572 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8573 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8574 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8575 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8577 if (ndr_flags
& NDR_BUFFERS
) {
8578 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8580 return NDR_ERR_SUCCESS
;
8583 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8585 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
8587 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8588 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8589 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8590 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
8594 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8596 if (ndr_flags
& NDR_SCALARS
) {
8597 NDR_CHECK(ndr_push_align(ndr
, 5));
8598 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8599 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8600 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8602 if (ndr_flags
& NDR_BUFFERS
) {
8604 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8606 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8608 return NDR_ERR_SUCCESS
;
8611 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
8614 TALLOC_CTX
*_mem_save_next_0
;
8615 if (ndr_flags
& NDR_SCALARS
) {
8616 NDR_CHECK(ndr_pull_align(ndr
, 5));
8617 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8619 NDR_PULL_ALLOC(ndr
, r
->next
);
8623 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8624 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8626 if (ndr_flags
& NDR_BUFFERS
) {
8628 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8629 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8630 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8631 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8633 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8635 return NDR_ERR_SUCCESS
;
8638 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8640 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
8642 ndr_print_ptr(ndr
, "next", r
->next
);
8645 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
8648 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
8652 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8654 if (ndr_flags
& NDR_SCALARS
) {
8655 NDR_CHECK(ndr_push_align(ndr
, 5));
8656 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8657 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8658 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8659 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8661 if (ndr_flags
& NDR_BUFFERS
) {
8663 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8665 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8667 return NDR_ERR_SUCCESS
;
8670 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
8673 TALLOC_CTX
*_mem_save_id_0
;
8674 if (ndr_flags
& NDR_SCALARS
) {
8675 NDR_CHECK(ndr_pull_align(ndr
, 5));
8676 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8678 NDR_PULL_ALLOC(ndr
, r
->id
);
8682 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8683 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8684 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8686 if (ndr_flags
& NDR_BUFFERS
) {
8688 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8689 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8690 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8691 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8693 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8695 return NDR_ERR_SUCCESS
;
8698 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8700 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
8702 ndr_print_ptr(ndr
, "id", r
->id
);
8705 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8708 ndr_print_WERROR(ndr
, "status", r
->status
);
8709 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
8713 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8715 if (ndr_flags
& NDR_SCALARS
) {
8716 int level
= ndr_push_get_switch_value(ndr
, r
);
8717 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8718 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8721 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8729 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8733 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8737 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8741 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8744 if (ndr_flags
& NDR_BUFFERS
) {
8745 int level
= ndr_push_get_switch_value(ndr
, r
);
8748 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8764 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8767 return NDR_ERR_SUCCESS
;
8770 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
8774 level
= ndr_pull_get_switch_value(ndr
, r
);
8775 if (ndr_flags
& NDR_SCALARS
) {
8776 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8777 if (_level
!= level
) {
8778 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8780 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8783 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8787 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8791 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8795 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8799 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8803 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8806 if (ndr_flags
& NDR_BUFFERS
) {
8809 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8825 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8828 return NDR_ERR_SUCCESS
;
8831 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8834 level
= ndr_print_get_switch_value(ndr
, r
);
8835 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
8838 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
8842 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8846 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8850 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8854 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8858 ndr_print_bad_level(ndr
, name
, level
);
8862 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
8864 if (ndr_flags
& NDR_SCALARS
) {
8865 NDR_CHECK(ndr_push_align(ndr
, 5));
8866 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8867 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8868 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
8869 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8871 if (ndr_flags
& NDR_BUFFERS
) {
8873 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
8874 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8877 return NDR_ERR_SUCCESS
;
8880 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
8883 TALLOC_CTX
*_mem_save_info_0
;
8884 if (ndr_flags
& NDR_SCALARS
) {
8885 NDR_CHECK(ndr_pull_align(ndr
, 5));
8886 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8887 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
8888 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8890 NDR_PULL_ALLOC(ndr
, r
->info
);
8894 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8896 if (ndr_flags
& NDR_BUFFERS
) {
8898 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8899 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
8900 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
8901 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8902 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
8905 return NDR_ERR_SUCCESS
;
8908 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
8910 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
8912 ndr_print_WERROR(ndr
, "status", r
->status
);
8913 ndr_print_uint32(ndr
, "level", r
->level
);
8914 ndr_print_ptr(ndr
, "info", r
->info
);
8917 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
8918 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
8924 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
8926 if (ndr_flags
& NDR_SCALARS
) {
8927 int level
= ndr_push_get_switch_value(ndr
, r
);
8928 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8929 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8932 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8936 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8939 if (ndr_flags
& NDR_BUFFERS
) {
8940 int level
= ndr_push_get_switch_value(ndr
, r
);
8943 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8947 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8950 return NDR_ERR_SUCCESS
;
8953 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
8957 level
= ndr_pull_get_switch_value(ndr
, r
);
8958 if (ndr_flags
& NDR_SCALARS
) {
8959 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8960 if (_level
!= level
) {
8961 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8963 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8966 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8970 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8973 if (ndr_flags
& NDR_BUFFERS
) {
8976 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8980 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8983 return NDR_ERR_SUCCESS
;
8986 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
8989 level
= ndr_print_get_switch_value(ndr
, r
);
8990 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
8993 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
8997 ndr_print_bad_level(ndr
, name
, level
);
9001 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9003 if (ndr_flags
& NDR_SCALARS
) {
9004 NDR_CHECK(ndr_push_align(ndr
, 4));
9005 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9006 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9007 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9009 if (ndr_flags
& NDR_BUFFERS
) {
9010 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9012 return NDR_ERR_SUCCESS
;
9015 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9017 if (ndr_flags
& NDR_SCALARS
) {
9018 NDR_CHECK(ndr_pull_align(ndr
, 4));
9019 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9020 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9021 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9023 if (ndr_flags
& NDR_BUFFERS
) {
9024 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9026 return NDR_ERR_SUCCESS
;
9029 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9031 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9033 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9034 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9038 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9040 uint32_t cntr_objects_1
;
9041 if (ndr_flags
& NDR_SCALARS
) {
9042 NDR_CHECK(ndr_push_align(ndr
, 5));
9043 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9044 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9045 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9046 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9047 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9048 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9050 if (ndr_flags
& NDR_BUFFERS
) {
9052 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9055 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9056 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9057 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9059 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9060 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9064 return NDR_ERR_SUCCESS
;
9067 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9070 TALLOC_CTX
*_mem_save_id_0
;
9071 uint32_t _ptr_objects
;
9072 uint32_t cntr_objects_1
;
9073 TALLOC_CTX
*_mem_save_objects_0
;
9074 TALLOC_CTX
*_mem_save_objects_1
;
9075 if (ndr_flags
& NDR_SCALARS
) {
9076 NDR_CHECK(ndr_pull_align(ndr
, 5));
9077 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9079 NDR_PULL_ALLOC(ndr
, r
->id
);
9083 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9084 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9085 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9086 if (r
->count
> 10000) {
9087 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9089 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9091 NDR_PULL_ALLOC(ndr
, r
->objects
);
9095 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9097 if (ndr_flags
& NDR_BUFFERS
) {
9099 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9100 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9102 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9105 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9106 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9107 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9108 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9109 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9110 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9111 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9112 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9114 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9115 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9121 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9124 return NDR_ERR_SUCCESS
;
9127 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9129 uint32_t cntr_objects_1
;
9130 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9132 ndr_print_ptr(ndr
, "id", r
->id
);
9135 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9138 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9139 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
9140 ndr_print_uint32(ndr
, "count", r
->count
);
9141 ndr_print_ptr(ndr
, "objects", r
->objects
);
9144 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9146 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9148 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9149 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9159 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9161 uint32_t cntr_objects_1
;
9162 if (ndr_flags
& NDR_SCALARS
) {
9163 NDR_CHECK(ndr_push_align(ndr
, 5));
9164 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9165 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9166 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
9167 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9168 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9169 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9171 if (ndr_flags
& NDR_BUFFERS
) {
9173 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9176 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
9177 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9180 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9181 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9182 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9184 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9185 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9189 return NDR_ERR_SUCCESS
;
9192 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9195 TALLOC_CTX
*_mem_save_id_0
;
9196 uint32_t _ptr_error
;
9197 TALLOC_CTX
*_mem_save_error_0
;
9198 uint32_t _ptr_objects
;
9199 uint32_t cntr_objects_1
;
9200 TALLOC_CTX
*_mem_save_objects_0
;
9201 TALLOC_CTX
*_mem_save_objects_1
;
9202 if (ndr_flags
& NDR_SCALARS
) {
9203 NDR_CHECK(ndr_pull_align(ndr
, 5));
9204 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9206 NDR_PULL_ALLOC(ndr
, r
->id
);
9210 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9211 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
9213 NDR_PULL_ALLOC(ndr
, r
->error
);
9217 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9218 if (r
->count
> 10000) {
9219 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9221 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9223 NDR_PULL_ALLOC(ndr
, r
->objects
);
9227 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9229 if (ndr_flags
& NDR_BUFFERS
) {
9231 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9232 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9234 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9237 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9238 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
9239 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
9240 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9241 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
9244 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9245 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9246 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9247 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9248 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9249 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9250 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9251 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9253 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9254 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9260 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9263 return NDR_ERR_SUCCESS
;
9266 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9268 uint32_t cntr_objects_1
;
9269 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9271 ndr_print_ptr(ndr
, "id", r
->id
);
9274 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9277 ndr_print_uint32(ndr
, "level", r
->level
);
9278 ndr_print_ptr(ndr
, "error", r
->error
);
9281 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
9282 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
9285 ndr_print_uint32(ndr
, "count", r
->count
);
9286 ndr_print_ptr(ndr
, "objects", r
->objects
);
9289 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9291 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9293 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9294 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9304 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9306 if (ndr_flags
& NDR_SCALARS
) {
9307 int level
= ndr_push_get_switch_value(ndr
, r
);
9308 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
9309 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9312 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9316 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9320 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9323 if (ndr_flags
& NDR_BUFFERS
) {
9324 int level
= ndr_push_get_switch_value(ndr
, r
);
9327 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9331 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9335 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9338 return NDR_ERR_SUCCESS
;
9341 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9345 level
= ndr_pull_get_switch_value(ndr
, r
);
9346 if (ndr_flags
& NDR_SCALARS
) {
9347 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
9348 if (_level
!= level
) {
9349 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9351 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9354 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9358 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9362 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9365 if (ndr_flags
& NDR_BUFFERS
) {
9368 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9372 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9376 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9379 return NDR_ERR_SUCCESS
;
9382 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
9385 level
= ndr_print_get_switch_value(ndr
, r
);
9386 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
9389 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
9393 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
9397 ndr_print_bad_level(ndr
, name
, level
);
9401 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
9403 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
9404 return NDR_ERR_SUCCESS
;
9407 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
9410 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
9412 return NDR_ERR_SUCCESS
;
9415 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
9417 ndr_print_uint32(ndr
, name
, r
);
9419 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
9420 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
9424 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
9426 if (ndr_flags
& NDR_SCALARS
) {
9427 NDR_CHECK(ndr_push_align(ndr
, 4));
9428 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
9429 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
9430 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9432 if (ndr_flags
& NDR_BUFFERS
) {
9434 return NDR_ERR_SUCCESS
;
9437 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
9439 if (ndr_flags
& NDR_SCALARS
) {
9440 NDR_CHECK(ndr_pull_align(ndr
, 4));
9441 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
9442 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
9443 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9445 if (ndr_flags
& NDR_BUFFERS
) {
9447 return NDR_ERR_SUCCESS
;
9450 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
9452 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
9454 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
9455 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
9459 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
9461 if (ndr_flags
& NDR_SCALARS
) {
9462 int level
= ndr_push_get_switch_value(ndr
, r
);
9463 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9464 NDR_CHECK(ndr_push_union_align(ndr
, 4));
9467 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9471 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9474 if (ndr_flags
& NDR_BUFFERS
) {
9475 int level
= ndr_push_get_switch_value(ndr
, r
);
9481 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9484 return NDR_ERR_SUCCESS
;
9487 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
9491 level
= ndr_pull_get_switch_value(ndr
, r
);
9492 if (ndr_flags
& NDR_SCALARS
) {
9493 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9494 if (_level
!= level
) {
9495 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9497 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
9500 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9504 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9507 if (ndr_flags
& NDR_BUFFERS
) {
9513 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9516 return NDR_ERR_SUCCESS
;
9519 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
9522 level
= ndr_print_get_switch_value(ndr
, r
);
9523 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
9526 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
9530 ndr_print_bad_level(ndr
, name
, level
);
9534 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
9536 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9537 return NDR_ERR_SUCCESS
;
9540 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
9543 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9545 return NDR_ERR_SUCCESS
;
9548 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
9550 const char *val
= NULL
;
9553 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9554 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9556 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9559 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
9561 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9562 return NDR_ERR_SUCCESS
;
9565 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
9568 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9570 return NDR_ERR_SUCCESS
;
9573 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
9575 const char *val
= NULL
;
9578 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9579 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9580 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9581 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9582 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9583 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9584 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9585 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9586 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9587 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9588 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9589 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9590 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: val
= "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9591 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9592 case DRSUAPI_DS_REPLICA_INFO_06
: val
= "DRSUAPI_DS_REPLICA_INFO_06"; break;
9594 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9597 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9599 if (ndr_flags
& NDR_SCALARS
) {
9600 NDR_CHECK(ndr_push_align(ndr
, 5));
9601 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9602 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9603 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9604 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9606 if (ndr_flags
& NDR_BUFFERS
) {
9608 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9609 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9610 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9611 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9614 return NDR_ERR_SUCCESS
;
9617 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9619 uint32_t _ptr_object_dn
;
9620 TALLOC_CTX
*_mem_save_object_dn_0
;
9621 if (ndr_flags
& NDR_SCALARS
) {
9622 NDR_CHECK(ndr_pull_align(ndr
, 5));
9623 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9624 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9625 if (_ptr_object_dn
) {
9626 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9628 r
->object_dn
= NULL
;
9630 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9631 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9633 if (ndr_flags
& NDR_BUFFERS
) {
9635 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9636 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9637 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9638 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9639 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9640 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
));
9642 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9643 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9644 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9647 return NDR_ERR_SUCCESS
;
9650 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9652 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
9654 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9655 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9658 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9661 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
9665 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9667 if (ndr_flags
& NDR_SCALARS
) {
9668 NDR_CHECK(ndr_push_align(ndr
, 5));
9669 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9670 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9671 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9672 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
9673 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string1
));
9674 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string2
));
9675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
9676 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9678 if (ndr_flags
& NDR_BUFFERS
) {
9680 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9681 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9682 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9683 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9686 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9687 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9688 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string1
, CH_UTF16
)));
9689 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string1
, ndr_charset_length(r
->string1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9692 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9693 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9694 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->string2
, CH_UTF16
)));
9695 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string2
, ndr_charset_length(r
->string2
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9698 return NDR_ERR_SUCCESS
;
9701 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9703 uint32_t _ptr_object_dn
;
9704 TALLOC_CTX
*_mem_save_object_dn_0
;
9705 uint32_t _ptr_string1
;
9706 TALLOC_CTX
*_mem_save_string1_0
;
9707 uint32_t _ptr_string2
;
9708 TALLOC_CTX
*_mem_save_string2_0
;
9709 if (ndr_flags
& NDR_SCALARS
) {
9710 NDR_CHECK(ndr_pull_align(ndr
, 5));
9711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9712 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9713 if (_ptr_object_dn
) {
9714 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9716 r
->object_dn
= NULL
;
9718 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
9719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
9720 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string1
));
9722 NDR_PULL_ALLOC(ndr
, r
->string1
);
9726 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string2
));
9728 NDR_PULL_ALLOC(ndr
, r
->string2
);
9732 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
9733 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9735 if (ndr_flags
& NDR_BUFFERS
) {
9737 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9738 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9739 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9740 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9741 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9742 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
));
9744 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9745 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9749 _mem_save_string1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9750 NDR_PULL_SET_MEM_CTX(ndr
, r
->string1
, 0);
9751 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string1
));
9752 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string1
));
9753 if (ndr_get_array_length(ndr
, &r
->string1
) > ndr_get_array_size(ndr
, &r
->string1
)) {
9754 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
));
9756 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->string1
), sizeof(uint16_t)));
9757 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string1
, ndr_get_array_length(ndr
, &r
->string1
), sizeof(uint16_t), CH_UTF16
));
9758 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string1_0
, 0);
9761 _mem_save_string2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9762 NDR_PULL_SET_MEM_CTX(ndr
, r
->string2
, 0);
9763 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string2
));
9764 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string2
));
9765 if (ndr_get_array_length(ndr
, &r
->string2
) > ndr_get_array_size(ndr
, &r
->string2
)) {
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
->string2
), ndr_get_array_length(ndr
, &r
->string2
));
9768 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->string2
), sizeof(uint16_t)));
9769 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string2
, ndr_get_array_length(ndr
, &r
->string2
), sizeof(uint16_t), CH_UTF16
));
9770 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string2_0
, 0);
9773 return NDR_ERR_SUCCESS
;
9776 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9778 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
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
);
9788 ndr_print_uint32(ndr
, "flags", r
->flags
);
9789 ndr_print_ptr(ndr
, "string1", r
->string1
);
9792 ndr_print_string(ndr
, "string1", r
->string1
);
9795 ndr_print_ptr(ndr
, "string2", r
->string2
);
9798 ndr_print_string(ndr
, "string2", r
->string2
);
9801 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
9805 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9807 if (ndr_flags
& NDR_SCALARS
) {
9808 int level
= ndr_push_get_switch_value(ndr
, r
);
9809 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
9810 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9812 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9813 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9816 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9817 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9821 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9824 if (ndr_flags
& NDR_BUFFERS
) {
9825 int level
= ndr_push_get_switch_value(ndr
, r
);
9827 case DRSUAPI_DS_REPLICA_GET_INFO
:
9828 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9831 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9832 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9836 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9839 return NDR_ERR_SUCCESS
;
9842 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
9846 level
= ndr_pull_get_switch_value(ndr
, r
);
9847 if (ndr_flags
& NDR_SCALARS
) {
9848 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9849 if (_level
!= level
) {
9850 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9852 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9854 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9855 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9858 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9859 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9863 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9866 if (ndr_flags
& NDR_BUFFERS
) {
9868 case DRSUAPI_DS_REPLICA_GET_INFO
:
9869 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9872 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9873 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9877 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9880 return NDR_ERR_SUCCESS
;
9883 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9886 level
= ndr_print_get_switch_value(ndr
, r
);
9887 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
9889 case DRSUAPI_DS_REPLICA_GET_INFO
:
9890 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
9893 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9894 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
9898 ndr_print_bad_level(ndr
, name
, level
);
9902 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
9904 if (ndr_flags
& NDR_SCALARS
) {
9905 NDR_CHECK(ndr_push_align(ndr
, 8));
9906 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
9907 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
9908 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
9909 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
9910 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
9911 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9912 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9913 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9914 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9915 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9916 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
9917 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
9918 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
9919 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
9920 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
9921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
9922 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
9924 if (ndr_flags
& NDR_BUFFERS
) {
9925 if (r
->naming_context_dn
) {
9926 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
9927 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9928 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
9929 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
));
9931 if (r
->source_dsa_obj_dn
) {
9932 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
9933 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9934 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
9935 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
));
9937 if (r
->source_dsa_address
) {
9938 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
9939 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9940 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
9941 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
));
9943 if (r
->transport_obj_dn
) {
9944 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9945 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9946 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9947 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
));
9950 return NDR_ERR_SUCCESS
;
9953 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
9955 uint32_t _ptr_naming_context_dn
;
9956 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
9957 uint32_t _ptr_source_dsa_obj_dn
;
9958 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
9959 uint32_t _ptr_source_dsa_address
;
9960 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
9961 uint32_t _ptr_transport_obj_dn
;
9962 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
9963 if (ndr_flags
& NDR_SCALARS
) {
9964 NDR_CHECK(ndr_pull_align(ndr
, 8));
9965 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
9966 if (_ptr_naming_context_dn
) {
9967 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
9969 r
->naming_context_dn
= NULL
;
9971 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
9972 if (_ptr_source_dsa_obj_dn
) {
9973 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
9975 r
->source_dsa_obj_dn
= NULL
;
9977 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
9978 if (_ptr_source_dsa_address
) {
9979 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
9981 r
->source_dsa_address
= NULL
;
9983 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
9984 if (_ptr_transport_obj_dn
) {
9985 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
9987 r
->transport_obj_dn
= NULL
;
9989 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
9990 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9991 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9992 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9993 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9994 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9995 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
9996 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
9997 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
9998 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
9999 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
10000 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
10001 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10003 if (ndr_flags
& NDR_BUFFERS
) {
10004 if (r
->naming_context_dn
) {
10005 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10006 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
10007 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
10008 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
10009 if (ndr_get_array_length(ndr
, &r
->naming_context_dn
) > ndr_get_array_size(ndr
, &r
->naming_context_dn
)) {
10010 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
));
10012 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t)));
10013 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
));
10014 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
10016 if (r
->source_dsa_obj_dn
) {
10017 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10018 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10019 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10020 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10021 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
10022 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
));
10024 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
10025 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
));
10026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10028 if (r
->source_dsa_address
) {
10029 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10030 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10031 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10032 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10033 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
10034 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
));
10036 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
10037 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
));
10038 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10040 if (r
->transport_obj_dn
) {
10041 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10042 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10043 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10044 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10045 if (ndr_get_array_length(ndr
, &r
->transport_obj_dn
) > ndr_get_array_size(ndr
, &r
->transport_obj_dn
)) {
10046 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
));
10048 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t)));
10049 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
));
10050 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10053 return NDR_ERR_SUCCESS
;
10056 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10058 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10060 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10062 if (r
->naming_context_dn
) {
10063 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10066 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10068 if (r
->source_dsa_obj_dn
) {
10069 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10072 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10074 if (r
->source_dsa_address
) {
10075 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10078 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10080 if (r
->transport_obj_dn
) {
10081 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10084 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
10085 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10086 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10087 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10088 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10089 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10090 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10091 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10092 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10093 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10094 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10095 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10099 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10101 uint32_t cntr_array_0
;
10102 if (ndr_flags
& NDR_SCALARS
) {
10103 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10104 NDR_CHECK(ndr_push_align(ndr
, 8));
10105 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10106 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10107 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10108 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10110 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10112 if (ndr_flags
& NDR_BUFFERS
) {
10113 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10114 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10117 return NDR_ERR_SUCCESS
;
10120 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10122 uint32_t cntr_array_0
;
10123 TALLOC_CTX
*_mem_save_array_0
;
10124 if (ndr_flags
& NDR_SCALARS
) {
10125 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10126 NDR_CHECK(ndr_pull_align(ndr
, 8));
10127 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10128 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10129 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10130 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10131 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10132 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10133 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10137 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10139 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10141 if (ndr_flags
& NDR_BUFFERS
) {
10142 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10143 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10144 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10145 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10147 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10149 return NDR_ERR_SUCCESS
;
10152 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10154 uint32_t cntr_array_0
;
10155 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10157 ndr_print_uint32(ndr
, "count", r
->count
);
10158 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10159 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10161 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10163 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10164 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10172 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10174 uint32_t cntr_array_0
;
10175 if (ndr_flags
& NDR_SCALARS
) {
10176 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10177 NDR_CHECK(ndr_push_align(ndr
, 8));
10178 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10179 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10180 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10181 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10183 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10185 if (ndr_flags
& NDR_BUFFERS
) {
10187 return NDR_ERR_SUCCESS
;
10190 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10192 uint32_t cntr_array_0
;
10193 TALLOC_CTX
*_mem_save_array_0
;
10194 if (ndr_flags
& NDR_SCALARS
) {
10195 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10196 NDR_CHECK(ndr_pull_align(ndr
, 8));
10197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10198 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10199 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10200 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10201 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10202 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10203 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10205 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10207 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10209 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10211 if (ndr_flags
& NDR_BUFFERS
) {
10213 return NDR_ERR_SUCCESS
;
10216 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10218 uint32_t cntr_array_0
;
10219 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10221 ndr_print_uint32(ndr
, "count", r
->count
);
10222 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10223 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10225 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10227 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10228 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10236 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10238 if (ndr_flags
& NDR_SCALARS
) {
10239 NDR_CHECK(ndr_push_align(ndr
, 8));
10240 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10241 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10242 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10243 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10244 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10245 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10246 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10248 if (ndr_flags
& NDR_BUFFERS
) {
10249 if (r
->attribute_name
) {
10250 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10251 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10252 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10253 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10256 return NDR_ERR_SUCCESS
;
10259 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10261 uint32_t _ptr_attribute_name
;
10262 TALLOC_CTX
*_mem_save_attribute_name_0
;
10263 if (ndr_flags
& NDR_SCALARS
) {
10264 NDR_CHECK(ndr_pull_align(ndr
, 8));
10265 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10266 if (_ptr_attribute_name
) {
10267 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10269 r
->attribute_name
= NULL
;
10271 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10272 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10273 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10274 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10275 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10276 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10278 if (ndr_flags
& NDR_BUFFERS
) {
10279 if (r
->attribute_name
) {
10280 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10281 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10282 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10283 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10284 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10285 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
));
10287 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10288 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10289 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10292 return NDR_ERR_SUCCESS
;
10295 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10297 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10299 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10301 if (r
->attribute_name
) {
10302 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10305 ndr_print_uint32(ndr
, "version", r
->version
);
10306 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10307 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10308 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10309 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10313 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10315 uint32_t cntr_array_0
;
10316 if (ndr_flags
& NDR_SCALARS
) {
10317 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10318 NDR_CHECK(ndr_push_align(ndr
, 8));
10319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10320 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10321 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10322 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10324 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10326 if (ndr_flags
& NDR_BUFFERS
) {
10327 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10328 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10331 return NDR_ERR_SUCCESS
;
10334 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10336 uint32_t cntr_array_0
;
10337 TALLOC_CTX
*_mem_save_array_0
;
10338 if (ndr_flags
& NDR_SCALARS
) {
10339 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10340 NDR_CHECK(ndr_pull_align(ndr
, 8));
10341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10342 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10343 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10344 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10345 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10346 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10347 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10349 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10351 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10353 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10355 if (ndr_flags
& NDR_BUFFERS
) {
10356 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10357 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10358 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10361 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10363 return NDR_ERR_SUCCESS
;
10366 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10368 uint32_t cntr_array_0
;
10369 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
10371 ndr_print_uint32(ndr
, "count", r
->count
);
10372 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10373 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10375 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10377 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10378 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10386 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10388 if (ndr_flags
& NDR_SCALARS
) {
10389 NDR_CHECK(ndr_push_align(ndr
, 5));
10390 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
10391 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10392 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
10393 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
10394 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
10395 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10397 if (ndr_flags
& NDR_BUFFERS
) {
10398 if (r
->dsa_obj_dn
) {
10399 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10400 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10401 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10402 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
));
10405 return NDR_ERR_SUCCESS
;
10408 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
10410 uint32_t _ptr_dsa_obj_dn
;
10411 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
10412 if (ndr_flags
& NDR_SCALARS
) {
10413 NDR_CHECK(ndr_pull_align(ndr
, 5));
10414 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
10415 if (_ptr_dsa_obj_dn
) {
10416 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
10418 r
->dsa_obj_dn
= NULL
;
10420 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10421 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
10422 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
10423 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
10424 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10426 if (ndr_flags
& NDR_BUFFERS
) {
10427 if (r
->dsa_obj_dn
) {
10428 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10429 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
10430 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
10431 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
10432 if (ndr_get_array_length(ndr
, &r
->dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->dsa_obj_dn
)) {
10433 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
));
10435 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t)));
10436 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
));
10437 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
10440 return NDR_ERR_SUCCESS
;
10443 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10445 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
10447 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10449 if (r
->dsa_obj_dn
) {
10450 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10453 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
10454 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
10455 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
10456 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
10460 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10462 uint32_t cntr_array_0
;
10463 if (ndr_flags
& NDR_SCALARS
) {
10464 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10465 NDR_CHECK(ndr_push_align(ndr
, 5));
10466 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10467 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10468 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10469 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10471 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10473 if (ndr_flags
& NDR_BUFFERS
) {
10474 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10475 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10478 return NDR_ERR_SUCCESS
;
10481 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10483 uint32_t cntr_array_0
;
10484 TALLOC_CTX
*_mem_save_array_0
;
10485 if (ndr_flags
& NDR_SCALARS
) {
10486 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10487 NDR_CHECK(ndr_pull_align(ndr
, 5));
10488 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10490 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10491 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10492 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10493 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10494 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10496 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10498 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10500 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10502 if (ndr_flags
& NDR_BUFFERS
) {
10503 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10504 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10505 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10508 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10510 return NDR_ERR_SUCCESS
;
10513 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10515 uint32_t cntr_array_0
;
10516 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
10518 ndr_print_uint32(ndr
, "count", r
->count
);
10519 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10520 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10522 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10524 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10525 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
10533 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
10535 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
10536 return NDR_ERR_SUCCESS
;
10539 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
10542 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
10544 return NDR_ERR_SUCCESS
;
10547 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
10549 const char *val
= NULL
;
10552 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10553 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10554 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10555 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10556 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10558 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10561 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
10563 if (ndr_flags
& NDR_SCALARS
) {
10564 NDR_CHECK(ndr_push_align(ndr
, 5));
10565 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
10566 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
10567 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
10568 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
10569 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
10570 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
10571 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
10572 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
10573 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10574 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10575 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10577 if (ndr_flags
& NDR_BUFFERS
) {
10579 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10580 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10581 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10582 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10584 if (r
->remote_dsa_obj_dn
) {
10585 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10586 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10587 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10588 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
));
10590 if (r
->remote_dsa_address
) {
10591 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10592 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10593 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10594 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
));
10597 return NDR_ERR_SUCCESS
;
10600 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
10602 uint32_t _ptr_nc_dn
;
10603 TALLOC_CTX
*_mem_save_nc_dn_0
;
10604 uint32_t _ptr_remote_dsa_obj_dn
;
10605 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
10606 uint32_t _ptr_remote_dsa_address
;
10607 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
10608 if (ndr_flags
& NDR_SCALARS
) {
10609 NDR_CHECK(ndr_pull_align(ndr
, 5));
10610 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
10611 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
10612 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
10613 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
10614 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
10615 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
10617 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
10621 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
10622 if (_ptr_remote_dsa_obj_dn
) {
10623 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
10625 r
->remote_dsa_obj_dn
= NULL
;
10627 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
10628 if (_ptr_remote_dsa_address
) {
10629 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
10631 r
->remote_dsa_address
= NULL
;
10633 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10634 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10635 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10637 if (ndr_flags
& NDR_BUFFERS
) {
10639 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10640 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
10641 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
10642 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
10643 if (ndr_get_array_length(ndr
, &r
->nc_dn
) > ndr_get_array_size(ndr
, &r
->nc_dn
)) {
10644 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
));
10646 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t)));
10647 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t), CH_UTF16
));
10648 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
10650 if (r
->remote_dsa_obj_dn
) {
10651 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10652 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
10653 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
10654 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
10655 if (ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
)) {
10656 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
));
10658 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t)));
10659 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
));
10660 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
10662 if (r
->remote_dsa_address
) {
10663 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10664 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
10665 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
10666 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
10667 if (ndr_get_array_length(ndr
, &r
->remote_dsa_address
) > ndr_get_array_size(ndr
, &r
->remote_dsa_address
)) {
10668 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
));
10670 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t)));
10671 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
));
10672 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
10675 return NDR_ERR_SUCCESS
;
10678 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
10680 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
10682 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
10683 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
10684 ndr_print_uint32(ndr
, "priority", r
->priority
);
10685 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
10686 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
10687 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
10690 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
10693 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10695 if (r
->remote_dsa_obj_dn
) {
10696 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10699 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10701 if (r
->remote_dsa_address
) {
10702 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10705 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
10706 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
10710 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
10712 uint32_t cntr_array_0
;
10713 if (ndr_flags
& NDR_SCALARS
) {
10714 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10715 NDR_CHECK(ndr_push_align(ndr
, 5));
10716 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
10717 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10718 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10719 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10721 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10723 if (ndr_flags
& NDR_BUFFERS
) {
10724 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10725 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10728 return NDR_ERR_SUCCESS
;
10731 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
10733 uint32_t cntr_array_0
;
10734 TALLOC_CTX
*_mem_save_array_0
;
10735 if (ndr_flags
& NDR_SCALARS
) {
10736 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10737 NDR_CHECK(ndr_pull_align(ndr
, 5));
10738 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
10739 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10740 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10741 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10742 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10743 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10744 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10748 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10750 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10752 if (ndr_flags
& NDR_BUFFERS
) {
10753 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10754 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10755 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10756 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10758 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10760 return NDR_ERR_SUCCESS
;
10763 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
10765 uint32_t cntr_array_0
;
10766 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
10768 ndr_print_NTTIME(ndr
, "time", r
->time
);
10769 ndr_print_uint32(ndr
, "count", r
->count
);
10770 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10772 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10774 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10775 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
10783 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10785 if (ndr_flags
& NDR_SCALARS
) {
10786 NDR_CHECK(ndr_push_align(ndr
, 8));
10787 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10788 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10789 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
10790 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
10791 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
10792 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
10793 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10794 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10795 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10796 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10797 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10798 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10800 if (ndr_flags
& NDR_BUFFERS
) {
10801 if (r
->attribute_name
) {
10802 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10803 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10804 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10805 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10807 if (r
->object_dn
) {
10808 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10809 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10810 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10811 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10814 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
10817 return NDR_ERR_SUCCESS
;
10820 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
10822 uint32_t _ptr_attribute_name
;
10823 TALLOC_CTX
*_mem_save_attribute_name_0
;
10824 uint32_t _ptr_object_dn
;
10825 TALLOC_CTX
*_mem_save_object_dn_0
;
10826 uint32_t _ptr_binary
;
10827 TALLOC_CTX
*_mem_save_binary_0
;
10828 if (ndr_flags
& NDR_SCALARS
) {
10829 NDR_CHECK(ndr_pull_align(ndr
, 8));
10830 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10831 if (_ptr_attribute_name
) {
10832 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10834 r
->attribute_name
= NULL
;
10836 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10837 if (_ptr_object_dn
) {
10838 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10840 r
->object_dn
= NULL
;
10842 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
10843 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
10845 NDR_PULL_ALLOC(ndr
, r
->binary
);
10849 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
10850 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
10851 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10852 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10853 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10854 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10855 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10856 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10858 if (ndr_flags
& NDR_BUFFERS
) {
10859 if (r
->attribute_name
) {
10860 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10861 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10862 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10863 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10864 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10865 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
));
10867 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10868 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10869 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10871 if (r
->object_dn
) {
10872 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10873 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10874 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10875 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10876 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
10877 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
));
10879 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
10880 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
10881 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10884 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10885 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
10886 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
10887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
10890 return NDR_ERR_SUCCESS
;
10893 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10895 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
10897 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10899 if (r
->attribute_name
) {
10900 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10903 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10905 if (r
->object_dn
) {
10906 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10909 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
);
10910 ndr_print_ptr(ndr
, "binary", r
->binary
);
10913 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
10916 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
10917 ndr_print_NTTIME(ndr
, "created", r
->created
);
10918 ndr_print_uint32(ndr
, "version", r
->version
);
10919 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10920 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10921 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10922 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10926 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10928 uint32_t cntr_array_0
;
10929 if (ndr_flags
& NDR_SCALARS
) {
10930 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10931 NDR_CHECK(ndr_push_align(ndr
, 8));
10932 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10933 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10934 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10935 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10937 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10939 if (ndr_flags
& NDR_BUFFERS
) {
10940 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10941 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10944 return NDR_ERR_SUCCESS
;
10947 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10949 uint32_t cntr_array_0
;
10950 TALLOC_CTX
*_mem_save_array_0
;
10951 if (ndr_flags
& NDR_SCALARS
) {
10952 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10953 NDR_CHECK(ndr_pull_align(ndr
, 8));
10954 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10955 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10956 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10957 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10958 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10959 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10960 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10962 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10964 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10966 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10968 if (ndr_flags
& NDR_BUFFERS
) {
10969 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10970 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10971 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10972 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10976 return NDR_ERR_SUCCESS
;
10979 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10981 uint32_t cntr_array_0
;
10982 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
10984 ndr_print_uint32(ndr
, "count", r
->count
);
10985 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
10986 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10988 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10990 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10991 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10999 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11001 uint32_t cntr_array_0
;
11002 if (ndr_flags
& NDR_SCALARS
) {
11003 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11004 NDR_CHECK(ndr_push_align(ndr
, 8));
11005 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11006 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11007 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11008 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11010 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11012 if (ndr_flags
& NDR_BUFFERS
) {
11014 return NDR_ERR_SUCCESS
;
11017 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
11019 uint32_t cntr_array_0
;
11020 TALLOC_CTX
*_mem_save_array_0
;
11021 if (ndr_flags
& NDR_SCALARS
) {
11022 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11023 NDR_CHECK(ndr_pull_align(ndr
, 8));
11024 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11025 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11026 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11027 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11028 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11029 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11030 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11034 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11036 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11038 if (ndr_flags
& NDR_BUFFERS
) {
11040 return NDR_ERR_SUCCESS
;
11043 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11045 uint32_t cntr_array_0
;
11046 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11048 ndr_print_uint32(ndr
, "count", r
->count
);
11049 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11050 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11052 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11054 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11055 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11063 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11065 if (ndr_flags
& NDR_SCALARS
) {
11066 NDR_CHECK(ndr_push_align(ndr
, 8));
11067 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11068 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11069 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11070 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11071 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11073 if (ndr_flags
& NDR_BUFFERS
) {
11074 if (r
->source_dsa_obj_dn
) {
11075 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11076 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11077 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11078 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
));
11081 return NDR_ERR_SUCCESS
;
11084 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11086 uint32_t _ptr_source_dsa_obj_dn
;
11087 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11088 if (ndr_flags
& NDR_SCALARS
) {
11089 NDR_CHECK(ndr_pull_align(ndr
, 8));
11090 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11091 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11092 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11093 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11094 if (_ptr_source_dsa_obj_dn
) {
11095 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11097 r
->source_dsa_obj_dn
= NULL
;
11099 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11101 if (ndr_flags
& NDR_BUFFERS
) {
11102 if (r
->source_dsa_obj_dn
) {
11103 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11104 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11105 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11106 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11107 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
11108 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
));
11110 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
11111 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
));
11112 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11115 return NDR_ERR_SUCCESS
;
11118 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11120 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11122 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11123 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11124 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11125 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11127 if (r
->source_dsa_obj_dn
) {
11128 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11134 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11136 uint32_t cntr_array_0
;
11137 if (ndr_flags
& NDR_SCALARS
) {
11138 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11139 NDR_CHECK(ndr_push_align(ndr
, 8));
11140 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11141 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11142 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11143 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11145 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11147 if (ndr_flags
& NDR_BUFFERS
) {
11148 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11149 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11152 return NDR_ERR_SUCCESS
;
11155 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11157 uint32_t cntr_array_0
;
11158 TALLOC_CTX
*_mem_save_array_0
;
11159 if (ndr_flags
& NDR_SCALARS
) {
11160 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11161 NDR_CHECK(ndr_pull_align(ndr
, 8));
11162 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11163 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11164 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11165 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11166 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11167 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11168 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11170 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11172 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11174 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11176 if (ndr_flags
& NDR_BUFFERS
) {
11177 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11178 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11179 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11180 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11182 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11184 return NDR_ERR_SUCCESS
;
11187 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11189 uint32_t cntr_array_0
;
11190 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11192 ndr_print_uint32(ndr
, "count", r
->count
);
11193 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11194 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11196 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11198 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11199 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11207 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11209 if (ndr_flags
& NDR_SCALARS
) {
11210 NDR_CHECK(ndr_push_align(ndr
, 8));
11211 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11212 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11213 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11214 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11215 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11216 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11217 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11218 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11220 if (ndr_flags
& NDR_BUFFERS
) {
11221 if (r
->attribute_name
) {
11222 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11223 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11224 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11225 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11227 if (r
->originating_dsa_dn
) {
11228 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11229 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11230 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11231 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
));
11234 return NDR_ERR_SUCCESS
;
11237 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11239 uint32_t _ptr_attribute_name
;
11240 TALLOC_CTX
*_mem_save_attribute_name_0
;
11241 uint32_t _ptr_originating_dsa_dn
;
11242 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11243 if (ndr_flags
& NDR_SCALARS
) {
11244 NDR_CHECK(ndr_pull_align(ndr
, 8));
11245 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11246 if (_ptr_attribute_name
) {
11247 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11249 r
->attribute_name
= NULL
;
11251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11252 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11253 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11254 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11255 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11256 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11257 if (_ptr_originating_dsa_dn
) {
11258 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11260 r
->originating_dsa_dn
= NULL
;
11262 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11264 if (ndr_flags
& NDR_BUFFERS
) {
11265 if (r
->attribute_name
) {
11266 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11267 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11268 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11269 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11270 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11271 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
));
11273 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11274 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11275 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11277 if (r
->originating_dsa_dn
) {
11278 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11279 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11280 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11281 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11282 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11283 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
));
11285 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11286 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
));
11287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11290 return NDR_ERR_SUCCESS
;
11293 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11295 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11297 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11299 if (r
->attribute_name
) {
11300 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11303 ndr_print_uint32(ndr
, "version", r
->version
);
11304 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11305 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11306 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11307 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11308 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11310 if (r
->originating_dsa_dn
) {
11311 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11317 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11319 uint32_t cntr_array_0
;
11320 if (ndr_flags
& NDR_SCALARS
) {
11321 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11322 NDR_CHECK(ndr_push_align(ndr
, 8));
11323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11324 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11325 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11326 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11328 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11330 if (ndr_flags
& NDR_BUFFERS
) {
11331 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11332 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11335 return NDR_ERR_SUCCESS
;
11338 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11340 uint32_t cntr_array_0
;
11341 TALLOC_CTX
*_mem_save_array_0
;
11342 if (ndr_flags
& NDR_SCALARS
) {
11343 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11344 NDR_CHECK(ndr_pull_align(ndr
, 8));
11345 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11346 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11347 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11348 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11349 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11350 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11353 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11355 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11357 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11359 if (ndr_flags
& NDR_BUFFERS
) {
11360 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11361 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11362 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11365 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11367 return NDR_ERR_SUCCESS
;
11370 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11372 uint32_t cntr_array_0
;
11373 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
11375 ndr_print_uint32(ndr
, "count", r
->count
);
11376 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11377 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11379 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11381 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11382 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11390 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11392 if (ndr_flags
& NDR_SCALARS
) {
11393 NDR_CHECK(ndr_push_align(ndr
, 8));
11394 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11395 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11396 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11397 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11398 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11399 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11400 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11401 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11402 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11403 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11404 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11405 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11406 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11408 if (ndr_flags
& NDR_BUFFERS
) {
11409 if (r
->attribute_name
) {
11410 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11411 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11412 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11413 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11415 if (r
->object_dn
) {
11416 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11417 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11418 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11419 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11422 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11424 if (r
->originating_dsa_dn
) {
11425 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11426 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11427 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11428 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
));
11431 return NDR_ERR_SUCCESS
;
11434 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11436 uint32_t _ptr_attribute_name
;
11437 TALLOC_CTX
*_mem_save_attribute_name_0
;
11438 uint32_t _ptr_object_dn
;
11439 TALLOC_CTX
*_mem_save_object_dn_0
;
11440 uint32_t _ptr_binary
;
11441 TALLOC_CTX
*_mem_save_binary_0
;
11442 uint32_t _ptr_originating_dsa_dn
;
11443 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11444 if (ndr_flags
& NDR_SCALARS
) {
11445 NDR_CHECK(ndr_pull_align(ndr
, 8));
11446 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11447 if (_ptr_attribute_name
) {
11448 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11450 r
->attribute_name
= NULL
;
11452 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11453 if (_ptr_object_dn
) {
11454 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11456 r
->object_dn
= NULL
;
11458 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11459 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11461 NDR_PULL_ALLOC(ndr
, r
->binary
);
11465 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11466 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11467 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11468 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11469 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11470 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11471 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11472 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11473 if (_ptr_originating_dsa_dn
) {
11474 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11476 r
->originating_dsa_dn
= NULL
;
11478 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11480 if (ndr_flags
& NDR_BUFFERS
) {
11481 if (r
->attribute_name
) {
11482 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11483 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11484 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11485 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11486 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11487 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
));
11489 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11490 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11491 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11493 if (r
->object_dn
) {
11494 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11495 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11496 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11497 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11498 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11499 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
));
11501 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11502 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11503 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11506 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11507 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11508 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11509 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11511 if (r
->originating_dsa_dn
) {
11512 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11513 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11514 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11515 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11516 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11517 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
));
11519 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11520 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
));
11521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11524 return NDR_ERR_SUCCESS
;
11527 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11529 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
11531 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11533 if (r
->attribute_name
) {
11534 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11537 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11539 if (r
->object_dn
) {
11540 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11543 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
);
11544 ndr_print_ptr(ndr
, "binary", r
->binary
);
11547 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11550 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11551 ndr_print_NTTIME(ndr
, "created", r
->created
);
11552 ndr_print_uint32(ndr
, "version", r
->version
);
11553 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11554 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11555 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11556 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11557 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11559 if (r
->originating_dsa_dn
) {
11560 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11566 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11568 uint32_t cntr_array_0
;
11569 if (ndr_flags
& NDR_SCALARS
) {
11570 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11571 NDR_CHECK(ndr_push_align(ndr
, 8));
11572 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11573 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11574 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11575 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11577 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11579 if (ndr_flags
& NDR_BUFFERS
) {
11580 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11581 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11584 return NDR_ERR_SUCCESS
;
11587 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11589 uint32_t cntr_array_0
;
11590 TALLOC_CTX
*_mem_save_array_0
;
11591 if (ndr_flags
& NDR_SCALARS
) {
11592 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11593 NDR_CHECK(ndr_pull_align(ndr
, 8));
11594 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11595 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11596 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11597 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11598 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11599 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11600 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11602 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11604 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11606 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11608 if (ndr_flags
& NDR_BUFFERS
) {
11609 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11610 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11611 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11616 return NDR_ERR_SUCCESS
;
11619 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11621 uint32_t cntr_array_0
;
11622 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11624 ndr_print_uint32(ndr
, "count", r
->count
);
11625 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11626 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11628 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11630 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11631 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11639 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
11641 if (ndr_flags
& NDR_SCALARS
) {
11642 NDR_CHECK(ndr_push_align(ndr
, 8));
11643 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
11644 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11645 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11646 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11647 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
11649 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11650 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11651 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
11652 ndr
->flags
= _flags_save_ipv4address
;
11654 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11655 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11657 if (ndr_flags
& NDR_BUFFERS
) {
11659 return NDR_ERR_SUCCESS
;
11662 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
11664 if (ndr_flags
& NDR_SCALARS
) {
11665 NDR_CHECK(ndr_pull_align(ndr
, 8));
11666 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
11667 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11668 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11669 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11670 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
11672 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11673 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11674 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
11675 ndr
->flags
= _flags_save_ipv4address
;
11677 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11678 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11680 if (ndr_flags
& NDR_BUFFERS
) {
11682 return NDR_ERR_SUCCESS
;
11685 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
11687 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
11689 ndr_print_hyper(ndr
, "u1", r
->u1
);
11690 ndr_print_uint32(ndr
, "u2", r
->u2
);
11691 ndr_print_uint32(ndr
, "u3", r
->u3
);
11692 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
11693 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
11694 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
11695 ndr_print_uint32(ndr
, "u5", r
->u5
);
11699 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11701 uint32_t cntr_array_0
;
11702 if (ndr_flags
& NDR_SCALARS
) {
11703 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11704 NDR_CHECK(ndr_push_align(ndr
, 8));
11705 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11706 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11707 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11708 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11710 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11712 if (ndr_flags
& NDR_BUFFERS
) {
11714 return NDR_ERR_SUCCESS
;
11717 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
11719 uint32_t cntr_array_0
;
11720 TALLOC_CTX
*_mem_save_array_0
;
11721 if (ndr_flags
& NDR_SCALARS
) {
11722 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11723 NDR_CHECK(ndr_pull_align(ndr
, 8));
11724 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11725 if (r
->count
> 10000) {
11726 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11728 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11729 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11730 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11731 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11732 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11735 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11737 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11739 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11741 if (ndr_flags
& NDR_BUFFERS
) {
11743 return NDR_ERR_SUCCESS
;
11746 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11748 uint32_t cntr_array_0
;
11749 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
11751 ndr_print_uint32(ndr
, "count", r
->count
);
11752 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11753 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11755 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11757 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11758 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
11766 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
11768 if (ndr_flags
& NDR_SCALARS
) {
11769 NDR_CHECK(ndr_push_align(ndr
, 8));
11770 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
11771 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
11772 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11774 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
11775 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11776 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
11777 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
11778 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11780 if (ndr_flags
& NDR_BUFFERS
) {
11782 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11784 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11785 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11788 return NDR_ERR_SUCCESS
;
11791 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
11793 uint32_t _ptr_str1
;
11794 TALLOC_CTX
*_mem_save_str1_0
;
11795 if (ndr_flags
& NDR_SCALARS
) {
11796 NDR_CHECK(ndr_pull_align(ndr
, 8));
11797 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
11799 NDR_PULL_ALLOC(ndr
, r
->str1
);
11803 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
11804 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11805 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11806 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
11807 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11808 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
11809 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
11810 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11812 if (ndr_flags
& NDR_BUFFERS
) {
11814 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11815 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
11816 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
11817 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
11818 if (ndr_get_array_length(ndr
, &r
->str1
) > ndr_get_array_size(ndr
, &r
->str1
)) {
11819 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
));
11821 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t)));
11822 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t), CH_UTF16
));
11823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
11826 return NDR_ERR_SUCCESS
;
11829 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
11831 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
11833 ndr_print_ptr(ndr
, "str1", r
->str1
);
11836 ndr_print_string(ndr
, "str1", r
->str1
);
11839 ndr_print_uint32(ndr
, "u1", r
->u1
);
11840 ndr_print_uint32(ndr
, "u2", r
->u2
);
11841 ndr_print_uint32(ndr
, "u3", r
->u3
);
11842 ndr_print_uint32(ndr
, "u4", r
->u4
);
11843 ndr_print_uint32(ndr
, "u5", r
->u5
);
11844 ndr_print_hyper(ndr
, "u6", r
->u6
);
11845 ndr_print_uint32(ndr
, "u7", r
->u7
);
11849 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
11851 uint32_t cntr_array_0
;
11852 if (ndr_flags
& NDR_SCALARS
) {
11853 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11854 NDR_CHECK(ndr_push_align(ndr
, 8));
11855 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11856 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11857 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11858 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11860 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11862 if (ndr_flags
& NDR_BUFFERS
) {
11863 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11864 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11867 return NDR_ERR_SUCCESS
;
11870 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
11872 uint32_t cntr_array_0
;
11873 TALLOC_CTX
*_mem_save_array_0
;
11874 if (ndr_flags
& NDR_SCALARS
) {
11875 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11876 NDR_CHECK(ndr_pull_align(ndr
, 8));
11877 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11878 if (r
->count
> 256) {
11879 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11881 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11882 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11883 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11884 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11885 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11886 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11888 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11890 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11892 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11894 if (ndr_flags
& NDR_BUFFERS
) {
11895 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11896 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11897 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11898 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11900 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11902 return NDR_ERR_SUCCESS
;
11905 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
11907 uint32_t cntr_array_0
;
11908 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
11910 ndr_print_uint32(ndr
, "count", r
->count
);
11911 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11912 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11914 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11916 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11917 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
11925 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
11927 if (ndr_flags
& NDR_SCALARS
) {
11928 int level
= ndr_push_get_switch_value(ndr
, r
);
11929 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
11930 NDR_CHECK(ndr_push_union_align(ndr
, 5));
11932 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
11933 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
11936 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
11937 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
11940 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
11941 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
11944 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
11945 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
11948 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
11949 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
11952 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
11953 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
11956 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
11957 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
11960 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
11961 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
11964 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
11965 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
11968 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
11969 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
11972 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
11973 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
11976 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
11977 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours02
));
11980 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
11981 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connections04
));
11984 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
11985 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors05
));
11988 case DRSUAPI_DS_REPLICA_INFO_06
: {
11989 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->i06
));
11993 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
11996 if (ndr_flags
& NDR_BUFFERS
) {
11997 int level
= ndr_push_get_switch_value(ndr
, r
);
11999 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12000 if (r
->neighbours
) {
12001 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12005 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12007 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12011 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12012 if (r
->objmetadata
) {
12013 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12017 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12018 if (r
->connectfailures
) {
12019 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12023 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12024 if (r
->linkfailures
) {
12025 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12029 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12030 if (r
->pendingops
) {
12031 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12035 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12036 if (r
->attrvalmetadata
) {
12037 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12041 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12043 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12047 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12049 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12053 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12054 if (r
->objmetadata2
) {
12055 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12059 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12060 if (r
->attrvalmetadata2
) {
12061 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12065 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12066 if (r
->neighbours02
) {
12067 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12071 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12072 if (r
->connections04
) {
12073 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12077 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12078 if (r
->cursors05
) {
12079 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12083 case DRSUAPI_DS_REPLICA_INFO_06
:
12085 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12090 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12093 return NDR_ERR_SUCCESS
;
12096 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12100 TALLOC_CTX
*_mem_save_neighbours_0
;
12101 TALLOC_CTX
*_mem_save_cursors_0
;
12102 TALLOC_CTX
*_mem_save_objmetadata_0
;
12103 TALLOC_CTX
*_mem_save_connectfailures_0
;
12104 TALLOC_CTX
*_mem_save_linkfailures_0
;
12105 TALLOC_CTX
*_mem_save_pendingops_0
;
12106 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12107 TALLOC_CTX
*_mem_save_cursors2_0
;
12108 TALLOC_CTX
*_mem_save_cursors3_0
;
12109 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12110 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12111 TALLOC_CTX
*_mem_save_neighbours02_0
;
12112 TALLOC_CTX
*_mem_save_connections04_0
;
12113 TALLOC_CTX
*_mem_save_cursors05_0
;
12114 TALLOC_CTX
*_mem_save_i06_0
;
12115 level
= ndr_pull_get_switch_value(ndr
, r
);
12116 if (ndr_flags
& NDR_SCALARS
) {
12117 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12118 if (_level
!= level
) {
12119 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12121 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12123 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12124 uint32_t _ptr_neighbours
;
12125 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12126 if (_ptr_neighbours
) {
12127 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12129 r
->neighbours
= NULL
;
12133 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12134 uint32_t _ptr_cursors
;
12135 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12136 if (_ptr_cursors
) {
12137 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12143 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12144 uint32_t _ptr_objmetadata
;
12145 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12146 if (_ptr_objmetadata
) {
12147 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12149 r
->objmetadata
= NULL
;
12153 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12154 uint32_t _ptr_connectfailures
;
12155 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12156 if (_ptr_connectfailures
) {
12157 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12159 r
->connectfailures
= NULL
;
12163 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12164 uint32_t _ptr_linkfailures
;
12165 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12166 if (_ptr_linkfailures
) {
12167 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12169 r
->linkfailures
= NULL
;
12173 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12174 uint32_t _ptr_pendingops
;
12175 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12176 if (_ptr_pendingops
) {
12177 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12179 r
->pendingops
= NULL
;
12183 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12184 uint32_t _ptr_attrvalmetadata
;
12185 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12186 if (_ptr_attrvalmetadata
) {
12187 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12189 r
->attrvalmetadata
= NULL
;
12193 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12194 uint32_t _ptr_cursors2
;
12195 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12196 if (_ptr_cursors2
) {
12197 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12199 r
->cursors2
= NULL
;
12203 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12204 uint32_t _ptr_cursors3
;
12205 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12206 if (_ptr_cursors3
) {
12207 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12209 r
->cursors3
= NULL
;
12213 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12214 uint32_t _ptr_objmetadata2
;
12215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12216 if (_ptr_objmetadata2
) {
12217 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12219 r
->objmetadata2
= NULL
;
12223 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12224 uint32_t _ptr_attrvalmetadata2
;
12225 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12226 if (_ptr_attrvalmetadata2
) {
12227 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12229 r
->attrvalmetadata2
= NULL
;
12233 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
: {
12234 uint32_t _ptr_neighbours02
;
12235 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours02
));
12236 if (_ptr_neighbours02
) {
12237 NDR_PULL_ALLOC(ndr
, r
->neighbours02
);
12239 r
->neighbours02
= NULL
;
12243 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
: {
12244 uint32_t _ptr_connections04
;
12245 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connections04
));
12246 if (_ptr_connections04
) {
12247 NDR_PULL_ALLOC(ndr
, r
->connections04
);
12249 r
->connections04
= NULL
;
12253 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
: {
12254 uint32_t _ptr_cursors05
;
12255 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors05
));
12256 if (_ptr_cursors05
) {
12257 NDR_PULL_ALLOC(ndr
, r
->cursors05
);
12259 r
->cursors05
= NULL
;
12263 case DRSUAPI_DS_REPLICA_INFO_06
: {
12265 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_i06
));
12267 NDR_PULL_ALLOC(ndr
, r
->i06
);
12274 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12277 if (ndr_flags
& NDR_BUFFERS
) {
12279 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12280 if (r
->neighbours
) {
12281 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12282 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12283 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12288 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12290 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12291 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12293 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12297 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12298 if (r
->objmetadata
) {
12299 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12300 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12301 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12302 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12306 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12307 if (r
->connectfailures
) {
12308 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12309 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12315 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12316 if (r
->linkfailures
) {
12317 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12318 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12319 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12320 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12324 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12325 if (r
->pendingops
) {
12326 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12327 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12329 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12333 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12334 if (r
->attrvalmetadata
) {
12335 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12336 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12338 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12342 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12344 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12345 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12347 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12351 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12353 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12354 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12355 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12356 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
12360 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12361 if (r
->objmetadata2
) {
12362 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12363 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
12364 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12365 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
12369 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12370 if (r
->attrvalmetadata2
) {
12371 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12372 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
12373 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12374 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
12378 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12379 if (r
->neighbours02
) {
12380 _mem_save_neighbours02_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12381 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours02
, 0);
12382 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours02
));
12383 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours02_0
, 0);
12387 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12388 if (r
->connections04
) {
12389 _mem_save_connections04_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12390 NDR_PULL_SET_MEM_CTX(ndr
, r
->connections04
, 0);
12391 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->connections04
));
12392 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connections04_0
, 0);
12396 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12397 if (r
->cursors05
) {
12398 _mem_save_cursors05_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12399 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors05
, 0);
12400 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->cursors05
));
12401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors05_0
, 0);
12405 case DRSUAPI_DS_REPLICA_INFO_06
:
12407 _mem_save_i06_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12408 NDR_PULL_SET_MEM_CTX(ndr
, r
->i06
, 0);
12409 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->i06
));
12410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_i06_0
, 0);
12415 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12418 return NDR_ERR_SUCCESS
;
12421 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
12424 level
= ndr_print_get_switch_value(ndr
, r
);
12425 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
12427 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12428 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
12430 if (r
->neighbours
) {
12431 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
12436 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12437 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
12440 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
12445 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12446 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
12448 if (r
->objmetadata
) {
12449 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
12454 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12455 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
12457 if (r
->connectfailures
) {
12458 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
12463 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12464 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
12466 if (r
->linkfailures
) {
12467 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
12472 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12473 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
12475 if (r
->pendingops
) {
12476 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
12481 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12482 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12484 if (r
->attrvalmetadata
) {
12485 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12490 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12491 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
12494 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
12499 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12500 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
12503 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
12508 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12509 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
12511 if (r
->objmetadata2
) {
12512 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
12517 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12518 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12520 if (r
->attrvalmetadata2
) {
12521 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12526 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
:
12527 ndr_print_ptr(ndr
, "neighbours02", r
->neighbours02
);
12529 if (r
->neighbours02
) {
12530 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours02", r
->neighbours02
);
12535 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
:
12536 ndr_print_ptr(ndr
, "connections04", r
->connections04
);
12538 if (r
->connections04
) {
12539 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "connections04", r
->connections04
);
12544 case DRSUAPI_DS_REPLICA_INFO_CURSORS05
:
12545 ndr_print_ptr(ndr
, "cursors05", r
->cursors05
);
12547 if (r
->cursors05
) {
12548 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "cursors05", r
->cursors05
);
12553 case DRSUAPI_DS_REPLICA_INFO_06
:
12554 ndr_print_ptr(ndr
, "i06", r
->i06
);
12557 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "i06", r
->i06
);
12563 ndr_print_bad_level(ndr
, name
, level
);
12567 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12569 if (ndr_flags
& NDR_SCALARS
) {
12570 int level
= ndr_push_get_switch_value(ndr
, r
);
12571 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12572 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12575 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12579 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12582 if (ndr_flags
& NDR_BUFFERS
) {
12583 int level
= ndr_push_get_switch_value(ndr
, r
);
12586 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12590 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12593 return NDR_ERR_SUCCESS
;
12596 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
12600 level
= ndr_pull_get_switch_value(ndr
, r
);
12601 if (ndr_flags
& NDR_SCALARS
) {
12602 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12603 if (_level
!= level
) {
12604 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12606 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12609 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12613 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12616 if (ndr_flags
& NDR_BUFFERS
) {
12619 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12623 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12626 return NDR_ERR_SUCCESS
;
12629 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12632 level
= ndr_print_get_switch_value(ndr
, r
);
12633 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
12636 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
12640 ndr_print_bad_level(ndr
, name
, level
);
12644 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12646 uint32_t cntr_req_array_1
;
12647 if (ndr_flags
& NDR_SCALARS
) {
12648 NDR_CHECK(ndr_push_align(ndr
, 5));
12649 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12650 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
12651 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12653 if (ndr_flags
& NDR_BUFFERS
) {
12654 if (r
->req_array
) {
12655 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
12656 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12657 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
12659 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12660 if (r
->req_array
[cntr_req_array_1
]) {
12661 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12666 return NDR_ERR_SUCCESS
;
12669 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
12671 uint32_t _ptr_req_array
;
12672 uint32_t cntr_req_array_1
;
12673 TALLOC_CTX
*_mem_save_req_array_0
;
12674 TALLOC_CTX
*_mem_save_req_array_1
;
12675 TALLOC_CTX
*_mem_save_req_array_2
;
12676 if (ndr_flags
& NDR_SCALARS
) {
12677 NDR_CHECK(ndr_pull_align(ndr
, 5));
12678 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
12679 if (r
->num_req
< 1 || r
->num_req
> 10000) {
12680 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12682 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12683 if (_ptr_req_array
) {
12684 NDR_PULL_ALLOC(ndr
, r
->req_array
);
12686 r
->req_array
= NULL
;
12688 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12690 if (ndr_flags
& NDR_BUFFERS
) {
12691 if (r
->req_array
) {
12692 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12693 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12694 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
12695 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, ndr_get_array_size(ndr
, &r
->req_array
));
12696 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12697 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12698 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12699 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12700 if (_ptr_req_array
) {
12701 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
12703 r
->req_array
[cntr_req_array_1
] = NULL
;
12706 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12707 if (r
->req_array
[cntr_req_array_1
]) {
12708 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
12709 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
12710 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12711 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
12714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
12715 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
12717 if (r
->req_array
) {
12718 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
12721 return NDR_ERR_SUCCESS
;
12724 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12726 uint32_t cntr_req_array_1
;
12727 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
12729 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
12730 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
12732 if (r
->req_array
) {
12733 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
12735 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
12737 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
12738 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12740 if (r
->req_array
[cntr_req_array_1
]) {
12741 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12753 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
12755 if (ndr_flags
& NDR_SCALARS
) {
12756 int level
= ndr_push_get_switch_value(ndr
, r
);
12757 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12758 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12761 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12765 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12768 if (ndr_flags
& NDR_BUFFERS
) {
12769 int level
= ndr_push_get_switch_value(ndr
, r
);
12772 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12776 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12779 return NDR_ERR_SUCCESS
;
12782 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
12786 level
= ndr_pull_get_switch_value(ndr
, r
);
12787 if (ndr_flags
& NDR_SCALARS
) {
12788 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12789 if (_level
!= level
) {
12790 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12792 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12795 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12799 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12802 if (ndr_flags
& NDR_BUFFERS
) {
12805 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12809 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12812 return NDR_ERR_SUCCESS
;
12815 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
12818 level
= ndr_print_get_switch_value(ndr
, r
);
12819 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
12822 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
12826 ndr_print_bad_level(ndr
, name
, level
);
12830 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
12832 if (ndr_flags
& NDR_SCALARS
) {
12833 NDR_CHECK(ndr_push_align(ndr
, 4));
12834 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
12835 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
12836 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
12838 if (ndr_flags
& NDR_BUFFERS
) {
12840 return NDR_ERR_SUCCESS
;
12843 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
12845 if (ndr_flags
& NDR_SCALARS
) {
12846 NDR_CHECK(ndr_pull_align(ndr
, 4));
12847 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
12848 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
12849 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
12851 if (ndr_flags
& NDR_BUFFERS
) {
12853 return NDR_ERR_SUCCESS
;
12856 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
12858 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
12860 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
12861 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
12865 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12867 uint32_t cntr_info_1
;
12868 if (ndr_flags
& NDR_SCALARS
) {
12869 NDR_CHECK(ndr_push_align(ndr
, 5));
12870 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
12871 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
12872 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
12873 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12875 if (ndr_flags
& NDR_BUFFERS
) {
12877 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
12878 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12879 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12883 return NDR_ERR_SUCCESS
;
12886 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
12888 uint32_t _ptr_info
;
12889 uint32_t cntr_info_1
;
12890 TALLOC_CTX
*_mem_save_info_0
;
12891 TALLOC_CTX
*_mem_save_info_1
;
12892 if (ndr_flags
& NDR_SCALARS
) {
12893 NDR_CHECK(ndr_pull_align(ndr
, 5));
12894 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
12895 if (r
->num_info
> 10000) {
12896 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
12900 NDR_PULL_ALLOC(ndr
, r
->info
);
12904 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
12905 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12907 if (ndr_flags
& NDR_BUFFERS
) {
12909 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12910 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12911 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
12912 NDR_PULL_ALLOC_N(ndr
, r
->info
, ndr_get_array_size(ndr
, &r
->info
));
12913 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12914 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12915 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12916 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12918 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
12919 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
12922 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
12925 return NDR_ERR_SUCCESS
;
12928 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12930 uint32_t cntr_info_1
;
12931 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
12933 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
12934 ndr_print_ptr(ndr
, "info", r
->info
);
12937 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
12939 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
12941 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
12942 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
12949 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
12953 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
12955 if (ndr_flags
& NDR_SCALARS
) {
12956 int level
= ndr_push_get_switch_value(ndr
, r
);
12957 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12958 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12961 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12965 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12968 if (ndr_flags
& NDR_BUFFERS
) {
12969 int level
= ndr_push_get_switch_value(ndr
, r
);
12972 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12976 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12979 return NDR_ERR_SUCCESS
;
12982 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
12986 level
= ndr_pull_get_switch_value(ndr
, r
);
12987 if (ndr_flags
& NDR_SCALARS
) {
12988 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12989 if (_level
!= level
) {
12990 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12992 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12995 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12999 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13002 if (ndr_flags
& NDR_BUFFERS
) {
13005 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13009 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13012 return NDR_ERR_SUCCESS
;
13015 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
13018 level
= ndr_print_get_switch_value(ndr
, r
);
13019 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13022 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13026 ndr_print_bad_level(ndr
, name
, level
);
13030 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13032 uint32_t cntr_site_to_1
;
13033 if (ndr_flags
& NDR_SCALARS
) {
13034 NDR_CHECK(ndr_push_align(ndr
, 5));
13035 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13036 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13037 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13038 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13039 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13041 if (ndr_flags
& NDR_BUFFERS
) {
13042 if (r
->site_from
) {
13043 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13044 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13045 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13046 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13049 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13050 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13051 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13053 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13054 if (r
->site_to
[cntr_site_to_1
]) {
13055 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13056 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13057 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13058 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
));
13063 return NDR_ERR_SUCCESS
;
13066 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13068 uint32_t _ptr_site_from
;
13069 TALLOC_CTX
*_mem_save_site_from_0
;
13070 uint32_t _ptr_site_to
;
13071 uint32_t cntr_site_to_1
;
13072 TALLOC_CTX
*_mem_save_site_to_0
;
13073 TALLOC_CTX
*_mem_save_site_to_1
;
13074 TALLOC_CTX
*_mem_save_site_to_2
;
13075 if (ndr_flags
& NDR_SCALARS
) {
13076 NDR_CHECK(ndr_pull_align(ndr
, 5));
13077 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13078 if (_ptr_site_from
) {
13079 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13081 r
->site_from
= NULL
;
13083 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13084 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13085 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13087 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13088 if (_ptr_site_to
) {
13089 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13094 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13096 if (ndr_flags
& NDR_BUFFERS
) {
13097 if (r
->site_from
) {
13098 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13099 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13100 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13101 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13102 if (ndr_get_array_length(ndr
, &r
->site_from
) > ndr_get_array_size(ndr
, &r
->site_from
)) {
13103 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
));
13105 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t)));
13106 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t), CH_UTF16
));
13107 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13110 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13111 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13112 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13113 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, ndr_get_array_size(ndr
, &r
->site_to
));
13114 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13115 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13116 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13117 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13118 if (_ptr_site_to
) {
13119 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13121 r
->site_to
[cntr_site_to_1
] = NULL
;
13124 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13125 if (r
->site_to
[cntr_site_to_1
]) {
13126 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13127 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13128 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13129 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13130 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
])) {
13131 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
]));
13133 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t)));
13134 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
));
13135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13138 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13139 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13142 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13145 return NDR_ERR_SUCCESS
;
13148 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13150 uint32_t cntr_site_to_1
;
13151 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13153 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13155 if (r
->site_from
) {
13156 ndr_print_string(ndr
, "site_from", r
->site_from
);
13159 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13160 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13163 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13165 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13167 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13168 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13170 if (r
->site_to
[cntr_site_to_1
]) {
13171 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13180 ndr_print_uint32(ndr
, "flags", r
->flags
);
13184 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13186 if (ndr_flags
& NDR_SCALARS
) {
13187 int level
= ndr_push_get_switch_value(ndr
, r
);
13188 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13189 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13192 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13196 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13199 if (ndr_flags
& NDR_BUFFERS
) {
13200 int level
= ndr_push_get_switch_value(ndr
, r
);
13203 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13207 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13210 return NDR_ERR_SUCCESS
;
13213 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13217 level
= ndr_pull_get_switch_value(ndr
, r
);
13218 if (ndr_flags
& NDR_SCALARS
) {
13219 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13220 if (_level
!= level
) {
13221 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13223 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13226 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13230 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13233 if (ndr_flags
& NDR_BUFFERS
) {
13236 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13240 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13243 return NDR_ERR_SUCCESS
;
13246 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13249 level
= ndr_print_get_switch_value(ndr
, r
);
13250 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13253 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13257 ndr_print_bad_level(ndr
, name
, level
);
13261 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13263 if (flags
& NDR_IN
) {
13264 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13265 if (r
->in
.bind_guid
) {
13266 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13268 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13269 if (r
->in
.bind_info
) {
13270 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13273 if (flags
& NDR_OUT
) {
13274 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13275 if (r
->out
.bind_info
) {
13276 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13278 if (r
->out
.bind_handle
== NULL
) {
13279 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13281 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13282 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13284 return NDR_ERR_SUCCESS
;
13287 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13289 uint32_t _ptr_bind_guid
;
13290 uint32_t _ptr_bind_info
;
13291 TALLOC_CTX
*_mem_save_bind_guid_0
;
13292 TALLOC_CTX
*_mem_save_bind_info_0
;
13293 TALLOC_CTX
*_mem_save_bind_handle_0
;
13294 if (flags
& NDR_IN
) {
13295 ZERO_STRUCT(r
->out
);
13297 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13298 if (_ptr_bind_guid
) {
13299 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13301 r
->in
.bind_guid
= NULL
;
13303 if (r
->in
.bind_guid
) {
13304 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13305 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13306 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13307 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13309 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13310 if (_ptr_bind_info
) {
13311 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13313 r
->in
.bind_info
= NULL
;
13315 if (r
->in
.bind_info
) {
13316 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13317 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13318 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13321 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13322 ZERO_STRUCTP(r
->out
.bind_handle
);
13324 if (flags
& NDR_OUT
) {
13325 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13326 if (_ptr_bind_info
) {
13327 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13329 r
->out
.bind_info
= NULL
;
13331 if (r
->out
.bind_info
) {
13332 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13333 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13334 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13335 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13337 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13338 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13340 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13341 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13342 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13343 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13344 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13346 return NDR_ERR_SUCCESS
;
13349 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13351 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13353 if (flags
& NDR_SET_VALUES
) {
13354 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13356 if (flags
& NDR_IN
) {
13357 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
13359 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
13361 if (r
->in
.bind_guid
) {
13362 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
13365 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
13367 if (r
->in
.bind_info
) {
13368 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
13373 if (flags
& NDR_OUT
) {
13374 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
13376 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
13378 if (r
->out
.bind_info
) {
13379 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
13382 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13384 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13386 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13392 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
13394 if (flags
& NDR_IN
) {
13395 if (r
->in
.bind_handle
== NULL
) {
13396 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13398 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13400 if (flags
& NDR_OUT
) {
13401 if (r
->out
.bind_handle
== NULL
) {
13402 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13404 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13405 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13407 return NDR_ERR_SUCCESS
;
13410 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
13412 TALLOC_CTX
*_mem_save_bind_handle_0
;
13413 if (flags
& NDR_IN
) {
13414 ZERO_STRUCT(r
->out
);
13416 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13417 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13419 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13420 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13421 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13423 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13424 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
13426 if (flags
& NDR_OUT
) {
13427 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13428 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13430 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13431 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13432 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13433 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13434 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13436 return NDR_ERR_SUCCESS
;
13439 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
13441 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
13443 if (flags
& NDR_SET_VALUES
) {
13444 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13446 if (flags
& NDR_IN
) {
13447 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
13449 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13451 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13455 if (flags
& NDR_OUT
) {
13456 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
13458 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13460 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13462 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13468 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13470 if (flags
& NDR_IN
) {
13471 if (r
->in
.bind_handle
== NULL
) {
13472 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13474 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13475 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13476 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13477 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13479 if (flags
& NDR_OUT
) {
13480 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13482 return NDR_ERR_SUCCESS
;
13485 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
13487 TALLOC_CTX
*_mem_save_bind_handle_0
;
13488 if (flags
& NDR_IN
) {
13489 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13490 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13492 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13493 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13494 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13495 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13496 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13497 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13498 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13500 if (flags
& NDR_OUT
) {
13501 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13503 return NDR_ERR_SUCCESS
;
13506 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13508 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
13510 if (flags
& NDR_SET_VALUES
) {
13511 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13513 if (flags
& NDR_IN
) {
13514 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
13516 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13518 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13520 ndr_print_int32(ndr
, "level", r
->in
.level
);
13521 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13522 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", &r
->in
.req
);
13525 if (flags
& NDR_OUT
) {
13526 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
13528 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13534 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13536 if (flags
& NDR_IN
) {
13537 if (r
->in
.bind_handle
== NULL
) {
13538 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13540 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13541 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13542 if (r
->in
.req
== NULL
) {
13543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13545 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13546 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13548 if (flags
& NDR_OUT
) {
13549 if (r
->out
.level_out
== NULL
) {
13550 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13552 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13553 if (r
->out
.ctr
== NULL
) {
13554 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13556 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13557 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13558 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13560 return NDR_ERR_SUCCESS
;
13563 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
13565 TALLOC_CTX
*_mem_save_bind_handle_0
;
13566 TALLOC_CTX
*_mem_save_req_0
;
13567 TALLOC_CTX
*_mem_save_level_out_0
;
13568 TALLOC_CTX
*_mem_save_ctr_0
;
13569 if (flags
& NDR_IN
) {
13570 ZERO_STRUCT(r
->out
);
13572 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13573 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13575 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13576 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13577 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13578 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13579 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13580 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13581 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13583 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13584 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13585 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13586 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13587 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13588 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13589 ZERO_STRUCTP(r
->out
.level_out
);
13590 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13591 ZERO_STRUCTP(r
->out
.ctr
);
13593 if (flags
& NDR_OUT
) {
13594 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13595 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13597 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13598 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13599 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13600 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13601 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13602 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13604 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13605 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13606 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13607 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13608 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13609 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13611 return NDR_ERR_SUCCESS
;
13614 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13616 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
13618 if (flags
& NDR_SET_VALUES
) {
13619 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13621 if (flags
& NDR_IN
) {
13622 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
13624 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13626 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13628 ndr_print_int32(ndr
, "level", r
->in
.level
);
13629 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13631 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13632 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
13636 if (flags
& NDR_OUT
) {
13637 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
13639 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13641 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13643 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13645 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13646 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
13648 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13654 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13656 if (flags
& NDR_IN
) {
13657 if (r
->in
.bind_handle
== NULL
) {
13658 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13660 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13661 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13662 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13663 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13665 if (flags
& NDR_OUT
) {
13666 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13668 return NDR_ERR_SUCCESS
;
13671 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
13673 TALLOC_CTX
*_mem_save_bind_handle_0
;
13674 if (flags
& NDR_IN
) {
13675 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13676 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13678 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13679 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13680 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13681 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13682 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13683 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13686 if (flags
& NDR_OUT
) {
13687 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13689 return NDR_ERR_SUCCESS
;
13692 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13694 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
13696 if (flags
& NDR_SET_VALUES
) {
13697 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13699 if (flags
& NDR_IN
) {
13700 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
13702 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13704 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13706 ndr_print_int32(ndr
, "level", r
->in
.level
);
13707 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13708 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
13711 if (flags
& NDR_OUT
) {
13712 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
13714 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13720 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
13722 if (flags
& NDR_IN
) {
13723 if (r
->in
.bind_handle
== NULL
) {
13724 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13726 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13727 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13728 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13729 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13731 if (flags
& NDR_OUT
) {
13732 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13734 return NDR_ERR_SUCCESS
;
13737 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
13739 TALLOC_CTX
*_mem_save_bind_handle_0
;
13740 if (flags
& NDR_IN
) {
13741 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13742 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13744 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13745 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13746 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13748 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13749 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13752 if (flags
& NDR_OUT
) {
13753 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13755 return NDR_ERR_SUCCESS
;
13758 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
13760 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
13762 if (flags
& NDR_SET_VALUES
) {
13763 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13765 if (flags
& NDR_IN
) {
13766 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
13768 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13770 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13772 ndr_print_int32(ndr
, "level", r
->in
.level
);
13773 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13774 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
13777 if (flags
& NDR_OUT
) {
13778 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
13780 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13786 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
13788 if (flags
& NDR_IN
) {
13789 if (r
->in
.bind_handle
== NULL
) {
13790 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13792 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13793 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13794 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13795 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13797 if (flags
& NDR_OUT
) {
13798 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13800 return NDR_ERR_SUCCESS
;
13803 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
13805 TALLOC_CTX
*_mem_save_bind_handle_0
;
13806 if (flags
& NDR_IN
) {
13807 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13808 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13810 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13811 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13812 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13813 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13814 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13815 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13818 if (flags
& NDR_OUT
) {
13819 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13821 return NDR_ERR_SUCCESS
;
13824 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
13826 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
13828 if (flags
& NDR_SET_VALUES
) {
13829 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13831 if (flags
& NDR_IN
) {
13832 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
13834 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13836 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13838 ndr_print_int32(ndr
, "level", r
->in
.level
);
13839 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13840 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
13843 if (flags
& NDR_OUT
) {
13844 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
13846 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13852 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
13854 if (flags
& NDR_IN
) {
13855 if (r
->in
.bind_handle
== NULL
) {
13856 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13858 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13859 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13860 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13861 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13863 if (flags
& NDR_OUT
) {
13864 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13866 return NDR_ERR_SUCCESS
;
13869 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
13871 TALLOC_CTX
*_mem_save_bind_handle_0
;
13872 if (flags
& NDR_IN
) {
13873 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13874 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13876 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13877 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13878 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13879 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13880 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13881 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13882 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13884 if (flags
& NDR_OUT
) {
13885 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13887 return NDR_ERR_SUCCESS
;
13890 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
13892 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
13894 if (flags
& NDR_SET_VALUES
) {
13895 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13897 if (flags
& NDR_IN
) {
13898 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
13900 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13902 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13904 ndr_print_int32(ndr
, "level", r
->in
.level
);
13905 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13906 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
13909 if (flags
& NDR_OUT
) {
13910 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
13912 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13918 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13920 if (flags
& NDR_IN
) {
13922 if (flags
& NDR_OUT
) {
13923 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13925 return NDR_ERR_SUCCESS
;
13928 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
13930 if (flags
& NDR_IN
) {
13932 if (flags
& NDR_OUT
) {
13933 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13935 return NDR_ERR_SUCCESS
;
13938 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13940 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
13942 if (flags
& NDR_SET_VALUES
) {
13943 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13945 if (flags
& NDR_IN
) {
13946 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
13950 if (flags
& NDR_OUT
) {
13951 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
13953 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13959 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
13961 if (flags
& NDR_IN
) {
13962 if (r
->in
.bind_handle
== NULL
) {
13963 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13965 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13966 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13967 if (r
->in
.req
== NULL
) {
13968 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13970 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13971 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13973 if (flags
& NDR_OUT
) {
13974 if (r
->out
.level_out
== NULL
) {
13975 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13977 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13978 if (r
->out
.ctr
== NULL
) {
13979 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13981 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13982 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13983 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13985 return NDR_ERR_SUCCESS
;
13988 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
13990 TALLOC_CTX
*_mem_save_bind_handle_0
;
13991 TALLOC_CTX
*_mem_save_req_0
;
13992 TALLOC_CTX
*_mem_save_level_out_0
;
13993 TALLOC_CTX
*_mem_save_ctr_0
;
13994 if (flags
& NDR_IN
) {
13995 ZERO_STRUCT(r
->out
);
13997 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13998 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14000 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14001 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14002 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14003 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14004 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14005 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14006 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14008 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14009 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14010 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14011 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14012 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14013 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14014 ZERO_STRUCTP(r
->out
.level_out
);
14015 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14016 ZERO_STRUCTP(r
->out
.ctr
);
14018 if (flags
& NDR_OUT
) {
14019 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14020 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14022 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14023 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14024 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14025 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14026 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14027 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14029 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14030 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14031 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14032 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14034 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14036 return NDR_ERR_SUCCESS
;
14039 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14041 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14043 if (flags
& NDR_SET_VALUES
) {
14044 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14046 if (flags
& NDR_IN
) {
14047 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14049 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14051 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14053 ndr_print_int32(ndr
, "level", r
->in
.level
);
14054 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14056 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14057 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14061 if (flags
& NDR_OUT
) {
14062 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14064 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14066 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14068 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14070 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14071 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14073 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14079 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14081 if (flags
& NDR_IN
) {
14083 if (flags
& NDR_OUT
) {
14084 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14086 return NDR_ERR_SUCCESS
;
14089 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14091 if (flags
& NDR_IN
) {
14093 if (flags
& NDR_OUT
) {
14094 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14096 return NDR_ERR_SUCCESS
;
14099 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14101 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14103 if (flags
& NDR_SET_VALUES
) {
14104 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14106 if (flags
& NDR_IN
) {
14107 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14111 if (flags
& NDR_OUT
) {
14112 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14114 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14120 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14122 if (flags
& NDR_IN
) {
14123 if (r
->in
.bind_handle
== NULL
) {
14124 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14126 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14127 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14128 if (r
->in
.req
== NULL
) {
14129 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14131 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14132 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14134 if (flags
& NDR_OUT
) {
14135 if (r
->out
.level_out
== NULL
) {
14136 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14138 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14139 if (r
->out
.info
== NULL
) {
14140 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14142 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14143 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14144 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14146 return NDR_ERR_SUCCESS
;
14149 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14151 TALLOC_CTX
*_mem_save_bind_handle_0
;
14152 TALLOC_CTX
*_mem_save_req_0
;
14153 TALLOC_CTX
*_mem_save_level_out_0
;
14154 TALLOC_CTX
*_mem_save_info_0
;
14155 if (flags
& NDR_IN
) {
14156 ZERO_STRUCT(r
->out
);
14158 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14159 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14161 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14162 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14163 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14164 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14165 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14166 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14167 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14169 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14170 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14171 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14172 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14173 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14174 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14175 ZERO_STRUCTP(r
->out
.level_out
);
14176 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14177 ZERO_STRUCTP(r
->out
.info
);
14179 if (flags
& NDR_OUT
) {
14180 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14181 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14183 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14184 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14185 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14186 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14187 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14188 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14190 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14191 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14192 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14193 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14194 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14195 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14197 return NDR_ERR_SUCCESS
;
14200 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14202 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14204 if (flags
& NDR_SET_VALUES
) {
14205 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14207 if (flags
& NDR_IN
) {
14208 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14210 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14212 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14214 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14215 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14217 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14218 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14222 if (flags
& NDR_OUT
) {
14223 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14225 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14227 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14229 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14231 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14232 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14234 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14240 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14242 if (flags
& NDR_IN
) {
14243 if (r
->in
.bind_handle
== NULL
) {
14244 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14246 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14247 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14248 if (r
->in
.req
== NULL
) {
14249 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14251 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14252 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14254 if (flags
& NDR_OUT
) {
14255 if (r
->out
.level_out
== NULL
) {
14256 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14258 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14259 if (r
->out
.ctr
== NULL
) {
14260 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14262 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14263 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14264 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14266 return NDR_ERR_SUCCESS
;
14269 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14271 TALLOC_CTX
*_mem_save_bind_handle_0
;
14272 TALLOC_CTX
*_mem_save_req_0
;
14273 TALLOC_CTX
*_mem_save_level_out_0
;
14274 TALLOC_CTX
*_mem_save_ctr_0
;
14275 if (flags
& NDR_IN
) {
14276 ZERO_STRUCT(r
->out
);
14278 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14279 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14281 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14282 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14283 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14285 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14286 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14287 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14289 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14290 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14291 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14292 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14293 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14294 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14295 ZERO_STRUCTP(r
->out
.level_out
);
14296 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14297 ZERO_STRUCTP(r
->out
.ctr
);
14299 if (flags
& NDR_OUT
) {
14300 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14301 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14303 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14304 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14305 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14306 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14307 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14308 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14310 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14311 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14312 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14313 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14314 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14315 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14317 return NDR_ERR_SUCCESS
;
14320 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14322 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14324 if (flags
& NDR_SET_VALUES
) {
14325 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14327 if (flags
& NDR_IN
) {
14328 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14330 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14332 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14334 ndr_print_int32(ndr
, "level", r
->in
.level
);
14335 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14337 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14338 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14342 if (flags
& NDR_OUT
) {
14343 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
14345 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14347 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14349 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14351 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14352 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
14354 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14360 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14362 if (flags
& NDR_IN
) {
14363 if (r
->in
.bind_handle
== NULL
) {
14364 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14366 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14367 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14368 if (r
->in
.req
== NULL
) {
14369 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14371 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14372 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14374 if (flags
& NDR_OUT
) {
14375 if (r
->out
.level_out
== NULL
) {
14376 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14378 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14379 if (r
->out
.res
== NULL
) {
14380 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14382 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14383 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14384 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14386 return NDR_ERR_SUCCESS
;
14389 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
14391 TALLOC_CTX
*_mem_save_bind_handle_0
;
14392 TALLOC_CTX
*_mem_save_req_0
;
14393 TALLOC_CTX
*_mem_save_level_out_0
;
14394 TALLOC_CTX
*_mem_save_res_0
;
14395 if (flags
& NDR_IN
) {
14396 ZERO_STRUCT(r
->out
);
14398 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14399 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14401 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14402 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14403 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14404 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14405 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14406 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14407 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14409 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14410 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14411 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14412 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14414 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14415 ZERO_STRUCTP(r
->out
.level_out
);
14416 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14417 ZERO_STRUCTP(r
->out
.res
);
14419 if (flags
& NDR_OUT
) {
14420 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14421 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14423 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14424 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14425 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14426 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14427 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14428 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14430 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14431 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14432 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14433 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14434 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14435 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14437 return NDR_ERR_SUCCESS
;
14440 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14442 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
14444 if (flags
& NDR_SET_VALUES
) {
14445 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14447 if (flags
& NDR_IN
) {
14448 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
14450 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14452 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14454 ndr_print_int32(ndr
, "level", r
->in
.level
);
14455 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14457 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14458 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
14462 if (flags
& NDR_OUT
) {
14463 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
14465 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14467 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14469 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14471 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14472 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
14474 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14480 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14482 if (flags
& NDR_IN
) {
14483 if (r
->in
.bind_handle
== NULL
) {
14484 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14486 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14487 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14488 if (r
->in
.req
== NULL
) {
14489 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14491 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14492 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14494 if (flags
& NDR_OUT
) {
14495 if (r
->out
.level_out
== NULL
) {
14496 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14498 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14499 if (r
->out
.res
== NULL
) {
14500 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14502 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14503 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14504 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14506 return NDR_ERR_SUCCESS
;
14509 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
14511 TALLOC_CTX
*_mem_save_bind_handle_0
;
14512 TALLOC_CTX
*_mem_save_req_0
;
14513 TALLOC_CTX
*_mem_save_level_out_0
;
14514 TALLOC_CTX
*_mem_save_res_0
;
14515 if (flags
& NDR_IN
) {
14516 ZERO_STRUCT(r
->out
);
14518 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14519 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14521 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14522 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14523 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14524 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14525 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14526 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14527 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14529 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14530 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14531 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14532 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14533 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14534 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14535 ZERO_STRUCTP(r
->out
.level_out
);
14536 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14537 ZERO_STRUCTP(r
->out
.res
);
14539 if (flags
& NDR_OUT
) {
14540 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14541 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14543 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14544 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14545 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14546 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14547 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14548 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14550 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14551 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14552 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14553 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14554 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14555 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14557 return NDR_ERR_SUCCESS
;
14560 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14562 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
14564 if (flags
& NDR_SET_VALUES
) {
14565 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14567 if (flags
& NDR_IN
) {
14568 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
14570 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14572 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14574 ndr_print_int32(ndr
, "level", r
->in
.level
);
14575 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14577 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14578 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
14582 if (flags
& NDR_OUT
) {
14583 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
14585 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14587 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14589 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14591 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14592 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
14594 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14600 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14602 if (flags
& NDR_IN
) {
14604 if (flags
& NDR_OUT
) {
14605 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14607 return NDR_ERR_SUCCESS
;
14610 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14612 if (flags
& NDR_IN
) {
14614 if (flags
& NDR_OUT
) {
14615 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14617 return NDR_ERR_SUCCESS
;
14620 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14622 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
14624 if (flags
& NDR_SET_VALUES
) {
14625 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14627 if (flags
& NDR_IN
) {
14628 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14632 if (flags
& NDR_OUT
) {
14633 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14635 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14641 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14643 if (flags
& NDR_IN
) {
14644 if (r
->in
.bind_handle
== NULL
) {
14645 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14647 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14648 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14649 if (r
->in
.req
== NULL
) {
14650 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14652 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14653 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14655 if (flags
& NDR_OUT
) {
14656 if (r
->out
.level_out
== NULL
) {
14657 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14659 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14660 if (r
->out
.ctr
== NULL
) {
14661 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14663 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14664 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14665 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14667 return NDR_ERR_SUCCESS
;
14670 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
14672 TALLOC_CTX
*_mem_save_bind_handle_0
;
14673 TALLOC_CTX
*_mem_save_req_0
;
14674 TALLOC_CTX
*_mem_save_level_out_0
;
14675 TALLOC_CTX
*_mem_save_ctr_0
;
14676 if (flags
& NDR_IN
) {
14677 ZERO_STRUCT(r
->out
);
14679 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14680 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14682 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14683 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14684 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14686 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14687 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14688 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14690 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14691 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14692 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14693 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14694 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14695 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14696 ZERO_STRUCTP(r
->out
.level_out
);
14697 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14698 ZERO_STRUCTP(r
->out
.ctr
);
14700 if (flags
& NDR_OUT
) {
14701 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14702 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14704 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14705 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14706 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14707 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14708 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14709 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14711 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14712 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14713 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14714 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14715 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14716 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14718 return NDR_ERR_SUCCESS
;
14721 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14723 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
14725 if (flags
& NDR_SET_VALUES
) {
14726 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14728 if (flags
& NDR_IN
) {
14729 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
14731 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14733 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14735 ndr_print_int32(ndr
, "level", r
->in
.level
);
14736 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14738 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14739 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
14743 if (flags
& NDR_OUT
) {
14744 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
14746 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14748 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14750 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14752 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14753 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
14755 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14761 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14763 if (flags
& NDR_IN
) {
14764 if (r
->in
.bind_handle
== NULL
) {
14765 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14767 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14768 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14769 if (r
->in
.req
== NULL
) {
14770 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14772 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14773 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14775 if (flags
& NDR_OUT
) {
14776 if (r
->out
.level_out
== NULL
) {
14777 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14779 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14780 if (r
->out
.ctr
== NULL
) {
14781 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14783 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14784 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14785 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14787 return NDR_ERR_SUCCESS
;
14790 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
14792 TALLOC_CTX
*_mem_save_bind_handle_0
;
14793 TALLOC_CTX
*_mem_save_req_0
;
14794 TALLOC_CTX
*_mem_save_level_out_0
;
14795 TALLOC_CTX
*_mem_save_ctr_0
;
14796 if (flags
& NDR_IN
) {
14797 ZERO_STRUCT(r
->out
);
14799 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14800 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14802 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14803 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14804 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14805 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14806 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14807 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14808 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14810 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14811 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14812 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14813 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14814 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14815 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14816 ZERO_STRUCTP(r
->out
.level_out
);
14817 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14818 ZERO_STRUCTP(r
->out
.ctr
);
14820 if (flags
& NDR_OUT
) {
14821 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14822 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14824 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14825 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14826 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14827 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14828 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14829 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14831 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14832 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14833 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14834 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14836 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14838 return NDR_ERR_SUCCESS
;
14841 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14843 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
14845 if (flags
& NDR_SET_VALUES
) {
14846 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14848 if (flags
& NDR_IN
) {
14849 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
14851 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14853 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14855 ndr_print_int32(ndr
, "level", r
->in
.level
);
14856 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14858 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14859 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
14863 if (flags
& NDR_OUT
) {
14864 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
14866 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14868 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14870 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14872 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14873 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
14875 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14881 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
14883 if (flags
& NDR_IN
) {
14884 if (r
->in
.bind_handle
== NULL
) {
14885 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14887 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14888 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14889 if (r
->in
.req
== NULL
) {
14890 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14892 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14893 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
14895 if (flags
& NDR_OUT
) {
14896 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14898 return NDR_ERR_SUCCESS
;
14901 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
14903 TALLOC_CTX
*_mem_save_bind_handle_0
;
14904 TALLOC_CTX
*_mem_save_req_0
;
14905 if (flags
& NDR_IN
) {
14906 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14907 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14909 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14910 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14911 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14912 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14913 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14914 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14915 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14917 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14918 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14919 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14920 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
14921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14923 if (flags
& NDR_OUT
) {
14924 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14926 return NDR_ERR_SUCCESS
;
14929 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
14931 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
14933 if (flags
& NDR_SET_VALUES
) {
14934 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14936 if (flags
& NDR_IN
) {
14937 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
14939 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14941 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14943 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14944 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14946 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14947 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
14951 if (flags
& NDR_OUT
) {
14952 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
14954 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14960 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
14962 if (flags
& NDR_IN
) {
14963 if (r
->in
.bind_handle
== NULL
) {
14964 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14966 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14967 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
14968 if (r
->in
.req
== NULL
) {
14969 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14971 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14972 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14974 if (flags
& NDR_OUT
) {
14975 if (r
->out
.info_type
== NULL
) {
14976 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14978 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
14979 if (r
->out
.info
== NULL
) {
14980 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14982 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
14983 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14984 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14986 return NDR_ERR_SUCCESS
;
14989 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
14991 TALLOC_CTX
*_mem_save_bind_handle_0
;
14992 TALLOC_CTX
*_mem_save_req_0
;
14993 TALLOC_CTX
*_mem_save_info_type_0
;
14994 TALLOC_CTX
*_mem_save_info_0
;
14995 if (flags
& NDR_IN
) {
14996 ZERO_STRUCT(r
->out
);
14998 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14999 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15001 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15002 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15003 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15004 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
15006 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15007 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15009 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15010 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15011 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15012 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15013 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15014 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15015 ZERO_STRUCTP(r
->out
.info_type
);
15016 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15017 ZERO_STRUCTP(r
->out
.info
);
15019 if (flags
& NDR_OUT
) {
15020 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15021 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15023 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15024 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15027 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15028 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15030 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15031 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15032 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15033 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15034 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15035 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15037 return NDR_ERR_SUCCESS
;
15040 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15042 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15044 if (flags
& NDR_SET_VALUES
) {
15045 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15047 if (flags
& NDR_IN
) {
15048 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15050 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15052 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15054 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15055 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15057 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15058 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15062 if (flags
& NDR_OUT
) {
15063 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15065 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15067 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15069 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15071 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15072 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15074 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15080 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15082 if (flags
& NDR_IN
) {
15084 if (flags
& NDR_OUT
) {
15085 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15087 return NDR_ERR_SUCCESS
;
15090 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15092 if (flags
& NDR_IN
) {
15094 if (flags
& NDR_OUT
) {
15095 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15097 return NDR_ERR_SUCCESS
;
15100 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15102 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15104 if (flags
& NDR_SET_VALUES
) {
15105 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15107 if (flags
& NDR_IN
) {
15108 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15112 if (flags
& NDR_OUT
) {
15113 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15115 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15121 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15123 if (flags
& NDR_IN
) {
15124 if (r
->in
.bind_handle
== NULL
) {
15125 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15127 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15128 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15129 if (r
->in
.req
== NULL
) {
15130 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15132 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15133 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15135 if (flags
& NDR_OUT
) {
15136 if (r
->out
.level_out
== NULL
) {
15137 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15139 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15140 if (r
->out
.ctr
== NULL
) {
15141 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15143 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15144 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15145 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15147 return NDR_ERR_SUCCESS
;
15150 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15152 TALLOC_CTX
*_mem_save_bind_handle_0
;
15153 TALLOC_CTX
*_mem_save_req_0
;
15154 TALLOC_CTX
*_mem_save_level_out_0
;
15155 TALLOC_CTX
*_mem_save_ctr_0
;
15156 if (flags
& NDR_IN
) {
15157 ZERO_STRUCT(r
->out
);
15159 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15160 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15162 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15163 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15164 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15165 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15166 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15167 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15168 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15170 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15171 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15172 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15173 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15174 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15175 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15176 ZERO_STRUCTP(r
->out
.level_out
);
15177 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15178 ZERO_STRUCTP(r
->out
.ctr
);
15180 if (flags
& NDR_OUT
) {
15181 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15182 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15184 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15185 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15186 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15187 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15188 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15189 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15191 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15192 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15193 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15194 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15195 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15196 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15198 return NDR_ERR_SUCCESS
;
15201 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15203 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15205 if (flags
& NDR_SET_VALUES
) {
15206 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15208 if (flags
& NDR_IN
) {
15209 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15211 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15213 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15215 ndr_print_int32(ndr
, "level", r
->in
.level
);
15216 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15218 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15219 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15223 if (flags
& NDR_OUT
) {
15224 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15226 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15228 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15230 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15232 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15233 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15235 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15241 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15243 if (flags
& NDR_IN
) {
15245 if (flags
& NDR_OUT
) {
15246 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15248 return NDR_ERR_SUCCESS
;
15251 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15253 if (flags
& NDR_IN
) {
15255 if (flags
& NDR_OUT
) {
15256 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15258 return NDR_ERR_SUCCESS
;
15261 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15263 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15265 if (flags
& NDR_SET_VALUES
) {
15266 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15268 if (flags
& NDR_IN
) {
15269 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15273 if (flags
& NDR_OUT
) {
15274 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15276 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15282 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15284 if (flags
& NDR_IN
) {
15286 if (flags
& NDR_OUT
) {
15287 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15289 return NDR_ERR_SUCCESS
;
15292 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15294 if (flags
& NDR_IN
) {
15296 if (flags
& NDR_OUT
) {
15297 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15299 return NDR_ERR_SUCCESS
;
15302 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15304 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15306 if (flags
& NDR_SET_VALUES
) {
15307 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15309 if (flags
& NDR_IN
) {
15310 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15314 if (flags
& NDR_OUT
) {
15315 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15317 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15323 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15325 if (flags
& NDR_IN
) {
15326 if (r
->in
.bind_handle
== NULL
) {
15327 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15329 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15330 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15331 if (r
->in
.req
== NULL
) {
15332 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15334 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15335 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15337 if (flags
& NDR_OUT
) {
15338 if (r
->out
.level_out
== NULL
) {
15339 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15341 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15342 if (r
->out
.ctr
== NULL
) {
15343 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15345 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15346 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15347 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15349 return NDR_ERR_SUCCESS
;
15352 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
15354 TALLOC_CTX
*_mem_save_bind_handle_0
;
15355 TALLOC_CTX
*_mem_save_req_0
;
15356 TALLOC_CTX
*_mem_save_level_out_0
;
15357 TALLOC_CTX
*_mem_save_ctr_0
;
15358 if (flags
& NDR_IN
) {
15359 ZERO_STRUCT(r
->out
);
15361 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15362 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15364 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15365 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15366 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15367 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15368 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15369 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15370 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15372 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15373 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15374 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15375 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15376 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15377 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15378 ZERO_STRUCTP(r
->out
.level_out
);
15379 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15380 ZERO_STRUCTP(r
->out
.ctr
);
15382 if (flags
& NDR_OUT
) {
15383 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15384 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15386 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15387 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15388 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15390 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15391 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15393 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15394 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15395 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15396 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15397 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15398 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15400 return NDR_ERR_SUCCESS
;
15403 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15405 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
15407 if (flags
& NDR_SET_VALUES
) {
15408 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15410 if (flags
& NDR_IN
) {
15411 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
15413 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15415 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15417 ndr_print_int32(ndr
, "level", r
->in
.level
);
15418 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15420 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15421 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
15425 if (flags
& NDR_OUT
) {
15426 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
15428 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15430 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15432 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15434 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15435 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
15437 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15443 static const struct ndr_interface_call drsuapi_calls
[] = {
15446 sizeof(struct drsuapi_DsBind
),
15447 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
15448 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
15449 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
15453 "drsuapi_DsUnbind",
15454 sizeof(struct drsuapi_DsUnbind
),
15455 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
15456 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
15457 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
15461 "drsuapi_DsReplicaSync",
15462 sizeof(struct drsuapi_DsReplicaSync
),
15463 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
15464 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
15465 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
15469 "drsuapi_DsGetNCChanges",
15470 sizeof(struct drsuapi_DsGetNCChanges
),
15471 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
15472 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
15473 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
15477 "drsuapi_DsReplicaUpdateRefs",
15478 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
15479 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
15480 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
15481 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
15485 "drsuapi_DsReplicaAdd",
15486 sizeof(struct drsuapi_DsReplicaAdd
),
15487 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
15488 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
15489 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
15493 "drsuapi_DsReplicaDel",
15494 sizeof(struct drsuapi_DsReplicaDel
),
15495 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
15496 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
15497 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
15501 "drsuapi_DsReplicaMod",
15502 sizeof(struct drsuapi_DsReplicaMod
),
15503 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
15504 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
15505 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
15509 "DRSUAPI_VERIFY_NAMES",
15510 sizeof(struct DRSUAPI_VERIFY_NAMES
),
15511 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
15512 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
15513 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
15517 "drsuapi_DsGetMemberships",
15518 sizeof(struct drsuapi_DsGetMemberships
),
15519 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
15520 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
15521 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
15525 "DRSUAPI_INTER_DOMAIN_MOVE",
15526 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
15527 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
15528 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
15529 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
15533 "drsuapi_DsGetNT4ChangeLog",
15534 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
15535 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
15536 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
15537 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
15541 "drsuapi_DsCrackNames",
15542 sizeof(struct drsuapi_DsCrackNames
),
15543 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
15544 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
15545 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
15549 "drsuapi_DsWriteAccountSpn",
15550 sizeof(struct drsuapi_DsWriteAccountSpn
),
15551 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
15552 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
15553 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
15557 "drsuapi_DsRemoveDSServer",
15558 sizeof(struct drsuapi_DsRemoveDSServer
),
15559 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
15560 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
15561 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
15565 "DRSUAPI_REMOVE_DS_DOMAIN",
15566 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
15567 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
15568 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
15569 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
15573 "drsuapi_DsGetDomainControllerInfo",
15574 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
15575 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
15576 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
15577 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
15581 "drsuapi_DsAddEntry",
15582 sizeof(struct drsuapi_DsAddEntry
),
15583 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
15584 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
15585 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
15589 "drsuapi_DsExecuteKCC",
15590 sizeof(struct drsuapi_DsExecuteKCC
),
15591 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
15592 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
15593 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
15597 "drsuapi_DsReplicaGetInfo",
15598 sizeof(struct drsuapi_DsReplicaGetInfo
),
15599 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
15600 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
15601 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
15605 "DRSUAPI_ADD_SID_HISTORY",
15606 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
15607 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
15608 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
15609 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
15613 "drsuapi_DsGetMemberships2",
15614 sizeof(struct drsuapi_DsGetMemberships2
),
15615 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
15616 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
15617 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
15621 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15622 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
15623 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15624 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15625 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15629 "DRSUAPI_GET_OBJECT_EXISTENCE",
15630 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
15631 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
15632 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
15633 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
15637 "drsuapi_QuerySitesByCost",
15638 sizeof(struct drsuapi_QuerySitesByCost
),
15639 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
15640 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
15641 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
15644 { NULL
, 0, NULL
, NULL
, NULL
, false }
15647 static const char * const drsuapi_endpoint_strings
[] = {
15648 "ncacn_np:[\\pipe\\lsass]",
15649 "ncacn_np:[\\pipe\\protected_storage]",
15654 static const struct ndr_interface_string_array drsuapi_endpoints
= {
15656 .names
= drsuapi_endpoint_strings
15659 static const char * const drsuapi_authservice_strings
[] = {
15663 static const struct ndr_interface_string_array drsuapi_authservices
= {
15665 .names
= drsuapi_authservice_strings
15669 const struct ndr_interface_table ndr_table_drsuapi
= {
15672 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15673 NDR_DRSUAPI_VERSION
15675 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
15677 .calls
= drsuapi_calls
,
15678 .endpoints
= &drsuapi_endpoints
,
15679 .authservices
= &drsuapi_authservices