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_lsa.h"
9 #include "librpc/gen_ndr/ndr_samr.h"
10 #include "librpc/ndr/ndr_compression.h"
11 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DrsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
13 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
14 return NDR_ERR_SUCCESS
;
17 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DrsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
20 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
22 return NDR_ERR_SUCCESS
;
25 _PUBLIC_
void ndr_print_drsuapi_DrsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
27 ndr_print_uint32(ndr
, name
, r
);
29 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP
, r
);
30 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK
, r
);
31 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP
, r
);
40 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR
, r
);
41 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC
, r
);
42 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY
, r
);
43 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC
, r
);
44 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE
, r
);
45 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY
, r
);
46 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP
, r
);
47 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME
, r
);
48 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK
, r
);
49 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW
, r
);
50 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE
, r
);
51 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS
, r
);
52 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET
, r
);
53 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE
, r
);
54 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT
, r
);
55 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN
, r
);
56 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD
, r
);
57 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED
, r
);
58 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING
, r
);
59 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW
, r
);
60 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED
, r
);
61 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED
, r
);
62 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC
, r
);
63 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC
, r
);
64 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION
, r
);
65 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY
, r
);
66 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS
, r
);
67 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP
, r
);
71 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
73 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
74 return NDR_ERR_SUCCESS
;
77 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
80 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
82 return NDR_ERR_SUCCESS
;
85 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
87 ndr_print_uint32(ndr
, name
, r
);
89 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE
, r
);
90 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION
, r
);
91 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI
, r
);
92 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2
, r
);
93 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2
, r
);
99 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION
, r
);
100 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2
, r
);
101 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
);
102 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND
, r
);
103 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO
, r
);
104 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION
, r
);
105 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01
, r
);
106 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP
, r
);
107 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY
, r
);
108 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3
, r
);
109 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5
, r
);
110 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2
, r
);
111 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6
, r
);
112 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS
, r
);
113 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8
, r
);
114 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5
, r
);
115 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6
, r
);
116 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3
, r
);
117 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7
, r
);
118 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT
, r
);
119 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS
, r
);
120 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10
, r
);
121 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2
, r
);
122 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3
, r
);
126 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
128 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
129 return NDR_ERR_SUCCESS
;
132 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
135 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
137 return NDR_ERR_SUCCESS
;
140 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
142 ndr_print_uint32(ndr
, name
, r
);
144 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM
, r
);
145 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2
, r
);
146 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN
, r
);
150 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo24
*r
)
152 if (ndr_flags
& NDR_SCALARS
) {
153 NDR_CHECK(ndr_push_align(ndr
, 4));
154 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
155 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
156 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
157 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
159 if (ndr_flags
& NDR_BUFFERS
) {
161 return NDR_ERR_SUCCESS
;
164 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo24
*r
)
166 if (ndr_flags
& NDR_SCALARS
) {
167 NDR_CHECK(ndr_pull_align(ndr
, 4));
168 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
169 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
171 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
173 if (ndr_flags
& NDR_BUFFERS
) {
175 return NDR_ERR_SUCCESS
;
178 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo24(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo24
*r
)
180 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo24");
182 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
183 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
184 ndr_print_uint32(ndr
, "pid", r
->pid
);
188 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo28(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo28
*r
)
190 if (ndr_flags
& NDR_SCALARS
) {
191 NDR_CHECK(ndr_push_align(ndr
, 4));
192 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
193 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
194 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
195 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
196 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
198 if (ndr_flags
& NDR_BUFFERS
) {
200 return NDR_ERR_SUCCESS
;
203 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo28
*r
)
205 if (ndr_flags
& NDR_SCALARS
) {
206 NDR_CHECK(ndr_pull_align(ndr
, 4));
207 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
208 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
210 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
211 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
213 if (ndr_flags
& NDR_BUFFERS
) {
215 return NDR_ERR_SUCCESS
;
218 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo28(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo28
*r
)
220 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo28");
222 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
223 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
224 ndr_print_uint32(ndr
, "pid", r
->pid
);
225 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
229 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo48(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo48
*r
)
231 if (ndr_flags
& NDR_SCALARS
) {
232 NDR_CHECK(ndr_push_align(ndr
, 4));
233 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
234 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
235 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
236 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
237 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, r
->supported_extensions_ext
));
238 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
239 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
241 if (ndr_flags
& NDR_BUFFERS
) {
243 return NDR_ERR_SUCCESS
;
246 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo48
*r
)
248 if (ndr_flags
& NDR_SCALARS
) {
249 NDR_CHECK(ndr_pull_align(ndr
, 4));
250 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
251 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
252 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
253 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
254 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, &r
->supported_extensions_ext
));
255 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
256 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
258 if (ndr_flags
& NDR_BUFFERS
) {
260 return NDR_ERR_SUCCESS
;
263 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo48(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo48
*r
)
265 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo48");
267 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
268 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
269 ndr_print_uint32(ndr
, "pid", r
->pid
);
270 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
271 ndr_print_drsuapi_SupportedExtensionsExt(ndr
, "supported_extensions_ext", r
->supported_extensions_ext
);
272 ndr_print_GUID(ndr
, "config_dn_guid", &r
->config_dn_guid
);
276 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoFallBack
*r
)
278 if (ndr_flags
& NDR_SCALARS
) {
279 NDR_CHECK(ndr_push_align(ndr
, 4));
281 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
282 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
283 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->info
));
284 ndr
->flags
= _flags_save_DATA_BLOB
;
286 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
288 if (ndr_flags
& NDR_BUFFERS
) {
290 return NDR_ERR_SUCCESS
;
293 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoFallBack
*r
)
295 if (ndr_flags
& NDR_SCALARS
) {
296 NDR_CHECK(ndr_pull_align(ndr
, 4));
298 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
299 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
300 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->info
));
301 ndr
->flags
= _flags_save_DATA_BLOB
;
303 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
305 if (ndr_flags
& NDR_BUFFERS
) {
307 return NDR_ERR_SUCCESS
;
310 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoFallBack
*r
)
312 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoFallBack");
314 ndr_print_DATA_BLOB(ndr
, "info", r
->info
);
318 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsBindInfo
*r
)
320 if (ndr_flags
& NDR_SCALARS
) {
321 int level
= ndr_push_get_switch_value(ndr
, r
);
322 NDR_CHECK(ndr_push_union_align(ndr
, 1));
326 struct ndr_push
*_ndr_info24
;
327 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
328 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
329 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info24
, 4, -1));
335 struct ndr_push
*_ndr_info28
;
336 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
337 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
338 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info28
, 4, -1));
344 struct ndr_push
*_ndr_info48
;
345 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
346 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
347 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info48
, 4, -1));
353 struct ndr_push
*_ndr_FallBack
;
354 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
355 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
356 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
362 if (ndr_flags
& NDR_BUFFERS
) {
363 int level
= ndr_push_get_switch_value(ndr
, r
);
379 return NDR_ERR_SUCCESS
;
382 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsBindInfo
*r
)
385 level
= ndr_pull_get_switch_value(ndr
, r
);
386 if (ndr_flags
& NDR_SCALARS
) {
387 NDR_CHECK(ndr_pull_union_align(ndr
, 1));
391 struct ndr_pull
*_ndr_info24
;
392 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
393 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
394 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info24
, 4, -1));
400 struct ndr_pull
*_ndr_info28
;
401 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
402 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
403 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info28
, 4, -1));
409 struct ndr_pull
*_ndr_info48
;
410 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
411 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
412 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info48
, 4, -1));
418 struct ndr_pull
*_ndr_FallBack
;
419 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
420 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
421 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
427 if (ndr_flags
& NDR_BUFFERS
) {
443 return NDR_ERR_SUCCESS
;
446 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsBindInfo
*r
)
449 level
= ndr_print_get_switch_value(ndr
, r
);
450 ndr_print_union(ndr
, name
, level
, "drsuapi_DsBindInfo");
453 ndr_print_drsuapi_DsBindInfo24(ndr
, "info24", &r
->info24
);
457 ndr_print_drsuapi_DsBindInfo28(ndr
, "info28", &r
->info28
);
461 ndr_print_drsuapi_DsBindInfo48(ndr
, "info48", &r
->info48
);
465 ndr_print_drsuapi_DsBindInfoFallBack(ndr
, "FallBack", &r
->FallBack
);
471 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoCtr
*r
)
473 if (ndr_flags
& NDR_SCALARS
) {
474 NDR_CHECK(ndr_push_align(ndr
, 4));
475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
476 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->length
));
477 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
478 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
480 if (ndr_flags
& NDR_BUFFERS
) {
482 return NDR_ERR_SUCCESS
;
485 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoCtr
*r
)
487 if (ndr_flags
& NDR_SCALARS
) {
488 NDR_CHECK(ndr_pull_align(ndr
, 4));
489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
490 if (r
->length
< 1 || r
->length
> 10000) {
491 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
493 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->length
));
494 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
495 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
497 if (ndr_flags
& NDR_BUFFERS
) {
499 return NDR_ERR_SUCCESS
;
502 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoCtr
*r
)
504 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoCtr");
506 ndr_print_uint32(ndr
, "length", r
->length
);
507 ndr_print_set_switch_value(ndr
, &r
->info
, r
->length
);
508 ndr_print_drsuapi_DsBindInfo(ndr
, "info", &r
->info
);
512 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
514 if (ndr_flags
& NDR_SCALARS
) {
515 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->dn
) + 1));
516 NDR_CHECK(ndr_push_align(ndr
, 4));
517 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
518 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
519 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
520 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
521 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
522 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
523 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
525 if (ndr_flags
& NDR_BUFFERS
) {
526 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
528 return NDR_ERR_SUCCESS
;
531 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier
*r
)
533 if (ndr_flags
& NDR_SCALARS
) {
534 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dn
));
535 NDR_CHECK(ndr_pull_align(ndr
, 4));
536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
537 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
538 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
539 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
540 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
541 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, ndr_get_array_size(ndr
, &r
->dn
), sizeof(uint16_t), CH_UTF16
));
543 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->dn
, r
->__ndr_size_dn
+ 1));
545 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
547 if (ndr_flags
& NDR_BUFFERS
) {
548 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
550 return NDR_ERR_SUCCESS
;
553 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
555 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier");
557 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
);
558 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
);
559 ndr_print_GUID(ndr
, "guid", &r
->guid
);
560 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
561 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
562 ndr_print_string(ndr
, "dn", r
->dn
);
566 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier
*r
, struct smb_iconv_convenience
*ic
, int flags
)
568 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier
, ic
);
571 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
573 if (ndr_flags
& NDR_SCALARS
) {
574 NDR_CHECK(ndr_push_align(ndr
, 5));
575 if (r
->naming_context
== NULL
) {
576 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
578 NDR_CHECK(ndr_push_ref_ptr(ndr
));
579 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
581 uint32_t _flags_save_string
= ndr
->flags
;
582 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
583 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dns
));
584 ndr
->flags
= _flags_save_string
;
586 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
587 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
589 if (ndr_flags
& NDR_BUFFERS
) {
590 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
592 uint32_t _flags_save_string
= ndr
->flags
;
593 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
594 if (r
->source_dsa_dns
) {
595 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->source_dsa_dns
));
597 ndr
->flags
= _flags_save_string
;
600 return NDR_ERR_SUCCESS
;
603 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
605 uint32_t _ptr_naming_context
;
606 TALLOC_CTX
*_mem_save_naming_context_0
;
607 uint32_t _ptr_source_dsa_dns
;
608 TALLOC_CTX
*_mem_save_source_dsa_dns_0
;
609 if (ndr_flags
& NDR_SCALARS
) {
610 NDR_CHECK(ndr_pull_align(ndr
, 5));
611 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
612 if (_ptr_naming_context
) {
613 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
615 r
->naming_context
= NULL
;
617 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
619 uint32_t _flags_save_string
= ndr
->flags
;
620 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
621 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dns
));
622 if (_ptr_source_dsa_dns
) {
623 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dns
);
625 r
->source_dsa_dns
= NULL
;
627 ndr
->flags
= _flags_save_string
;
629 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
630 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
632 if (ndr_flags
& NDR_BUFFERS
) {
633 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
634 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
635 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
636 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
638 uint32_t _flags_save_string
= ndr
->flags
;
639 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
640 if (r
->source_dsa_dns
) {
641 _mem_save_source_dsa_dns_0
= NDR_PULL_GET_MEM_CTX(ndr
);
642 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dns
, 0);
643 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->source_dsa_dns
));
644 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dns_0
, 0);
646 ndr
->flags
= _flags_save_string
;
649 return NDR_ERR_SUCCESS
;
652 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
654 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
656 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
658 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
660 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
661 ndr_print_ptr(ndr
, "source_dsa_dns", r
->source_dsa_dns
);
663 if (r
->source_dsa_dns
) {
664 ndr_print_string(ndr
, "source_dsa_dns", r
->source_dsa_dns
);
667 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
671 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
673 if (ndr_flags
& NDR_SCALARS
) {
674 int level
= ndr_push_get_switch_value(ndr
, r
);
675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
676 NDR_CHECK(ndr_push_union_align(ndr
, 5));
679 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
683 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
686 if (ndr_flags
& NDR_BUFFERS
) {
687 int level
= ndr_push_get_switch_value(ndr
, r
);
690 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
694 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
697 return NDR_ERR_SUCCESS
;
700 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
704 level
= ndr_pull_get_switch_value(ndr
, r
);
705 if (ndr_flags
& NDR_SCALARS
) {
706 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
707 if (_level
!= level
) {
708 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
710 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
717 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
720 if (ndr_flags
& NDR_BUFFERS
) {
723 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
727 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
730 return NDR_ERR_SUCCESS
;
733 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
736 level
= ndr_print_get_switch_value(ndr
, r
);
737 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
740 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
744 ndr_print_bad_level(ndr
, name
, level
);
748 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
750 if (ndr_flags
& NDR_SCALARS
) {
751 NDR_CHECK(ndr_push_align(ndr
, 8));
752 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
753 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
754 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
755 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
757 if (ndr_flags
& NDR_BUFFERS
) {
759 return NDR_ERR_SUCCESS
;
762 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
764 if (ndr_flags
& NDR_SCALARS
) {
765 NDR_CHECK(ndr_pull_align(ndr
, 8));
766 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
767 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
768 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
769 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
771 if (ndr_flags
& NDR_BUFFERS
) {
773 return NDR_ERR_SUCCESS
;
776 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
778 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
780 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
781 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
782 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
786 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
788 if (ndr_flags
& NDR_SCALARS
) {
789 NDR_CHECK(ndr_push_align(ndr
, 8));
790 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
791 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
792 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
794 if (ndr_flags
& NDR_BUFFERS
) {
796 return NDR_ERR_SUCCESS
;
799 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
801 if (ndr_flags
& NDR_SCALARS
) {
802 NDR_CHECK(ndr_pull_align(ndr
, 8));
803 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
804 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
805 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
807 if (ndr_flags
& NDR_BUFFERS
) {
809 return NDR_ERR_SUCCESS
;
812 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
814 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
816 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
817 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
821 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
823 uint32_t cntr_cursors_0
;
824 if (ndr_flags
& NDR_SCALARS
) {
825 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
826 NDR_CHECK(ndr_push_align(ndr
, 8));
827 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
828 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
829 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
830 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
831 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
832 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
834 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
836 if (ndr_flags
& NDR_BUFFERS
) {
838 return NDR_ERR_SUCCESS
;
841 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
843 uint32_t cntr_cursors_0
;
844 TALLOC_CTX
*_mem_save_cursors_0
;
845 if (ndr_flags
& NDR_SCALARS
) {
846 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
847 NDR_CHECK(ndr_pull_align(ndr
, 8));
848 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
849 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
850 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
851 if (r
->count
> 0x100000) {
852 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
854 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
855 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
856 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
857 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
858 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
859 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
861 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
863 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
865 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
867 if (ndr_flags
& NDR_BUFFERS
) {
869 return NDR_ERR_SUCCESS
;
872 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
874 uint32_t cntr_cursors_0
;
875 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
877 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
878 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
879 ndr_print_uint32(ndr
, "count", r
->count
);
880 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
881 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
883 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
885 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
886 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
894 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
897 uint32_t _flags_save_ENUM
= ndr
->flags
;
898 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
899 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
900 ndr
->flags
= _flags_save_ENUM
;
902 return NDR_ERR_SUCCESS
;
905 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
909 uint32_t _flags_save_ENUM
= ndr
->flags
;
910 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
911 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
913 ndr
->flags
= _flags_save_ENUM
;
915 return NDR_ERR_SUCCESS
;
918 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
920 const char *val
= NULL
;
923 uint32_t _flags_save_ENUM
= ndr
->flags
;
924 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
926 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
927 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
928 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
929 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
930 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
931 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
932 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
933 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
935 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
936 ndr
->flags
= _flags_save_ENUM
;
940 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError 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_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*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_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError 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_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
973 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
974 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
975 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
976 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
977 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
978 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
979 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
980 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
981 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
982 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
983 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
984 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
985 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
986 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
987 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
988 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
990 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
991 ndr
->flags
= _flags_save_ENUM
;
995 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
997 if (ndr_flags
& NDR_SCALARS
) {
998 NDR_CHECK(ndr_push_align(ndr
, 8));
999 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1000 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1001 if (r
->naming_context
== NULL
) {
1002 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1004 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1005 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1006 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1007 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1008 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1009 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1010 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1011 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1012 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1014 if (ndr_flags
& NDR_BUFFERS
) {
1015 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1016 if (r
->uptodateness_vector
) {
1017 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1020 return NDR_ERR_SUCCESS
;
1023 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1025 uint32_t _ptr_naming_context
;
1026 TALLOC_CTX
*_mem_save_naming_context_0
;
1027 uint32_t _ptr_uptodateness_vector
;
1028 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1029 if (ndr_flags
& NDR_SCALARS
) {
1030 NDR_CHECK(ndr_pull_align(ndr
, 8));
1031 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1032 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1033 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1034 if (_ptr_naming_context
) {
1035 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1037 r
->naming_context
= NULL
;
1039 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1040 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1041 if (_ptr_uptodateness_vector
) {
1042 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1044 r
->uptodateness_vector
= NULL
;
1046 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1047 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1048 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1049 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1050 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1051 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1053 if (ndr_flags
& NDR_BUFFERS
) {
1054 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1055 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1056 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1057 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1058 if (r
->uptodateness_vector
) {
1059 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1060 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1061 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1062 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1065 return NDR_ERR_SUCCESS
;
1068 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1070 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1072 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1073 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1074 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1076 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1078 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1079 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1081 if (r
->uptodateness_vector
) {
1082 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1085 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1086 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1087 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1088 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1089 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1093 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOID(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOID
*r
)
1095 if (ndr_flags
& NDR_SCALARS
) {
1096 NDR_CHECK(ndr_push_align(ndr
, 5));
1097 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
1098 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary_oid
));
1099 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1101 if (ndr_flags
& NDR_BUFFERS
) {
1102 if (r
->binary_oid
) {
1103 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
1104 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1107 return NDR_ERR_SUCCESS
;
1110 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOID
*r
)
1112 uint32_t _ptr_binary_oid
;
1113 TALLOC_CTX
*_mem_save_binary_oid_0
;
1114 if (ndr_flags
& NDR_SCALARS
) {
1115 NDR_CHECK(ndr_pull_align(ndr
, 5));
1116 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
1117 if (r
->length
> 10000) {
1118 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1120 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary_oid
));
1121 if (_ptr_binary_oid
) {
1122 NDR_PULL_ALLOC(ndr
, r
->binary_oid
);
1124 r
->binary_oid
= NULL
;
1126 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1128 if (ndr_flags
& NDR_BUFFERS
) {
1129 if (r
->binary_oid
) {
1130 _mem_save_binary_oid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1131 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary_oid
, 0);
1132 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->binary_oid
));
1133 NDR_PULL_ALLOC_N(ndr
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
));
1134 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
)));
1135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_oid_0
, 0);
1137 if (r
->binary_oid
) {
1138 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->binary_oid
, r
->length
));
1141 return NDR_ERR_SUCCESS
;
1144 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1146 if (ndr_flags
& NDR_SCALARS
) {
1147 NDR_CHECK(ndr_push_align(ndr
, 5));
1148 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1149 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1150 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1152 if (ndr_flags
& NDR_BUFFERS
) {
1153 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1155 return NDR_ERR_SUCCESS
;
1158 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1160 if (ndr_flags
& NDR_SCALARS
) {
1161 NDR_CHECK(ndr_pull_align(ndr
, 5));
1162 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1163 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1164 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1166 if (ndr_flags
& NDR_BUFFERS
) {
1167 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1169 return NDR_ERR_SUCCESS
;
1172 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1174 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1176 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1177 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1181 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1183 uint32_t cntr_mappings_1
;
1184 if (ndr_flags
& NDR_SCALARS
) {
1185 NDR_CHECK(ndr_push_align(ndr
, 5));
1186 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1187 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1188 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1190 if (ndr_flags
& NDR_BUFFERS
) {
1192 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_mappings
));
1193 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1194 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1196 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1197 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1201 return NDR_ERR_SUCCESS
;
1204 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1206 uint32_t _ptr_mappings
;
1207 uint32_t cntr_mappings_1
;
1208 TALLOC_CTX
*_mem_save_mappings_0
;
1209 TALLOC_CTX
*_mem_save_mappings_1
;
1210 if (ndr_flags
& NDR_SCALARS
) {
1211 NDR_CHECK(ndr_pull_align(ndr
, 5));
1212 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1213 if (r
->num_mappings
> 0x100000) {
1214 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1216 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1217 if (_ptr_mappings
) {
1218 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1222 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1224 if (ndr_flags
& NDR_BUFFERS
) {
1226 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1227 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1228 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1229 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, ndr_get_array_size(ndr
, &r
->mappings
));
1230 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1231 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1232 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1235 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1236 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1238 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1239 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1242 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1245 return NDR_ERR_SUCCESS
;
1248 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1250 uint32_t cntr_mappings_1
;
1251 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1253 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1254 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1257 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1259 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1261 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1262 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1272 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1275 uint32_t _flags_save_ENUM
= ndr
->flags
;
1276 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1277 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1278 ndr
->flags
= _flags_save_ENUM
;
1280 return NDR_ERR_SUCCESS
;
1283 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1287 uint32_t _flags_save_ENUM
= ndr
->flags
;
1288 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1289 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1291 ndr
->flags
= _flags_save_ENUM
;
1293 return NDR_ERR_SUCCESS
;
1296 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1298 const char *val
= NULL
;
1301 uint32_t _flags_save_ENUM
= ndr
->flags
;
1302 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1304 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1305 case DRSUAPI_ATTRIBUTE_cn
: val
= "DRSUAPI_ATTRIBUTE_cn"; break;
1306 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1307 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1308 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1309 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1310 case DRSUAPI_ATTRIBUTE_possSuperiors
: val
= "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1311 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1312 case DRSUAPI_ATTRIBUTE_subClassOf
: val
= "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1313 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1314 case DRSUAPI_ATTRIBUTE_mustContain
: val
= "DRSUAPI_ATTRIBUTE_mustContain"; break;
1315 case DRSUAPI_ATTRIBUTE_mayContain
: val
= "DRSUAPI_ATTRIBUTE_mayContain"; break;
1316 case DRSUAPI_ATTRIBUTE_rDNAttId
: val
= "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1317 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1318 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1319 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1320 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1321 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1322 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1323 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1324 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1325 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1326 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1327 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1328 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1329 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1330 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1331 case DRSUAPI_ATTRIBUTE_auxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1332 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1333 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1334 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1335 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1336 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1337 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1338 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1339 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1340 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1341 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1342 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1343 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1344 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1345 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1346 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1347 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1348 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1349 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1350 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1351 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1352 case DRSUAPI_ATTRIBUTE_systemPossSuperiors
: val
= "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1353 case DRSUAPI_ATTRIBUTE_systemMayContain
: val
= "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1354 case DRSUAPI_ATTRIBUTE_systemMustContain
: val
= "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1355 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1356 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1357 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1358 case DRSUAPI_ATTRIBUTE_options
: val
= "DRSUAPI_ATTRIBUTE_options"; break;
1359 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1360 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1361 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1362 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1363 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1364 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1365 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1366 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1367 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1368 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1369 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1370 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1371 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1372 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1373 case DRSUAPI_ATTRIBUTE_transportAddressAttribute
: val
= "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1374 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1375 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1376 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1377 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1378 case DRSUAPI_ATTRIBUTE_NONE
: val
= "DRSUAPI_ATTRIBUTE_NONE"; break;
1380 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1381 ndr
->flags
= _flags_save_ENUM
;
1385 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1387 uint32_t cntr_attids_0
;
1388 if (ndr_flags
& NDR_SCALARS
) {
1389 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attids
));
1390 NDR_CHECK(ndr_push_align(ndr
, 4));
1391 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1392 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1393 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1394 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1395 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1397 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1399 if (ndr_flags
& NDR_BUFFERS
) {
1401 return NDR_ERR_SUCCESS
;
1404 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1406 uint32_t cntr_attids_0
;
1407 TALLOC_CTX
*_mem_save_attids_0
;
1408 if (ndr_flags
& NDR_SCALARS
) {
1409 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1410 NDR_CHECK(ndr_pull_align(ndr
, 4));
1411 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1412 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1413 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1414 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1415 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1417 NDR_PULL_ALLOC_N(ndr
, r
->attids
, ndr_get_array_size(ndr
, &r
->attids
));
1418 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1419 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1420 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1421 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1423 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1425 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1427 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1429 if (ndr_flags
& NDR_BUFFERS
) {
1431 return NDR_ERR_SUCCESS
;
1434 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1436 uint32_t cntr_attids_0
;
1437 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1439 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1440 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1441 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1442 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1444 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1446 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1447 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1455 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1457 if (ndr_flags
& NDR_SCALARS
) {
1458 NDR_CHECK(ndr_push_align(ndr
, 8));
1459 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1460 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1461 if (r
->naming_context
== NULL
) {
1462 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1464 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1465 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1466 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1467 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1468 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1469 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1470 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1471 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1472 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1473 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1474 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1475 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1477 if (ndr_flags
& NDR_BUFFERS
) {
1478 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1479 if (r
->uptodateness_vector
) {
1480 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1482 if (r
->partial_attribute_set
) {
1483 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1485 if (r
->partial_attribute_set_ex
) {
1486 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1488 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1490 return NDR_ERR_SUCCESS
;
1493 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1495 uint32_t _ptr_naming_context
;
1496 TALLOC_CTX
*_mem_save_naming_context_0
;
1497 uint32_t _ptr_uptodateness_vector
;
1498 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1499 uint32_t _ptr_partial_attribute_set
;
1500 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1501 uint32_t _ptr_partial_attribute_set_ex
;
1502 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1503 if (ndr_flags
& NDR_SCALARS
) {
1504 NDR_CHECK(ndr_pull_align(ndr
, 8));
1505 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1506 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1507 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1508 if (_ptr_naming_context
) {
1509 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1511 r
->naming_context
= NULL
;
1513 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1514 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1515 if (_ptr_uptodateness_vector
) {
1516 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1518 r
->uptodateness_vector
= NULL
;
1520 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1521 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1522 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1523 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1524 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1525 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1526 if (_ptr_partial_attribute_set
) {
1527 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1529 r
->partial_attribute_set
= NULL
;
1531 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1532 if (_ptr_partial_attribute_set_ex
) {
1533 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1535 r
->partial_attribute_set_ex
= NULL
;
1537 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1538 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1540 if (ndr_flags
& NDR_BUFFERS
) {
1541 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1542 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1543 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1545 if (r
->uptodateness_vector
) {
1546 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1547 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1548 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1549 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1551 if (r
->partial_attribute_set
) {
1552 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1553 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1554 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1555 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1557 if (r
->partial_attribute_set_ex
) {
1558 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1559 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1560 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1561 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1563 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1565 return NDR_ERR_SUCCESS
;
1568 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1570 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1572 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1573 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1574 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1576 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1578 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1579 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1581 if (r
->uptodateness_vector
) {
1582 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1585 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1586 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1587 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1588 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1589 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1590 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1592 if (r
->partial_attribute_set
) {
1593 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1596 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1598 if (r
->partial_attribute_set_ex
) {
1599 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1602 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1606 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1608 if (ndr_flags
& NDR_SCALARS
) {
1609 NDR_CHECK(ndr_push_align(ndr
, 8));
1610 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1611 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1612 if (r
->naming_context
== NULL
) {
1613 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1615 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1616 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1617 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1618 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1619 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1620 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1621 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1622 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1623 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1624 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1625 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1626 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_flags
));
1627 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1629 if (ndr_flags
& NDR_BUFFERS
) {
1630 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1631 if (r
->uptodateness_vector
) {
1632 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1634 if (r
->partial_attribute_set
) {
1635 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1637 if (r
->partial_attribute_set_ex
) {
1638 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1640 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1642 return NDR_ERR_SUCCESS
;
1645 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest10
*r
)
1647 uint32_t _ptr_naming_context
;
1648 TALLOC_CTX
*_mem_save_naming_context_0
;
1649 uint32_t _ptr_uptodateness_vector
;
1650 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1651 uint32_t _ptr_partial_attribute_set
;
1652 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1653 uint32_t _ptr_partial_attribute_set_ex
;
1654 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1655 if (ndr_flags
& NDR_SCALARS
) {
1656 NDR_CHECK(ndr_pull_align(ndr
, 8));
1657 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1658 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1659 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1660 if (_ptr_naming_context
) {
1661 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1663 r
->naming_context
= NULL
;
1665 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1666 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1667 if (_ptr_uptodateness_vector
) {
1668 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1670 r
->uptodateness_vector
= NULL
;
1672 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1673 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1674 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1675 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1676 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1677 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1678 if (_ptr_partial_attribute_set
) {
1679 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1681 r
->partial_attribute_set
= NULL
;
1683 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1684 if (_ptr_partial_attribute_set_ex
) {
1685 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1687 r
->partial_attribute_set_ex
= NULL
;
1689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1690 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_flags
));
1691 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1693 if (ndr_flags
& NDR_BUFFERS
) {
1694 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1695 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1696 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1697 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1698 if (r
->uptodateness_vector
) {
1699 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1700 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1701 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1702 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1704 if (r
->partial_attribute_set
) {
1705 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1706 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1707 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1710 if (r
->partial_attribute_set_ex
) {
1711 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1712 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1713 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1718 return NDR_ERR_SUCCESS
;
1721 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1723 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest10");
1725 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1726 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1727 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1729 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1731 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1732 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1734 if (r
->uptodateness_vector
) {
1735 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1738 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1739 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1740 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1741 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1742 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1743 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1745 if (r
->partial_attribute_set
) {
1746 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1749 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1751 if (r
->partial_attribute_set_ex
) {
1752 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1755 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1756 ndr_print_uint32(ndr
, "more_flags", r
->more_flags
);
1760 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1762 if (ndr_flags
& NDR_SCALARS
) {
1763 int level
= ndr_push_get_switch_value(ndr
, r
);
1764 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
1765 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1768 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1772 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1776 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1780 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1783 if (ndr_flags
& NDR_BUFFERS
) {
1784 int level
= ndr_push_get_switch_value(ndr
, r
);
1787 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1791 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1795 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1799 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1802 return NDR_ERR_SUCCESS
;
1805 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1809 level
= ndr_pull_get_switch_value(ndr
, r
);
1810 if (ndr_flags
& NDR_SCALARS
) {
1811 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
1812 if (_level
!= level
) {
1813 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1815 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1818 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1822 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1826 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1830 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1833 if (ndr_flags
& NDR_BUFFERS
) {
1836 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1840 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1844 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1848 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1851 return NDR_ERR_SUCCESS
;
1854 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1857 level
= ndr_print_get_switch_value(ndr
, r
);
1858 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1861 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1865 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1869 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr
, "req10", &r
->req10
);
1873 ndr_print_bad_level(ndr
, name
, level
);
1877 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1879 if (ndr_flags
& NDR_SCALARS
) {
1880 NDR_CHECK(ndr_push_align(ndr
, 8));
1881 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1882 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1883 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1884 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1886 if (ndr_flags
& NDR_BUFFERS
) {
1888 return NDR_ERR_SUCCESS
;
1891 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1893 if (ndr_flags
& NDR_SCALARS
) {
1894 NDR_CHECK(ndr_pull_align(ndr
, 8));
1895 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1896 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1897 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1898 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1900 if (ndr_flags
& NDR_BUFFERS
) {
1902 return NDR_ERR_SUCCESS
;
1905 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1907 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1909 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1910 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1911 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1915 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1917 uint32_t cntr_cursors_0
;
1918 if (ndr_flags
& NDR_SCALARS
) {
1919 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1920 NDR_CHECK(ndr_push_align(ndr
, 8));
1921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1922 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1923 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1924 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1925 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1926 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1928 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1930 if (ndr_flags
& NDR_BUFFERS
) {
1932 return NDR_ERR_SUCCESS
;
1935 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1937 uint32_t cntr_cursors_0
;
1938 TALLOC_CTX
*_mem_save_cursors_0
;
1939 if (ndr_flags
& NDR_SCALARS
) {
1940 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
1941 NDR_CHECK(ndr_pull_align(ndr
, 8));
1942 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1943 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1944 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1945 if (r
->count
> 0x100000) {
1946 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1948 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
1949 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
1950 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1951 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
1952 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1955 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
1957 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
1959 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1961 if (ndr_flags
& NDR_BUFFERS
) {
1963 return NDR_ERR_SUCCESS
;
1966 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1968 uint32_t cntr_cursors_0
;
1969 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
1971 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
1972 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1973 ndr_print_uint32(ndr
, "count", r
->count
);
1974 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1975 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
1977 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
1979 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
1980 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
1988 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
1990 if (ndr_flags
& NDR_SCALARS
) {
1991 NDR_CHECK(ndr_push_align(ndr
, 5));
1992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
1993 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
1994 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1996 if (ndr_flags
& NDR_BUFFERS
) {
1998 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
2001 return NDR_ERR_SUCCESS
;
2004 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
2007 TALLOC_CTX
*_mem_save_blob_0
;
2008 if (ndr_flags
& NDR_SCALARS
) {
2009 NDR_CHECK(ndr_pull_align(ndr
, 5));
2010 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2011 if (r
->__ndr_size
> 10485760) {
2012 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2014 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
2016 NDR_PULL_ALLOC(ndr
, r
->blob
);
2020 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2022 if (ndr_flags
& NDR_BUFFERS
) {
2024 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2025 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
2026 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
2027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
2030 return NDR_ERR_SUCCESS
;
2033 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
2035 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
2037 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
2038 ndr_print_ptr(ndr
, "blob", r
->blob
);
2041 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
2047 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
2049 uint32_t cntr_values_1
;
2050 if (ndr_flags
& NDR_SCALARS
) {
2051 NDR_CHECK(ndr_push_align(ndr
, 5));
2052 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
2053 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
2054 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2056 if (ndr_flags
& NDR_BUFFERS
) {
2058 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_values
));
2059 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2060 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2062 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2063 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2067 return NDR_ERR_SUCCESS
;
2070 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
2072 uint32_t _ptr_values
;
2073 uint32_t cntr_values_1
;
2074 TALLOC_CTX
*_mem_save_values_0
;
2075 TALLOC_CTX
*_mem_save_values_1
;
2076 if (ndr_flags
& NDR_SCALARS
) {
2077 NDR_CHECK(ndr_pull_align(ndr
, 5));
2078 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
2079 if (r
->num_values
> 10485760) {
2080 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2082 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
2084 NDR_PULL_ALLOC(ndr
, r
->values
);
2088 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2090 if (ndr_flags
& NDR_BUFFERS
) {
2092 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2093 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2094 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
2095 NDR_PULL_ALLOC_N(ndr
, r
->values
, ndr_get_array_size(ndr
, &r
->values
));
2096 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2097 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2098 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2099 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2101 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2102 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2104 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
2105 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
2108 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
2111 return NDR_ERR_SUCCESS
;
2114 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
2116 uint32_t cntr_values_1
;
2117 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
2119 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
2120 ndr_print_ptr(ndr
, "values", r
->values
);
2123 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
2125 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
2127 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
2128 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
2138 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2140 if (ndr_flags
& NDR_SCALARS
) {
2141 NDR_CHECK(ndr_push_align(ndr
, 4));
2142 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2143 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2144 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2145 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2146 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2147 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2148 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2150 if (ndr_flags
& NDR_BUFFERS
) {
2151 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2153 return NDR_ERR_SUCCESS
;
2156 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2158 if (ndr_flags
& NDR_SCALARS
) {
2159 NDR_CHECK(ndr_pull_align(ndr
, 4));
2160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2161 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2162 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2163 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2164 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2165 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2166 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2168 if (ndr_flags
& NDR_BUFFERS
) {
2169 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2171 return NDR_ERR_SUCCESS
;
2174 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2176 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
2178 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
);
2179 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
);
2180 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2181 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2182 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2183 ndr_print_string(ndr
, "dn", r
->dn
);
2187 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2189 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
2192 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2194 if (ndr_flags
& NDR_SCALARS
) {
2195 NDR_CHECK(ndr_push_align(ndr
, 4));
2196 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2197 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2198 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2199 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2200 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2201 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2202 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
2204 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2205 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2206 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
2207 ndr
->flags
= _flags_save_DATA_BLOB
;
2209 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2211 if (ndr_flags
& NDR_BUFFERS
) {
2212 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2214 return NDR_ERR_SUCCESS
;
2217 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2219 if (ndr_flags
& NDR_SCALARS
) {
2220 NDR_CHECK(ndr_pull_align(ndr
, 4));
2221 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2222 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2223 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2224 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2225 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2226 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2227 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
2229 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2230 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2231 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
2232 ndr
->flags
= _flags_save_DATA_BLOB
;
2234 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2236 if (ndr_flags
& NDR_BUFFERS
) {
2237 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2239 return NDR_ERR_SUCCESS
;
2242 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2244 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2246 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
);
2247 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
);
2248 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2249 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2250 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2251 ndr_print_string(ndr
, "dn", r
->dn
);
2252 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2253 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2257 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2259 if (ndr_flags
& NDR_SCALARS
) {
2260 NDR_CHECK(ndr_push_align(ndr
, 5));
2261 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2262 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2263 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2265 if (ndr_flags
& NDR_BUFFERS
) {
2266 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2268 return NDR_ERR_SUCCESS
;
2271 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2273 if (ndr_flags
& NDR_SCALARS
) {
2274 NDR_CHECK(ndr_pull_align(ndr
, 5));
2275 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2276 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2277 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2279 if (ndr_flags
& NDR_BUFFERS
) {
2280 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2282 return NDR_ERR_SUCCESS
;
2285 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2287 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2289 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2290 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2294 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2296 uint32_t cntr_attributes_1
;
2297 if (ndr_flags
& NDR_SCALARS
) {
2298 NDR_CHECK(ndr_push_align(ndr
, 5));
2299 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2300 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2301 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2303 if (ndr_flags
& NDR_BUFFERS
) {
2304 if (r
->attributes
) {
2305 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2306 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2307 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2309 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2310 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2314 return NDR_ERR_SUCCESS
;
2317 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2319 uint32_t _ptr_attributes
;
2320 uint32_t cntr_attributes_1
;
2321 TALLOC_CTX
*_mem_save_attributes_0
;
2322 TALLOC_CTX
*_mem_save_attributes_1
;
2323 if (ndr_flags
& NDR_SCALARS
) {
2324 NDR_CHECK(ndr_pull_align(ndr
, 5));
2325 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2326 if (r
->num_attributes
> 1048576) {
2327 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2329 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2330 if (_ptr_attributes
) {
2331 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2333 r
->attributes
= NULL
;
2335 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2337 if (ndr_flags
& NDR_BUFFERS
) {
2338 if (r
->attributes
) {
2339 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2340 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2341 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2342 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, ndr_get_array_size(ndr
, &r
->attributes
));
2343 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2344 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2345 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2348 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2349 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2351 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2352 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2354 if (r
->attributes
) {
2355 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2358 return NDR_ERR_SUCCESS
;
2361 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2363 uint32_t cntr_attributes_1
;
2364 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2366 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2367 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2369 if (r
->attributes
) {
2370 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2372 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2374 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2375 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2385 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2387 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2388 return NDR_ERR_SUCCESS
;
2391 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2394 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2396 return NDR_ERR_SUCCESS
;
2399 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2401 ndr_print_uint32(ndr
, name
, r
);
2403 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2404 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2405 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2409 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2411 if (ndr_flags
& NDR_SCALARS
) {
2412 NDR_CHECK(ndr_push_align(ndr
, 5));
2413 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2415 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2416 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2418 if (ndr_flags
& NDR_BUFFERS
) {
2419 if (r
->identifier
) {
2420 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2422 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2424 return NDR_ERR_SUCCESS
;
2427 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2429 uint32_t _ptr_identifier
;
2430 TALLOC_CTX
*_mem_save_identifier_0
;
2431 if (ndr_flags
& NDR_SCALARS
) {
2432 NDR_CHECK(ndr_pull_align(ndr
, 5));
2433 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2434 if (_ptr_identifier
) {
2435 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2437 r
->identifier
= NULL
;
2439 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2440 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2441 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2443 if (ndr_flags
& NDR_BUFFERS
) {
2444 if (r
->identifier
) {
2445 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2446 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2448 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2452 return NDR_ERR_SUCCESS
;
2455 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2457 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2459 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2461 if (r
->identifier
) {
2462 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2465 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2466 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2470 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2472 if (ndr_flags
& NDR_SCALARS
) {
2473 NDR_CHECK(ndr_push_align(ndr
, 8));
2474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2475 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2476 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2477 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2478 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2480 if (ndr_flags
& NDR_BUFFERS
) {
2482 return NDR_ERR_SUCCESS
;
2485 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2487 if (ndr_flags
& NDR_SCALARS
) {
2488 NDR_CHECK(ndr_pull_align(ndr
, 8));
2489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2490 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2491 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2492 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2493 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2495 if (ndr_flags
& NDR_BUFFERS
) {
2497 return NDR_ERR_SUCCESS
;
2500 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2502 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2504 ndr_print_uint32(ndr
, "version", r
->version
);
2505 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2506 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2507 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2511 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2513 uint32_t cntr_meta_data_0
;
2514 if (ndr_flags
& NDR_SCALARS
) {
2515 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2516 NDR_CHECK(ndr_push_align(ndr
, 8));
2517 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2518 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2519 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2521 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2523 if (ndr_flags
& NDR_BUFFERS
) {
2525 return NDR_ERR_SUCCESS
;
2528 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2530 uint32_t cntr_meta_data_0
;
2531 TALLOC_CTX
*_mem_save_meta_data_0
;
2532 if (ndr_flags
& NDR_SCALARS
) {
2533 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2534 NDR_CHECK(ndr_pull_align(ndr
, 8));
2535 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2536 if (r
->count
> 1048576) {
2537 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2539 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, ndr_get_array_size(ndr
, &r
->meta_data
));
2540 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2541 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2542 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2543 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2545 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2547 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2549 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2551 if (ndr_flags
& NDR_BUFFERS
) {
2553 return NDR_ERR_SUCCESS
;
2556 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2558 uint32_t cntr_meta_data_0
;
2559 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2561 ndr_print_uint32(ndr
, "count", r
->count
);
2562 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2564 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2566 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2567 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2575 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2577 if (ndr_flags
& NDR_SCALARS
) {
2578 NDR_CHECK(ndr_push_align(ndr
, 5));
2579 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2580 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2581 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2583 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2584 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2586 if (ndr_flags
& NDR_BUFFERS
) {
2587 if (r
->next_object
) {
2588 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2590 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2591 if (r
->parent_object_guid
) {
2592 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2594 if (r
->meta_data_ctr
) {
2595 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2598 return NDR_ERR_SUCCESS
;
2601 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2603 uint32_t _ptr_next_object
;
2604 TALLOC_CTX
*_mem_save_next_object_0
;
2605 uint32_t _ptr_parent_object_guid
;
2606 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2607 uint32_t _ptr_meta_data_ctr
;
2608 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2609 if (ndr_flags
& NDR_SCALARS
) {
2610 NDR_CHECK(ndr_pull_align(ndr
, 5));
2611 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2612 if (_ptr_next_object
) {
2613 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2615 r
->next_object
= NULL
;
2617 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2618 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2619 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2620 if (_ptr_parent_object_guid
) {
2621 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2623 r
->parent_object_guid
= NULL
;
2625 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2626 if (_ptr_meta_data_ctr
) {
2627 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2629 r
->meta_data_ctr
= NULL
;
2631 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2633 if (ndr_flags
& NDR_BUFFERS
) {
2634 if (r
->next_object
) {
2635 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2636 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2637 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2638 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2640 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2641 if (r
->parent_object_guid
) {
2642 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2643 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2644 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2645 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2647 if (r
->meta_data_ctr
) {
2648 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2649 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2650 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2651 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2654 return NDR_ERR_SUCCESS
;
2657 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2659 if (ndr_flags
& NDR_SCALARS
) {
2660 NDR_CHECK(ndr_push_align(ndr
, 8));
2661 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2662 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2663 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2665 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2666 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2667 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2668 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2669 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2670 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2671 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2672 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2673 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2675 if (ndr_flags
& NDR_BUFFERS
) {
2676 if (r
->naming_context
) {
2677 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2679 if (r
->uptodateness_vector
) {
2680 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2682 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2683 if (r
->first_object
) {
2684 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2687 return NDR_ERR_SUCCESS
;
2690 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2692 uint32_t _ptr_naming_context
;
2693 TALLOC_CTX
*_mem_save_naming_context_0
;
2694 uint32_t _ptr_uptodateness_vector
;
2695 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2696 uint32_t _ptr_first_object
;
2697 TALLOC_CTX
*_mem_save_first_object_0
;
2698 if (ndr_flags
& NDR_SCALARS
) {
2699 NDR_CHECK(ndr_pull_align(ndr
, 8));
2700 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2701 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2702 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2703 if (_ptr_naming_context
) {
2704 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2706 r
->naming_context
= NULL
;
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2709 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2710 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2711 if (_ptr_uptodateness_vector
) {
2712 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2714 r
->uptodateness_vector
= NULL
;
2716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2717 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2718 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2720 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2721 if (_ptr_first_object
) {
2722 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2724 r
->first_object
= NULL
;
2726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2727 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2729 if (ndr_flags
& NDR_BUFFERS
) {
2730 if (r
->naming_context
) {
2731 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2732 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2734 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2736 if (r
->uptodateness_vector
) {
2737 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2738 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2739 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2740 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2742 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2743 if (r
->first_object
) {
2744 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2745 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2746 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2750 return NDR_ERR_SUCCESS
;
2753 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2755 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2757 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2758 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2759 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2761 if (r
->naming_context
) {
2762 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2765 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2766 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2767 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2769 if (r
->uptodateness_vector
) {
2770 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2773 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2774 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2775 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2776 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
);
2777 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2779 if (r
->first_object
) {
2780 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2783 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2787 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2789 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2792 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2794 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2795 return NDR_ERR_SUCCESS
;
2798 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2801 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2803 return NDR_ERR_SUCCESS
;
2806 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2808 ndr_print_uint32(ndr
, name
, r
);
2810 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2814 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2816 if (ndr_flags
& NDR_SCALARS
) {
2817 NDR_CHECK(ndr_push_align(ndr
, 8));
2818 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2819 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2820 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2821 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2822 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2823 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2824 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2826 if (ndr_flags
& NDR_BUFFERS
) {
2827 if (r
->identifier
) {
2828 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2830 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2832 return NDR_ERR_SUCCESS
;
2835 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2837 uint32_t _ptr_identifier
;
2838 TALLOC_CTX
*_mem_save_identifier_0
;
2839 if (ndr_flags
& NDR_SCALARS
) {
2840 NDR_CHECK(ndr_pull_align(ndr
, 8));
2841 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2842 if (_ptr_identifier
) {
2843 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2845 r
->identifier
= NULL
;
2847 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2848 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2849 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2850 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2851 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2852 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2854 if (ndr_flags
& NDR_BUFFERS
) {
2855 if (r
->identifier
) {
2856 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2857 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2859 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2861 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2863 return NDR_ERR_SUCCESS
;
2866 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2868 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2870 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2872 if (r
->identifier
) {
2873 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2876 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2877 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2878 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2879 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2880 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2884 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2886 uint32_t cntr_linked_attributes_1
;
2887 if (ndr_flags
& NDR_SCALARS
) {
2888 NDR_CHECK(ndr_push_align(ndr
, 8));
2889 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2890 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2891 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2892 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2893 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2894 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2895 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2896 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2897 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2898 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2899 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2900 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2902 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2903 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2904 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2905 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2906 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2908 if (ndr_flags
& NDR_BUFFERS
) {
2909 if (r
->naming_context
) {
2910 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2912 if (r
->uptodateness_vector
) {
2913 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2915 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2916 if (r
->first_object
) {
2917 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2919 if (r
->linked_attributes
) {
2920 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2921 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2922 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2924 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2925 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2929 return NDR_ERR_SUCCESS
;
2932 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
2934 uint32_t _ptr_naming_context
;
2935 TALLOC_CTX
*_mem_save_naming_context_0
;
2936 uint32_t _ptr_uptodateness_vector
;
2937 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2938 uint32_t _ptr_first_object
;
2939 TALLOC_CTX
*_mem_save_first_object_0
;
2940 uint32_t _ptr_linked_attributes
;
2941 uint32_t cntr_linked_attributes_1
;
2942 TALLOC_CTX
*_mem_save_linked_attributes_0
;
2943 TALLOC_CTX
*_mem_save_linked_attributes_1
;
2944 if (ndr_flags
& NDR_SCALARS
) {
2945 NDR_CHECK(ndr_pull_align(ndr
, 8));
2946 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2947 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2948 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2949 if (_ptr_naming_context
) {
2950 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2952 r
->naming_context
= NULL
;
2954 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2955 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2956 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2957 if (_ptr_uptodateness_vector
) {
2958 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2960 r
->uptodateness_vector
= NULL
;
2962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2963 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2964 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2965 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2966 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2967 if (_ptr_first_object
) {
2968 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2970 r
->first_object
= NULL
;
2972 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2973 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
2974 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
2975 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
2976 if (r
->linked_attributes_count
> 1048576) {
2977 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2979 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
2980 if (_ptr_linked_attributes
) {
2981 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
2983 r
->linked_attributes
= NULL
;
2985 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
2986 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2988 if (ndr_flags
& NDR_BUFFERS
) {
2989 if (r
->naming_context
) {
2990 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2991 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2992 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2993 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2995 if (r
->uptodateness_vector
) {
2996 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2997 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3001 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3002 if (r
->first_object
) {
3003 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3004 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3006 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3008 if (r
->linked_attributes
) {
3009 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3010 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3011 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3012 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, ndr_get_array_size(ndr
, &r
->linked_attributes
));
3013 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3014 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3015 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3016 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3018 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3019 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3021 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3024 if (r
->linked_attributes
) {
3025 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3028 return NDR_ERR_SUCCESS
;
3031 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3033 uint32_t cntr_linked_attributes_1
;
3034 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3036 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3037 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3038 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3040 if (r
->naming_context
) {
3041 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3044 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3045 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3046 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3048 if (r
->uptodateness_vector
) {
3049 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3052 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3053 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3054 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3055 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
);
3056 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3058 if (r
->first_object
) {
3059 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3062 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3063 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3064 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3065 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3066 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3068 if (r
->linked_attributes
) {
3069 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3071 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3073 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3074 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3081 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3085 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3087 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3090 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3092 if (ndr_flags
& NDR_SCALARS
) {
3093 NDR_CHECK(ndr_push_align(ndr
, 1));
3095 struct ndr_push
*_ndr_ctr1
;
3096 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3097 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3098 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3100 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3102 if (ndr_flags
& NDR_BUFFERS
) {
3104 return NDR_ERR_SUCCESS
;
3107 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3109 if (ndr_flags
& NDR_SCALARS
) {
3110 NDR_CHECK(ndr_pull_align(ndr
, 1));
3112 struct ndr_pull
*_ndr_ctr1
;
3113 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3114 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3115 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3117 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3119 if (ndr_flags
& NDR_BUFFERS
) {
3121 return NDR_ERR_SUCCESS
;
3124 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3126 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3128 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3132 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3134 if (ndr_flags
& NDR_SCALARS
) {
3135 NDR_CHECK(ndr_push_align(ndr
, 1));
3137 struct ndr_push
*_ndr_ctr6
;
3138 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3139 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3140 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3142 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3144 if (ndr_flags
& NDR_BUFFERS
) {
3146 return NDR_ERR_SUCCESS
;
3149 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3151 if (ndr_flags
& NDR_SCALARS
) {
3152 NDR_CHECK(ndr_pull_align(ndr
, 1));
3154 struct ndr_pull
*_ndr_ctr6
;
3155 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3156 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3157 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3159 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3161 if (ndr_flags
& NDR_BUFFERS
) {
3163 return NDR_ERR_SUCCESS
;
3166 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3168 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3170 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3174 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3177 TALLOC_CTX
*_mem_save_ts_0
;
3178 if (ndr_flags
& NDR_SCALARS
) {
3179 NDR_CHECK(ndr_pull_align(ndr
, 5));
3180 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3181 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3182 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3184 NDR_PULL_ALLOC(ndr
, r
->ts
);
3188 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3190 if (ndr_flags
& NDR_BUFFERS
) {
3192 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3193 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3195 struct ndr_pull
*_ndr_ts
;
3196 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3198 struct ndr_pull
*_ndr_ts_compressed
;
3199 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3200 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3201 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3203 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3205 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3208 return NDR_ERR_SUCCESS
;
3211 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3213 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3215 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3216 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3217 ndr_print_ptr(ndr
, "ts", r
->ts
);
3220 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3226 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3229 TALLOC_CTX
*_mem_save_ts_0
;
3230 if (ndr_flags
& NDR_SCALARS
) {
3231 NDR_CHECK(ndr_pull_align(ndr
, 5));
3232 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3233 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3234 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3236 NDR_PULL_ALLOC(ndr
, r
->ts
);
3240 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3242 if (ndr_flags
& NDR_BUFFERS
) {
3244 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3245 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3247 struct ndr_pull
*_ndr_ts
;
3248 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3250 struct ndr_pull
*_ndr_ts_compressed
;
3251 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3252 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3253 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3255 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3260 return NDR_ERR_SUCCESS
;
3263 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3265 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3267 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3268 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3269 ndr_print_ptr(ndr
, "ts", r
->ts
);
3272 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3278 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3281 TALLOC_CTX
*_mem_save_ts_0
;
3282 if (ndr_flags
& NDR_SCALARS
) {
3283 NDR_CHECK(ndr_pull_align(ndr
, 5));
3284 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3285 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3286 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3288 NDR_PULL_ALLOC(ndr
, r
->ts
);
3292 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3294 if (ndr_flags
& NDR_BUFFERS
) {
3296 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3297 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3299 struct ndr_pull
*_ndr_ts
;
3300 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3302 struct ndr_pull
*_ndr_ts_compressed
;
3303 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3304 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3305 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3307 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3309 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3312 return NDR_ERR_SUCCESS
;
3315 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3317 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3319 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3320 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3321 ndr_print_ptr(ndr
, "ts", r
->ts
);
3324 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3330 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3333 TALLOC_CTX
*_mem_save_ts_0
;
3334 if (ndr_flags
& NDR_SCALARS
) {
3335 NDR_CHECK(ndr_pull_align(ndr
, 5));
3336 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3337 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3338 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3340 NDR_PULL_ALLOC(ndr
, r
->ts
);
3344 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3346 if (ndr_flags
& NDR_BUFFERS
) {
3348 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3349 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3351 struct ndr_pull
*_ndr_ts
;
3352 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3354 struct ndr_pull
*_ndr_ts_compressed
;
3355 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3356 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3357 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3359 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3361 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3364 return NDR_ERR_SUCCESS
;
3367 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3369 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3371 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3372 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3373 ndr_print_ptr(ndr
, "ts", r
->ts
);
3376 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3382 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3384 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3385 return NDR_ERR_SUCCESS
;
3388 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3391 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3393 return NDR_ERR_SUCCESS
;
3396 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3398 const char *val
= NULL
;
3401 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3402 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3404 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3407 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3410 uint32_t _flags_save_UNION
= ndr
->flags
;
3411 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3412 if (ndr_flags
& NDR_SCALARS
) {
3413 int level
= ndr_push_get_switch_value(ndr
, r
);
3414 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3416 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3417 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3420 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3421 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3424 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3425 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3428 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3429 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3433 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3436 if (ndr_flags
& NDR_BUFFERS
) {
3437 int level
= ndr_push_get_switch_value(ndr
, r
);
3439 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3440 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3443 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3444 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3447 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3448 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3451 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3452 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3456 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3459 ndr
->flags
= _flags_save_UNION
;
3461 return NDR_ERR_SUCCESS
;
3464 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3468 uint32_t _flags_save_UNION
= ndr
->flags
;
3469 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3470 level
= ndr_pull_get_switch_value(ndr
, r
);
3471 if (ndr_flags
& NDR_SCALARS
) {
3472 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3474 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3475 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3478 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3479 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3482 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3483 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3486 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3487 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3491 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3494 if (ndr_flags
& NDR_BUFFERS
) {
3496 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3497 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3500 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3501 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3504 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3505 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3508 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3509 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3513 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3516 ndr
->flags
= _flags_save_UNION
;
3518 return NDR_ERR_SUCCESS
;
3521 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3525 uint32_t _flags_save_UNION
= ndr
->flags
;
3526 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3527 level
= ndr_print_get_switch_value(ndr
, r
);
3528 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3530 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3531 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3534 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3535 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3538 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3539 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3542 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3543 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3547 ndr_print_bad_level(ndr
, name
, level
);
3549 ndr
->flags
= _flags_save_UNION
;
3553 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3555 if (ndr_flags
& NDR_SCALARS
) {
3556 NDR_CHECK(ndr_push_align(ndr
, 5));
3557 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3558 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3560 if (ndr_flags
& NDR_BUFFERS
) {
3561 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3563 return NDR_ERR_SUCCESS
;
3566 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3568 if (ndr_flags
& NDR_SCALARS
) {
3569 NDR_CHECK(ndr_pull_align(ndr
, 5));
3570 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3571 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3573 if (ndr_flags
& NDR_BUFFERS
) {
3574 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3576 return NDR_ERR_SUCCESS
;
3579 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3581 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3583 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3587 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3589 if (ndr_flags
& NDR_SCALARS
) {
3590 NDR_CHECK(ndr_push_align(ndr
, 5));
3591 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
3592 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3593 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3594 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3595 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3597 if (ndr_flags
& NDR_BUFFERS
) {
3598 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3600 return NDR_ERR_SUCCESS
;
3603 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3605 if (ndr_flags
& NDR_SCALARS
) {
3606 NDR_CHECK(ndr_pull_align(ndr
, 5));
3607 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
3609 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3611 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3612 if (r
->type
< 2 || r
->type
> 3) {
3613 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3615 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3616 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3617 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3619 if (ndr_flags
& NDR_BUFFERS
) {
3620 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3622 return NDR_ERR_SUCCESS
;
3625 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3627 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3629 ndr_print_uint32(ndr
, "level", r
->level
);
3630 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3631 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3632 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3636 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3638 if (ndr_flags
& NDR_SCALARS
) {
3639 int level
= ndr_push_get_switch_value(ndr
, r
);
3640 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
3641 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3644 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3648 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3652 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3656 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3660 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3663 if (ndr_flags
& NDR_BUFFERS
) {
3664 int level
= ndr_push_get_switch_value(ndr
, r
);
3667 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3671 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3675 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3679 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3683 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3686 return NDR_ERR_SUCCESS
;
3689 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3693 level
= ndr_pull_get_switch_value(ndr
, r
);
3694 if (ndr_flags
& NDR_SCALARS
) {
3695 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
3696 if (_level
!= level
) {
3697 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3699 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3702 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3706 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3710 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3714 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3718 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3721 if (ndr_flags
& NDR_BUFFERS
) {
3724 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3728 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3732 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3736 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3740 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3743 return NDR_ERR_SUCCESS
;
3746 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3749 level
= ndr_print_get_switch_value(ndr
, r
);
3750 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3753 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3757 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3761 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3765 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3769 ndr_print_bad_level(ndr
, name
, level
);
3773 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3775 if (ndr_flags
& NDR_SCALARS
) {
3776 NDR_CHECK(ndr_push_align(ndr
, 5));
3777 if (r
->naming_context
== NULL
) {
3778 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3780 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3781 if (r
->dest_dsa_dns_name
== NULL
) {
3782 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3784 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3785 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3786 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3787 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3789 if (ndr_flags
& NDR_BUFFERS
) {
3790 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3791 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3792 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3793 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3794 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
));
3796 return NDR_ERR_SUCCESS
;
3799 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3801 uint32_t _ptr_naming_context
;
3802 TALLOC_CTX
*_mem_save_naming_context_0
;
3803 uint32_t _ptr_dest_dsa_dns_name
;
3804 if (ndr_flags
& NDR_SCALARS
) {
3805 NDR_CHECK(ndr_pull_align(ndr
, 5));
3806 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3807 if (_ptr_naming_context
) {
3808 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3810 r
->naming_context
= NULL
;
3812 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3813 if (_ptr_dest_dsa_dns_name
) {
3814 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3816 r
->dest_dsa_dns_name
= NULL
;
3818 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3819 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3820 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3822 if (ndr_flags
& NDR_BUFFERS
) {
3823 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3824 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3825 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3827 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3828 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3829 if (ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
) > ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
)) {
3830 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
));
3832 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t)));
3833 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
));
3835 return NDR_ERR_SUCCESS
;
3838 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3840 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3842 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3844 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3846 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3848 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3850 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3851 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
3855 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3857 if (ndr_flags
& NDR_SCALARS
) {
3858 int level
= ndr_push_get_switch_value(ndr
, r
);
3859 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
3860 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3863 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3867 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3870 if (ndr_flags
& NDR_BUFFERS
) {
3871 int level
= ndr_push_get_switch_value(ndr
, r
);
3874 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3878 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3881 return NDR_ERR_SUCCESS
;
3884 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3888 level
= ndr_pull_get_switch_value(ndr
, r
);
3889 if (ndr_flags
& NDR_SCALARS
) {
3890 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
3891 if (_level
!= level
) {
3892 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3894 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3897 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3901 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3904 if (ndr_flags
& NDR_BUFFERS
) {
3907 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3911 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3914 return NDR_ERR_SUCCESS
;
3917 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3920 level
= ndr_print_get_switch_value(ndr
, r
);
3921 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
3924 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
3928 ndr_print_bad_level(ndr
, name
, level
);
3932 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
3934 if (ndr_flags
& NDR_SCALARS
) {
3935 NDR_CHECK(ndr_push_align(ndr
, 5));
3936 if (r
->naming_context
== NULL
) {
3937 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3939 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3940 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
3941 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
3942 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3943 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3945 if (ndr_flags
& NDR_BUFFERS
) {
3946 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3947 if (r
->source_dsa_address
) {
3948 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3949 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3950 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3951 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
));
3954 return NDR_ERR_SUCCESS
;
3957 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
3959 uint32_t _ptr_naming_context
;
3960 TALLOC_CTX
*_mem_save_naming_context_0
;
3961 uint32_t _ptr_source_dsa_address
;
3962 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
3963 if (ndr_flags
& NDR_SCALARS
) {
3964 NDR_CHECK(ndr_pull_align(ndr
, 5));
3965 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3966 if (_ptr_naming_context
) {
3967 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3969 r
->naming_context
= NULL
;
3971 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
3972 if (_ptr_source_dsa_address
) {
3973 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
3975 r
->source_dsa_address
= NULL
;
3977 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
3978 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3979 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3981 if (ndr_flags
& NDR_BUFFERS
) {
3982 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3983 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3984 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3985 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3986 if (r
->source_dsa_address
) {
3987 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3988 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
3989 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
3990 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
3991 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
3992 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
));
3994 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
3995 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
));
3996 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
3999 return NDR_ERR_SUCCESS
;
4002 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4004 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4006 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4008 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4010 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4012 if (r
->source_dsa_address
) {
4013 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4016 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4017 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4021 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4023 if (ndr_flags
& NDR_SCALARS
) {
4024 NDR_CHECK(ndr_push_align(ndr
, 5));
4025 if (r
->naming_context
== NULL
) {
4026 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4028 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4029 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4030 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4031 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4032 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4033 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4034 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4036 if (ndr_flags
& NDR_BUFFERS
) {
4037 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4038 if (r
->source_dsa_dn
) {
4039 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4041 if (r
->transport_dn
) {
4042 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4044 if (r
->source_dsa_address
) {
4045 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4046 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4047 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4048 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
));
4051 return NDR_ERR_SUCCESS
;
4054 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4056 uint32_t _ptr_naming_context
;
4057 TALLOC_CTX
*_mem_save_naming_context_0
;
4058 uint32_t _ptr_source_dsa_dn
;
4059 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4060 uint32_t _ptr_transport_dn
;
4061 TALLOC_CTX
*_mem_save_transport_dn_0
;
4062 uint32_t _ptr_source_dsa_address
;
4063 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4064 if (ndr_flags
& NDR_SCALARS
) {
4065 NDR_CHECK(ndr_pull_align(ndr
, 5));
4066 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4067 if (_ptr_naming_context
) {
4068 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4070 r
->naming_context
= NULL
;
4072 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4073 if (_ptr_source_dsa_dn
) {
4074 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4076 r
->source_dsa_dn
= NULL
;
4078 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4079 if (_ptr_transport_dn
) {
4080 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4082 r
->transport_dn
= NULL
;
4084 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4085 if (_ptr_source_dsa_address
) {
4086 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4088 r
->source_dsa_address
= NULL
;
4090 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4091 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4092 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4094 if (ndr_flags
& NDR_BUFFERS
) {
4095 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4096 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4097 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4098 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4099 if (r
->source_dsa_dn
) {
4100 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4101 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4102 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4105 if (r
->transport_dn
) {
4106 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4107 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4108 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4109 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4111 if (r
->source_dsa_address
) {
4112 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4113 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4115 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4116 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4117 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->source_dsa_address
), ndr_get_array_length(ndr
, &r
->source_dsa_address
));
4119 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4120 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->source_dsa_address
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t), CH_UTF16
));
4121 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4124 return NDR_ERR_SUCCESS
;
4127 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4129 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4131 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4133 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4135 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4137 if (r
->source_dsa_dn
) {
4138 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4141 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4143 if (r
->transport_dn
) {
4144 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4147 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4149 if (r
->source_dsa_address
) {
4150 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4153 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4154 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4158 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4160 if (ndr_flags
& NDR_SCALARS
) {
4161 int level
= ndr_push_get_switch_value(ndr
, r
);
4162 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4163 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4166 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4170 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4174 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4177 if (ndr_flags
& NDR_BUFFERS
) {
4178 int level
= ndr_push_get_switch_value(ndr
, r
);
4181 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4185 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4189 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4192 return NDR_ERR_SUCCESS
;
4195 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4199 level
= ndr_pull_get_switch_value(ndr
, r
);
4200 if (ndr_flags
& NDR_SCALARS
) {
4201 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4202 if (_level
!= level
) {
4203 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4205 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4208 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4212 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4216 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4219 if (ndr_flags
& NDR_BUFFERS
) {
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4226 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4230 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4233 return NDR_ERR_SUCCESS
;
4236 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4239 level
= ndr_print_get_switch_value(ndr
, r
);
4240 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4243 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4247 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4251 ndr_print_bad_level(ndr
, name
, level
);
4255 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4257 if (ndr_flags
& NDR_SCALARS
) {
4258 NDR_CHECK(ndr_push_align(ndr
, 5));
4259 if (r
->naming_context
== NULL
) {
4260 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4262 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4263 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4264 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4265 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4267 if (ndr_flags
& NDR_BUFFERS
) {
4268 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4269 if (r
->source_dsa_address
) {
4270 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4271 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4272 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4273 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
));
4276 return NDR_ERR_SUCCESS
;
4279 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4281 uint32_t _ptr_naming_context
;
4282 TALLOC_CTX
*_mem_save_naming_context_0
;
4283 uint32_t _ptr_source_dsa_address
;
4284 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4285 if (ndr_flags
& NDR_SCALARS
) {
4286 NDR_CHECK(ndr_pull_align(ndr
, 5));
4287 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4288 if (_ptr_naming_context
) {
4289 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4291 r
->naming_context
= NULL
;
4293 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4294 if (_ptr_source_dsa_address
) {
4295 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4297 r
->source_dsa_address
= NULL
;
4299 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4300 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4302 if (ndr_flags
& NDR_BUFFERS
) {
4303 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4304 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4305 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4306 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4307 if (r
->source_dsa_address
) {
4308 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4309 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4310 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4311 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4312 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4313 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
));
4315 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4316 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
));
4317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4320 return NDR_ERR_SUCCESS
;
4323 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4325 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4327 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4329 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4331 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4333 if (r
->source_dsa_address
) {
4334 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4337 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4341 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4343 if (ndr_flags
& NDR_SCALARS
) {
4344 int level
= ndr_push_get_switch_value(ndr
, r
);
4345 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4346 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4349 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4353 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4356 if (ndr_flags
& NDR_BUFFERS
) {
4357 int level
= ndr_push_get_switch_value(ndr
, r
);
4360 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4364 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4367 return NDR_ERR_SUCCESS
;
4370 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4374 level
= ndr_pull_get_switch_value(ndr
, r
);
4375 if (ndr_flags
& NDR_SCALARS
) {
4376 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4377 if (_level
!= level
) {
4378 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4380 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4383 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4387 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4390 if (ndr_flags
& NDR_BUFFERS
) {
4393 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4397 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4400 return NDR_ERR_SUCCESS
;
4403 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4406 level
= ndr_print_get_switch_value(ndr
, r
);
4407 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4410 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4414 ndr_print_bad_level(ndr
, name
, level
);
4418 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4420 if (ndr_flags
& NDR_SCALARS
) {
4421 NDR_CHECK(ndr_push_align(ndr
, 5));
4422 if (r
->naming_context
== NULL
) {
4423 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4425 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4426 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4427 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4428 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4429 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4430 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4431 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4432 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4434 if (ndr_flags
& NDR_BUFFERS
) {
4435 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4436 if (r
->source_dra_address
) {
4437 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4438 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4439 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4440 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
));
4443 return NDR_ERR_SUCCESS
;
4446 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4448 uint32_t _ptr_naming_context
;
4449 TALLOC_CTX
*_mem_save_naming_context_0
;
4450 uint32_t _ptr_source_dra_address
;
4451 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4452 if (ndr_flags
& NDR_SCALARS
) {
4453 NDR_CHECK(ndr_pull_align(ndr
, 5));
4454 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4455 if (_ptr_naming_context
) {
4456 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4458 r
->naming_context
= NULL
;
4460 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4461 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4462 if (_ptr_source_dra_address
) {
4463 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4465 r
->source_dra_address
= NULL
;
4467 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4468 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4469 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4470 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4471 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4473 if (ndr_flags
& NDR_BUFFERS
) {
4474 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4475 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4476 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4477 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4478 if (r
->source_dra_address
) {
4479 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4480 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4481 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4482 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4483 if (ndr_get_array_length(ndr
, &r
->source_dra_address
) > ndr_get_array_size(ndr
, &r
->source_dra_address
)) {
4484 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
));
4486 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t)));
4487 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
));
4488 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4491 return NDR_ERR_SUCCESS
;
4494 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4496 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4498 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4500 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4502 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4503 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4505 if (r
->source_dra_address
) {
4506 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4509 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4510 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4511 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4512 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4516 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4518 if (ndr_flags
& NDR_SCALARS
) {
4519 int level
= ndr_push_get_switch_value(ndr
, r
);
4520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4521 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4524 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4528 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4531 if (ndr_flags
& NDR_BUFFERS
) {
4532 int level
= ndr_push_get_switch_value(ndr
, r
);
4535 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4539 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4542 return NDR_ERR_SUCCESS
;
4545 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4549 level
= ndr_pull_get_switch_value(ndr
, r
);
4550 if (ndr_flags
& NDR_SCALARS
) {
4551 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4552 if (_level
!= level
) {
4553 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4555 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4558 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4562 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4565 if (ndr_flags
& NDR_BUFFERS
) {
4568 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4572 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4575 return NDR_ERR_SUCCESS
;
4578 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4581 level
= ndr_print_get_switch_value(ndr
, r
);
4582 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4585 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4589 ndr_print_bad_level(ndr
, name
, level
);
4593 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4595 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4596 return NDR_ERR_SUCCESS
;
4599 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4602 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4604 return NDR_ERR_SUCCESS
;
4607 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4609 const char *val
= NULL
;
4612 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4613 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4614 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4615 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4616 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4617 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4618 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4620 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4623 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4625 uint32_t cntr_info_array_1
;
4626 uint32_t cntr_group_attrs_1
;
4627 uint32_t cntr_sids_1
;
4628 if (ndr_flags
& NDR_SCALARS
) {
4629 NDR_CHECK(ndr_push_align(ndr
, 5));
4630 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4631 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4632 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4633 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4634 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4635 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4636 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4638 if (ndr_flags
& NDR_BUFFERS
) {
4639 if (r
->info_array
) {
4640 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4641 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4642 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4644 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4645 if (r
->info_array
[cntr_info_array_1
]) {
4646 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4650 if (r
->group_attrs
) {
4651 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4652 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4653 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4657 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4658 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4659 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4661 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4662 if (r
->sids
[cntr_sids_1
]) {
4663 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4668 return NDR_ERR_SUCCESS
;
4671 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4673 uint32_t _ptr_info_array
;
4674 uint32_t cntr_info_array_1
;
4675 TALLOC_CTX
*_mem_save_info_array_0
;
4676 TALLOC_CTX
*_mem_save_info_array_1
;
4677 TALLOC_CTX
*_mem_save_info_array_2
;
4678 uint32_t _ptr_group_attrs
;
4679 uint32_t cntr_group_attrs_1
;
4680 TALLOC_CTX
*_mem_save_group_attrs_0
;
4681 TALLOC_CTX
*_mem_save_group_attrs_1
;
4683 uint32_t cntr_sids_1
;
4684 TALLOC_CTX
*_mem_save_sids_0
;
4685 TALLOC_CTX
*_mem_save_sids_1
;
4686 TALLOC_CTX
*_mem_save_sids_2
;
4687 if (ndr_flags
& NDR_SCALARS
) {
4688 NDR_CHECK(ndr_pull_align(ndr
, 5));
4689 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4690 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4691 if (r
->num_memberships
> 10000) {
4692 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4694 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4695 if (r
->num_sids
> 10000) {
4696 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4698 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4699 if (_ptr_info_array
) {
4700 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4702 r
->info_array
= NULL
;
4704 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4705 if (_ptr_group_attrs
) {
4706 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4708 r
->group_attrs
= NULL
;
4710 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4712 NDR_PULL_ALLOC(ndr
, r
->sids
);
4716 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4718 if (ndr_flags
& NDR_BUFFERS
) {
4719 if (r
->info_array
) {
4720 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4721 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4722 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4723 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
4724 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4725 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4726 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4727 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4728 if (_ptr_info_array
) {
4729 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4731 r
->info_array
[cntr_info_array_1
] = NULL
;
4734 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4735 if (r
->info_array
[cntr_info_array_1
]) {
4736 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4737 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4738 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4743 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4745 if (r
->group_attrs
) {
4746 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4747 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4748 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4749 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, ndr_get_array_size(ndr
, &r
->group_attrs
));
4750 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4751 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4752 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4753 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4755 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4756 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4759 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4760 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4761 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4762 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4763 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4764 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4765 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4766 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4768 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4770 r
->sids
[cntr_sids_1
] = NULL
;
4773 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4774 if (r
->sids
[cntr_sids_1
]) {
4775 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4776 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4777 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4781 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4784 if (r
->info_array
) {
4785 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4787 if (r
->group_attrs
) {
4788 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4791 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4794 return NDR_ERR_SUCCESS
;
4797 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4799 uint32_t cntr_info_array_1
;
4800 uint32_t cntr_group_attrs_1
;
4801 uint32_t cntr_sids_1
;
4802 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4804 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4805 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4806 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4807 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4809 if (r
->info_array
) {
4810 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4812 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4814 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4815 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4817 if (r
->info_array
[cntr_info_array_1
]) {
4818 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4827 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4829 if (r
->group_attrs
) {
4830 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4832 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
4834 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
4835 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
4842 ndr_print_ptr(ndr
, "sids", r
->sids
);
4845 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
4847 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
4849 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4850 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4852 if (r
->sids
[cntr_sids_1
]) {
4853 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4865 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
4867 if (ndr_flags
& NDR_SCALARS
) {
4868 int level
= ndr_push_get_switch_value(ndr
, r
);
4869 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4870 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4873 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4877 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4880 if (ndr_flags
& NDR_BUFFERS
) {
4881 int level
= ndr_push_get_switch_value(ndr
, r
);
4884 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4888 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4891 return NDR_ERR_SUCCESS
;
4894 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
4898 level
= ndr_pull_get_switch_value(ndr
, r
);
4899 if (ndr_flags
& NDR_SCALARS
) {
4900 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4901 if (_level
!= level
) {
4902 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4904 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4907 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4911 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4914 if (ndr_flags
& NDR_BUFFERS
) {
4917 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4921 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4924 return NDR_ERR_SUCCESS
;
4927 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
4930 level
= ndr_print_get_switch_value(ndr
, r
);
4931 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
4934 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
4938 ndr_print_bad_level(ndr
, name
, level
);
4942 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
4944 uint32_t cntr_info_array_1
;
4945 if (ndr_flags
& NDR_SCALARS
) {
4946 NDR_CHECK(ndr_push_align(ndr
, 5));
4947 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4948 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4949 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4950 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
4951 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
4952 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4954 if (ndr_flags
& NDR_BUFFERS
) {
4955 if (r
->info_array
) {
4956 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4957 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
4958 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4960 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
4961 if (r
->info_array
[cntr_info_array_1
]) {
4962 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4967 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
4970 return NDR_ERR_SUCCESS
;
4973 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
4975 uint32_t _ptr_info_array
;
4976 uint32_t cntr_info_array_1
;
4977 TALLOC_CTX
*_mem_save_info_array_0
;
4978 TALLOC_CTX
*_mem_save_info_array_1
;
4979 TALLOC_CTX
*_mem_save_info_array_2
;
4980 uint32_t _ptr_domain
;
4981 TALLOC_CTX
*_mem_save_domain_0
;
4982 if (ndr_flags
& NDR_SCALARS
) {
4983 NDR_CHECK(ndr_pull_align(ndr
, 5));
4984 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4985 if (r
->count
< 1 || r
->count
> 10000) {
4986 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4988 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4989 if (_ptr_info_array
) {
4990 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4992 r
->info_array
= NULL
;
4994 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4995 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
4996 if (r
->type
< 1 || r
->type
> 7) {
4997 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4999 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5001 NDR_PULL_ALLOC(ndr
, r
->domain
);
5005 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5007 if (ndr_flags
& NDR_BUFFERS
) {
5008 if (r
->info_array
) {
5009 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5010 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5011 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5012 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
5013 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5014 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5015 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5016 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5017 if (_ptr_info_array
) {
5018 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5020 r
->info_array
[cntr_info_array_1
] = NULL
;
5023 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5024 if (r
->info_array
[cntr_info_array_1
]) {
5025 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5026 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5027 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5031 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5035 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5036 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5038 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5040 if (r
->info_array
) {
5041 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5044 return NDR_ERR_SUCCESS
;
5047 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5049 uint32_t cntr_info_array_1
;
5050 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5052 ndr_print_uint32(ndr
, "count", r
->count
);
5053 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5055 if (r
->info_array
) {
5056 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5058 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5060 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5061 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5063 if (r
->info_array
[cntr_info_array_1
]) {
5064 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5073 ndr_print_uint32(ndr
, "flags", r
->flags
);
5074 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5075 ndr_print_ptr(ndr
, "domain", r
->domain
);
5078 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5084 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5086 if (ndr_flags
& NDR_SCALARS
) {
5087 int level
= ndr_push_get_switch_value(ndr
, r
);
5088 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5089 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5092 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5096 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5099 if (ndr_flags
& NDR_BUFFERS
) {
5100 int level
= ndr_push_get_switch_value(ndr
, r
);
5103 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5107 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5110 return NDR_ERR_SUCCESS
;
5113 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5117 level
= ndr_pull_get_switch_value(ndr
, r
);
5118 if (ndr_flags
& NDR_SCALARS
) {
5119 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5120 if (_level
!= level
) {
5121 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5123 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5126 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5130 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5133 if (ndr_flags
& NDR_BUFFERS
) {
5136 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5140 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5143 return NDR_ERR_SUCCESS
;
5146 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5149 level
= ndr_print_get_switch_value(ndr
, r
);
5150 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5153 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5157 ndr_print_bad_level(ndr
, name
, level
);
5161 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
5163 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
5164 return NDR_ERR_SUCCESS
;
5167 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
5170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
5172 return NDR_ERR_SUCCESS
;
5175 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
5177 ndr_print_uint32(ndr
, name
, r
);
5179 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG
, r
);
5180 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS
, r
);
5184 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5186 if (ndr_flags
& NDR_SCALARS
) {
5187 NDR_CHECK(ndr_push_align(ndr
, 5));
5188 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr
, NDR_SCALARS
, r
->flags
));
5189 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->preferred_maximum_length
));
5190 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->restart_length
));
5191 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->restart_data
));
5192 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5194 if (ndr_flags
& NDR_BUFFERS
) {
5195 if (r
->restart_data
) {
5196 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->restart_length
));
5197 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, r
->restart_length
));
5200 return NDR_ERR_SUCCESS
;
5203 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5205 uint32_t _ptr_restart_data
;
5206 TALLOC_CTX
*_mem_save_restart_data_0
;
5207 if (ndr_flags
& NDR_SCALARS
) {
5208 NDR_CHECK(ndr_pull_align(ndr
, 5));
5209 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr
, NDR_SCALARS
, &r
->flags
));
5210 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->preferred_maximum_length
));
5211 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->restart_length
));
5212 if (r
->restart_length
> 0x00A00000) {
5213 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_restart_data
));
5216 if (_ptr_restart_data
) {
5217 NDR_PULL_ALLOC(ndr
, r
->restart_data
);
5219 r
->restart_data
= NULL
;
5221 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5223 if (ndr_flags
& NDR_BUFFERS
) {
5224 if (r
->restart_data
) {
5225 _mem_save_restart_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5226 NDR_PULL_SET_MEM_CTX(ndr
, r
->restart_data
, 0);
5227 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->restart_data
));
5228 NDR_PULL_ALLOC_N(ndr
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
));
5229 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
)));
5230 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_restart_data_0
, 0);
5232 if (r
->restart_data
) {
5233 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->restart_data
, r
->restart_length
));
5236 return NDR_ERR_SUCCESS
;
5239 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5241 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5243 ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr
, "flags", r
->flags
);
5244 ndr_print_uint32(ndr
, "preferred_maximum_length", r
->preferred_maximum_length
);
5245 ndr_print_uint32(ndr
, "restart_length", r
->restart_length
);
5246 ndr_print_ptr(ndr
, "restart_data", r
->restart_data
);
5248 if (r
->restart_data
) {
5249 ndr_print_array_uint8(ndr
, "restart_data", r
->restart_data
, r
->restart_length
);
5255 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5257 if (ndr_flags
& NDR_SCALARS
) {
5258 int level
= ndr_push_get_switch_value(ndr
, r
);
5259 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5260 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5263 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5267 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5270 if (ndr_flags
& NDR_BUFFERS
) {
5271 int level
= ndr_push_get_switch_value(ndr
, r
);
5274 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5278 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5281 return NDR_ERR_SUCCESS
;
5284 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5288 level
= ndr_pull_get_switch_value(ndr
, r
);
5289 if (ndr_flags
& NDR_SCALARS
) {
5290 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5291 if (_level
!= level
) {
5292 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5294 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5297 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5301 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5304 if (ndr_flags
& NDR_BUFFERS
) {
5307 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5311 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5314 return NDR_ERR_SUCCESS
;
5317 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5320 level
= ndr_print_get_switch_value(ndr
, r
);
5321 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5324 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5328 ndr_print_bad_level(ndr
, name
, level
);
5332 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5334 if (ndr_flags
& NDR_SCALARS
) {
5335 NDR_CHECK(ndr_push_align(ndr
, 8));
5336 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->restart_length
));
5337 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->log_length
));
5338 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sam_serial_number
));
5339 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->sam_creation_time
));
5340 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->builtin_serial_number
));
5341 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->builtin_creation_time
));
5342 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lsa_serial_number
));
5343 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->lsa_creation_time
));
5344 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5345 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->restart_data
));
5346 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->log_data
));
5347 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5349 if (ndr_flags
& NDR_BUFFERS
) {
5350 if (r
->restart_data
) {
5351 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->restart_length
));
5352 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, r
->restart_length
));
5355 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->log_length
));
5356 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->log_data
, r
->log_length
));
5359 return NDR_ERR_SUCCESS
;
5362 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5364 uint32_t _ptr_restart_data
;
5365 TALLOC_CTX
*_mem_save_restart_data_0
;
5366 uint32_t _ptr_log_data
;
5367 TALLOC_CTX
*_mem_save_log_data_0
;
5368 if (ndr_flags
& NDR_SCALARS
) {
5369 NDR_CHECK(ndr_pull_align(ndr
, 8));
5370 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->restart_length
));
5371 if (r
->restart_length
> 0x00A00000) {
5372 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5374 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->log_length
));
5375 if (r
->log_length
> 0x00A00000) {
5376 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5378 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sam_serial_number
));
5379 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->sam_creation_time
));
5380 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->builtin_serial_number
));
5381 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->builtin_creation_time
));
5382 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lsa_serial_number
));
5383 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->lsa_creation_time
));
5384 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5385 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_restart_data
));
5386 if (_ptr_restart_data
) {
5387 NDR_PULL_ALLOC(ndr
, r
->restart_data
);
5389 r
->restart_data
= NULL
;
5391 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_log_data
));
5392 if (_ptr_log_data
) {
5393 NDR_PULL_ALLOC(ndr
, r
->log_data
);
5397 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5399 if (ndr_flags
& NDR_BUFFERS
) {
5400 if (r
->restart_data
) {
5401 _mem_save_restart_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5402 NDR_PULL_SET_MEM_CTX(ndr
, r
->restart_data
, 0);
5403 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->restart_data
));
5404 NDR_PULL_ALLOC_N(ndr
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
));
5405 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
)));
5406 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_restart_data_0
, 0);
5409 _mem_save_log_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5410 NDR_PULL_SET_MEM_CTX(ndr
, r
->log_data
, 0);
5411 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->log_data
));
5412 NDR_PULL_ALLOC_N(ndr
, r
->log_data
, ndr_get_array_size(ndr
, &r
->log_data
));
5413 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->log_data
, ndr_get_array_size(ndr
, &r
->log_data
)));
5414 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_log_data_0
, 0);
5416 if (r
->restart_data
) {
5417 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->restart_data
, r
->restart_length
));
5420 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->log_data
, r
->log_length
));
5423 return NDR_ERR_SUCCESS
;
5426 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5428 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5430 ndr_print_uint32(ndr
, "restart_length", r
->restart_length
);
5431 ndr_print_uint32(ndr
, "log_length", r
->log_length
);
5432 ndr_print_hyper(ndr
, "sam_serial_number", r
->sam_serial_number
);
5433 ndr_print_NTTIME(ndr
, "sam_creation_time", r
->sam_creation_time
);
5434 ndr_print_hyper(ndr
, "builtin_serial_number", r
->builtin_serial_number
);
5435 ndr_print_NTTIME(ndr
, "builtin_creation_time", r
->builtin_creation_time
);
5436 ndr_print_hyper(ndr
, "lsa_serial_number", r
->lsa_serial_number
);
5437 ndr_print_NTTIME(ndr
, "lsa_creation_time", r
->lsa_creation_time
);
5438 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5439 ndr_print_ptr(ndr
, "restart_data", r
->restart_data
);
5441 if (r
->restart_data
) {
5442 ndr_print_array_uint8(ndr
, "restart_data", r
->restart_data
, r
->restart_length
);
5445 ndr_print_ptr(ndr
, "log_data", r
->log_data
);
5448 ndr_print_array_uint8(ndr
, "log_data", r
->log_data
, r
->log_length
);
5454 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5456 if (ndr_flags
& NDR_SCALARS
) {
5457 int level
= ndr_push_get_switch_value(ndr
, r
);
5458 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5459 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5462 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5466 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5469 if (ndr_flags
& NDR_BUFFERS
) {
5470 int level
= ndr_push_get_switch_value(ndr
, r
);
5473 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5477 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5480 return NDR_ERR_SUCCESS
;
5483 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5487 level
= ndr_pull_get_switch_value(ndr
, r
);
5488 if (ndr_flags
& NDR_SCALARS
) {
5489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5490 if (_level
!= level
) {
5491 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5493 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5496 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5500 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5503 if (ndr_flags
& NDR_BUFFERS
) {
5506 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5510 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5513 return NDR_ERR_SUCCESS
;
5516 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5519 level
= ndr_print_get_switch_value(ndr
, r
);
5520 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5523 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5527 ndr_print_bad_level(ndr
, name
, level
);
5531 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5533 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5534 return NDR_ERR_SUCCESS
;
5537 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5540 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5542 return NDR_ERR_SUCCESS
;
5545 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5547 const char *val
= NULL
;
5550 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5551 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5552 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5553 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5554 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5555 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5556 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5557 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5559 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5562 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5564 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5565 return NDR_ERR_SUCCESS
;
5568 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5571 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5573 return NDR_ERR_SUCCESS
;
5576 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5578 const char *val
= NULL
;
5581 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5582 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5583 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5584 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5585 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5587 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5590 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5592 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5593 return NDR_ERR_SUCCESS
;
5596 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5599 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5601 return NDR_ERR_SUCCESS
;
5604 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5606 const char *val
= NULL
;
5609 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5610 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5611 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5612 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5613 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5614 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5615 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5616 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5617 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5618 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5619 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5621 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5624 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5626 if (ndr_flags
& NDR_SCALARS
) {
5627 NDR_CHECK(ndr_push_align(ndr
, 5));
5628 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5629 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5631 if (ndr_flags
& NDR_BUFFERS
) {
5633 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5634 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5635 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5636 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5639 return NDR_ERR_SUCCESS
;
5642 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5645 TALLOC_CTX
*_mem_save_str_0
;
5646 if (ndr_flags
& NDR_SCALARS
) {
5647 NDR_CHECK(ndr_pull_align(ndr
, 5));
5648 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5650 NDR_PULL_ALLOC(ndr
, r
->str
);
5654 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5656 if (ndr_flags
& NDR_BUFFERS
) {
5658 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5659 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5660 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5661 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5662 if (ndr_get_array_length(ndr
, &r
->str
) > ndr_get_array_size(ndr
, &r
->str
)) {
5663 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
));
5665 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t)));
5666 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t), CH_UTF16
));
5667 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5670 return NDR_ERR_SUCCESS
;
5673 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5675 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5677 ndr_print_ptr(ndr
, "str", r
->str
);
5680 ndr_print_string(ndr
, "str", r
->str
);
5686 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5688 uint32_t cntr_names_1
;
5689 if (ndr_flags
& NDR_SCALARS
) {
5690 NDR_CHECK(ndr_push_align(ndr
, 5));
5691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5692 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5693 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5694 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5695 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5696 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5697 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5698 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5700 if (ndr_flags
& NDR_BUFFERS
) {
5702 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5703 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5704 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5706 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5707 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5711 return NDR_ERR_SUCCESS
;
5714 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5716 uint32_t _ptr_names
;
5717 uint32_t cntr_names_1
;
5718 TALLOC_CTX
*_mem_save_names_0
;
5719 TALLOC_CTX
*_mem_save_names_1
;
5720 if (ndr_flags
& NDR_SCALARS
) {
5721 NDR_CHECK(ndr_pull_align(ndr
, 5));
5722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5723 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5724 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5725 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5726 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5727 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5728 if (r
->count
< 1 || r
->count
> 10000) {
5729 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5731 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5733 NDR_PULL_ALLOC(ndr
, r
->names
);
5737 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5739 if (ndr_flags
& NDR_BUFFERS
) {
5741 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5742 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5743 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5744 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
5745 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5746 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5747 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5748 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5750 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5751 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5753 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5754 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5757 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5760 return NDR_ERR_SUCCESS
;
5763 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5765 uint32_t cntr_names_1
;
5766 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5768 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5769 ndr_print_uint32(ndr
, "language", r
->language
);
5770 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5771 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5772 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5773 ndr_print_uint32(ndr
, "count", r
->count
);
5774 ndr_print_ptr(ndr
, "names", r
->names
);
5777 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5779 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5781 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5782 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5792 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5794 if (ndr_flags
& NDR_SCALARS
) {
5795 int level
= ndr_push_get_switch_value(ndr
, r
);
5796 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5797 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5800 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5804 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5807 if (ndr_flags
& NDR_BUFFERS
) {
5808 int level
= ndr_push_get_switch_value(ndr
, r
);
5811 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5815 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5818 return NDR_ERR_SUCCESS
;
5821 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5825 level
= ndr_pull_get_switch_value(ndr
, r
);
5826 if (ndr_flags
& NDR_SCALARS
) {
5827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5828 if (_level
!= level
) {
5829 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5831 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5834 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5838 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5841 if (ndr_flags
& NDR_BUFFERS
) {
5844 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5848 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5851 return NDR_ERR_SUCCESS
;
5854 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5857 level
= ndr_print_get_switch_value(ndr
, r
);
5858 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
5861 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
5865 ndr_print_bad_level(ndr
, name
, level
);
5869 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
5871 if (ndr_flags
& NDR_SCALARS
) {
5872 NDR_CHECK(ndr_push_align(ndr
, 5));
5873 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
5874 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
5875 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
5876 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5878 if (ndr_flags
& NDR_BUFFERS
) {
5879 if (r
->dns_domain_name
) {
5880 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5881 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5882 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5883 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
));
5885 if (r
->result_name
) {
5886 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5887 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5888 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5889 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5892 return NDR_ERR_SUCCESS
;
5895 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
5897 uint32_t _ptr_dns_domain_name
;
5898 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
5899 uint32_t _ptr_result_name
;
5900 TALLOC_CTX
*_mem_save_result_name_0
;
5901 if (ndr_flags
& NDR_SCALARS
) {
5902 NDR_CHECK(ndr_pull_align(ndr
, 5));
5903 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
5904 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
5905 if (_ptr_dns_domain_name
) {
5906 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
5908 r
->dns_domain_name
= NULL
;
5910 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
5911 if (_ptr_result_name
) {
5912 NDR_PULL_ALLOC(ndr
, r
->result_name
);
5914 r
->result_name
= NULL
;
5916 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5918 if (ndr_flags
& NDR_BUFFERS
) {
5919 if (r
->dns_domain_name
) {
5920 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5921 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
5922 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
5923 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
5924 if (ndr_get_array_length(ndr
, &r
->dns_domain_name
) > ndr_get_array_size(ndr
, &r
->dns_domain_name
)) {
5925 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
));
5927 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t)));
5928 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
));
5929 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
5931 if (r
->result_name
) {
5932 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5933 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
5934 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
5935 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
5936 if (ndr_get_array_length(ndr
, &r
->result_name
) > ndr_get_array_size(ndr
, &r
->result_name
)) {
5937 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
));
5939 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t)));
5940 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t), CH_UTF16
));
5941 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
5944 return NDR_ERR_SUCCESS
;
5947 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
5949 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
5951 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
5952 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
5954 if (r
->dns_domain_name
) {
5955 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
5958 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
5960 if (r
->result_name
) {
5961 ndr_print_string(ndr
, "result_name", r
->result_name
);
5967 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
5969 uint32_t cntr_array_1
;
5970 if (ndr_flags
& NDR_SCALARS
) {
5971 NDR_CHECK(ndr_push_align(ndr
, 5));
5972 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5973 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
5974 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5976 if (ndr_flags
& NDR_BUFFERS
) {
5978 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5979 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5980 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
5982 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5983 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
5987 return NDR_ERR_SUCCESS
;
5990 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
5992 uint32_t _ptr_array
;
5993 uint32_t cntr_array_1
;
5994 TALLOC_CTX
*_mem_save_array_0
;
5995 TALLOC_CTX
*_mem_save_array_1
;
5996 if (ndr_flags
& NDR_SCALARS
) {
5997 NDR_CHECK(ndr_pull_align(ndr
, 5));
5998 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5999 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6001 NDR_PULL_ALLOC(ndr
, r
->array
);
6005 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6007 if (ndr_flags
& NDR_BUFFERS
) {
6009 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6010 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6011 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6012 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
6013 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6014 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6015 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6016 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6018 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6019 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6021 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6025 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6028 return NDR_ERR_SUCCESS
;
6031 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6033 uint32_t cntr_array_1
;
6034 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6036 ndr_print_uint32(ndr
, "count", r
->count
);
6037 ndr_print_ptr(ndr
, "array", r
->array
);
6040 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6042 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6044 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6045 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6055 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6057 if (ndr_flags
& NDR_SCALARS
) {
6058 int level
= ndr_push_get_switch_value(ndr
, r
);
6059 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6060 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6063 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6067 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6070 if (ndr_flags
& NDR_BUFFERS
) {
6071 int level
= ndr_push_get_switch_value(ndr
, r
);
6075 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6080 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6083 return NDR_ERR_SUCCESS
;
6086 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6090 TALLOC_CTX
*_mem_save_ctr1_0
;
6091 level
= ndr_pull_get_switch_value(ndr
, r
);
6092 if (ndr_flags
& NDR_SCALARS
) {
6093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6094 if (_level
!= level
) {
6095 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6097 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6101 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6103 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6110 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6113 if (ndr_flags
& NDR_BUFFERS
) {
6117 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6118 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6119 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6120 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6125 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6128 return NDR_ERR_SUCCESS
;
6131 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6134 level
= ndr_print_get_switch_value(ndr
, r
);
6135 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6138 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6141 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6147 ndr_print_bad_level(ndr
, name
, level
);
6151 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6153 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6154 return NDR_ERR_SUCCESS
;
6157 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6160 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6162 return NDR_ERR_SUCCESS
;
6165 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6167 const char *val
= NULL
;
6170 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6171 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6172 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6174 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6177 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6179 uint32_t cntr_spn_names_1
;
6180 if (ndr_flags
& NDR_SCALARS
) {
6181 NDR_CHECK(ndr_push_align(ndr
, 5));
6182 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6183 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6184 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6185 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6186 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6187 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6189 if (ndr_flags
& NDR_BUFFERS
) {
6191 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6192 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6193 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6194 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6197 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6198 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6199 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6201 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6202 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6206 return NDR_ERR_SUCCESS
;
6209 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6211 uint32_t _ptr_object_dn
;
6212 TALLOC_CTX
*_mem_save_object_dn_0
;
6213 uint32_t _ptr_spn_names
;
6214 uint32_t cntr_spn_names_1
;
6215 TALLOC_CTX
*_mem_save_spn_names_0
;
6216 TALLOC_CTX
*_mem_save_spn_names_1
;
6217 if (ndr_flags
& NDR_SCALARS
) {
6218 NDR_CHECK(ndr_pull_align(ndr
, 5));
6219 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6220 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6221 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6222 if (_ptr_object_dn
) {
6223 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6225 r
->object_dn
= NULL
;
6227 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6228 if (r
->count
> 10000) {
6229 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6231 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6232 if (_ptr_spn_names
) {
6233 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6235 r
->spn_names
= NULL
;
6237 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6239 if (ndr_flags
& NDR_BUFFERS
) {
6241 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6242 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6243 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6244 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6245 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
6246 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
));
6248 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
6249 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
6250 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6253 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6254 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6255 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6256 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, ndr_get_array_size(ndr
, &r
->spn_names
));
6257 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6258 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6259 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6260 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6262 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6263 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6265 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6266 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6269 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6272 return NDR_ERR_SUCCESS
;
6275 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6277 uint32_t cntr_spn_names_1
;
6278 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6280 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6281 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6282 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6285 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6288 ndr_print_uint32(ndr
, "count", r
->count
);
6289 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6292 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6294 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6296 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6297 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6307 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6309 if (ndr_flags
& NDR_SCALARS
) {
6310 int level
= ndr_push_get_switch_value(ndr
, r
);
6311 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6312 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6315 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6319 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6322 if (ndr_flags
& NDR_BUFFERS
) {
6323 int level
= ndr_push_get_switch_value(ndr
, r
);
6326 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6330 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6333 return NDR_ERR_SUCCESS
;
6336 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6340 level
= ndr_pull_get_switch_value(ndr
, r
);
6341 if (ndr_flags
& NDR_SCALARS
) {
6342 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6343 if (_level
!= level
) {
6344 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6346 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6349 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6353 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6356 if (ndr_flags
& NDR_BUFFERS
) {
6359 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6363 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6366 return NDR_ERR_SUCCESS
;
6369 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6372 level
= ndr_print_get_switch_value(ndr
, r
);
6373 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6376 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6380 ndr_print_bad_level(ndr
, name
, level
);
6384 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6386 if (ndr_flags
& NDR_SCALARS
) {
6387 NDR_CHECK(ndr_push_align(ndr
, 4));
6388 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6389 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6391 if (ndr_flags
& NDR_BUFFERS
) {
6393 return NDR_ERR_SUCCESS
;
6396 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6398 if (ndr_flags
& NDR_SCALARS
) {
6399 NDR_CHECK(ndr_pull_align(ndr
, 4));
6400 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6401 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6403 if (ndr_flags
& NDR_BUFFERS
) {
6405 return NDR_ERR_SUCCESS
;
6408 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6410 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6412 ndr_print_WERROR(ndr
, "status", r
->status
);
6416 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6418 if (ndr_flags
& NDR_SCALARS
) {
6419 int level
= ndr_push_get_switch_value(ndr
, r
);
6420 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6421 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6424 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6428 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6431 if (ndr_flags
& NDR_BUFFERS
) {
6432 int level
= ndr_push_get_switch_value(ndr
, r
);
6438 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6441 return NDR_ERR_SUCCESS
;
6444 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6448 level
= ndr_pull_get_switch_value(ndr
, r
);
6449 if (ndr_flags
& NDR_SCALARS
) {
6450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6451 if (_level
!= level
) {
6452 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6454 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6457 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6461 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6464 if (ndr_flags
& NDR_BUFFERS
) {
6470 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6473 return NDR_ERR_SUCCESS
;
6476 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6479 level
= ndr_print_get_switch_value(ndr
, r
);
6480 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6483 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6487 ndr_print_bad_level(ndr
, name
, level
);
6491 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6493 if (ndr_flags
& NDR_SCALARS
) {
6494 NDR_CHECK(ndr_push_align(ndr
, 5));
6495 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6496 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6497 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6498 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6500 if (ndr_flags
& NDR_BUFFERS
) {
6502 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6503 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6504 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6505 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6508 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6509 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6510 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6511 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6514 return NDR_ERR_SUCCESS
;
6517 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6519 uint32_t _ptr_server_dn
;
6520 TALLOC_CTX
*_mem_save_server_dn_0
;
6521 uint32_t _ptr_domain_dn
;
6522 TALLOC_CTX
*_mem_save_domain_dn_0
;
6523 if (ndr_flags
& NDR_SCALARS
) {
6524 NDR_CHECK(ndr_pull_align(ndr
, 5));
6525 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6526 if (_ptr_server_dn
) {
6527 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6529 r
->server_dn
= NULL
;
6531 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
6532 if (_ptr_domain_dn
) {
6533 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
6535 r
->domain_dn
= NULL
;
6537 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
6538 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6540 if (ndr_flags
& NDR_BUFFERS
) {
6542 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6543 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6544 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6545 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6546 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
6547 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
));
6549 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
6550 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
6551 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6554 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6555 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6556 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6557 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6558 if (ndr_get_array_length(ndr
, &r
->domain_dn
) > ndr_get_array_size(ndr
, &r
->domain_dn
)) {
6559 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
));
6561 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t)));
6562 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t), CH_UTF16
));
6563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6566 return NDR_ERR_SUCCESS
;
6569 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6571 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6573 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6576 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6579 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6582 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6585 ndr_print_uint32(ndr
, "commit", r
->commit
);
6589 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6591 if (ndr_flags
& NDR_SCALARS
) {
6592 int level
= ndr_push_get_switch_value(ndr
, r
);
6593 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6594 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6597 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6601 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6604 if (ndr_flags
& NDR_BUFFERS
) {
6605 int level
= ndr_push_get_switch_value(ndr
, r
);
6608 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6612 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6615 return NDR_ERR_SUCCESS
;
6618 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6622 level
= ndr_pull_get_switch_value(ndr
, r
);
6623 if (ndr_flags
& NDR_SCALARS
) {
6624 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6625 if (_level
!= level
) {
6626 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6628 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6631 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6635 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6638 if (ndr_flags
& NDR_BUFFERS
) {
6641 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6645 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6648 return NDR_ERR_SUCCESS
;
6651 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6654 level
= ndr_print_get_switch_value(ndr
, r
);
6655 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6658 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6662 ndr_print_bad_level(ndr
, name
, level
);
6666 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6668 if (ndr_flags
& NDR_SCALARS
) {
6669 NDR_CHECK(ndr_push_align(ndr
, 4));
6670 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6671 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6673 if (ndr_flags
& NDR_BUFFERS
) {
6675 return NDR_ERR_SUCCESS
;
6678 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6680 if (ndr_flags
& NDR_SCALARS
) {
6681 NDR_CHECK(ndr_pull_align(ndr
, 4));
6682 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6683 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6685 if (ndr_flags
& NDR_BUFFERS
) {
6687 return NDR_ERR_SUCCESS
;
6690 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6692 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6694 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6698 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6700 if (ndr_flags
& NDR_SCALARS
) {
6701 int level
= ndr_push_get_switch_value(ndr
, r
);
6702 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6703 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6706 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6710 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6713 if (ndr_flags
& NDR_BUFFERS
) {
6714 int level
= ndr_push_get_switch_value(ndr
, r
);
6720 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6723 return NDR_ERR_SUCCESS
;
6726 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6730 level
= ndr_pull_get_switch_value(ndr
, r
);
6731 if (ndr_flags
& NDR_SCALARS
) {
6732 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6733 if (_level
!= level
) {
6734 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6736 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6739 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6743 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6746 if (ndr_flags
& NDR_BUFFERS
) {
6752 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6755 return NDR_ERR_SUCCESS
;
6758 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6761 level
= ndr_print_get_switch_value(ndr
, r
);
6762 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6765 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6769 ndr_print_bad_level(ndr
, name
, level
);
6773 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6775 if (ndr_flags
& NDR_SCALARS
) {
6776 NDR_CHECK(ndr_push_align(ndr
, 5));
6777 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6778 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6779 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6781 if (ndr_flags
& NDR_BUFFERS
) {
6782 if (r
->domain_name
) {
6783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6784 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6785 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6786 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6789 return NDR_ERR_SUCCESS
;
6792 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6794 uint32_t _ptr_domain_name
;
6795 TALLOC_CTX
*_mem_save_domain_name_0
;
6796 if (ndr_flags
& NDR_SCALARS
) {
6797 NDR_CHECK(ndr_pull_align(ndr
, 5));
6798 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6799 if (_ptr_domain_name
) {
6800 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6802 r
->domain_name
= NULL
;
6804 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6805 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6807 if (ndr_flags
& NDR_BUFFERS
) {
6808 if (r
->domain_name
) {
6809 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6810 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6811 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6812 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6813 if (ndr_get_array_length(ndr
, &r
->domain_name
) > ndr_get_array_size(ndr
, &r
->domain_name
)) {
6814 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
));
6816 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t)));
6817 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t), CH_UTF16
));
6818 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6821 return NDR_ERR_SUCCESS
;
6824 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6826 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6828 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6830 if (r
->domain_name
) {
6831 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6834 ndr_print_int32(ndr
, "level", r
->level
);
6838 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6840 if (ndr_flags
& NDR_SCALARS
) {
6841 int level
= ndr_push_get_switch_value(ndr
, r
);
6842 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6843 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6846 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6850 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6853 if (ndr_flags
& NDR_BUFFERS
) {
6854 int level
= ndr_push_get_switch_value(ndr
, r
);
6857 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6861 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6864 return NDR_ERR_SUCCESS
;
6867 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
6871 level
= ndr_pull_get_switch_value(ndr
, r
);
6872 if (ndr_flags
& NDR_SCALARS
) {
6873 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6874 if (_level
!= level
) {
6875 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6877 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6880 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6884 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6887 if (ndr_flags
& NDR_BUFFERS
) {
6890 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6894 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6897 return NDR_ERR_SUCCESS
;
6900 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
6903 level
= ndr_print_get_switch_value(ndr
, r
);
6904 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
6907 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
6911 ndr_print_bad_level(ndr
, name
, level
);
6915 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
6917 if (ndr_flags
& NDR_SCALARS
) {
6918 NDR_CHECK(ndr_push_align(ndr
, 5));
6919 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6920 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6921 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6923 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6924 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6925 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6926 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6928 if (ndr_flags
& NDR_BUFFERS
) {
6929 if (r
->netbios_name
) {
6930 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6931 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6932 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6933 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6936 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6937 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6938 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6939 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6942 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6943 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6944 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6945 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6947 if (r
->computer_dn
) {
6948 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6949 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6950 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6951 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6954 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6955 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6956 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6957 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6960 return NDR_ERR_SUCCESS
;
6963 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
6965 uint32_t _ptr_netbios_name
;
6966 TALLOC_CTX
*_mem_save_netbios_name_0
;
6967 uint32_t _ptr_dns_name
;
6968 TALLOC_CTX
*_mem_save_dns_name_0
;
6969 uint32_t _ptr_site_name
;
6970 TALLOC_CTX
*_mem_save_site_name_0
;
6971 uint32_t _ptr_computer_dn
;
6972 TALLOC_CTX
*_mem_save_computer_dn_0
;
6973 uint32_t _ptr_server_dn
;
6974 TALLOC_CTX
*_mem_save_server_dn_0
;
6975 if (ndr_flags
& NDR_SCALARS
) {
6976 NDR_CHECK(ndr_pull_align(ndr
, 5));
6977 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6978 if (_ptr_netbios_name
) {
6979 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
6981 r
->netbios_name
= NULL
;
6983 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
6984 if (_ptr_dns_name
) {
6985 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
6989 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
6990 if (_ptr_site_name
) {
6991 NDR_PULL_ALLOC(ndr
, r
->site_name
);
6993 r
->site_name
= NULL
;
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
6996 if (_ptr_computer_dn
) {
6997 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
6999 r
->computer_dn
= NULL
;
7001 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7002 if (_ptr_server_dn
) {
7003 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7005 r
->server_dn
= NULL
;
7007 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7008 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7009 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7011 if (ndr_flags
& NDR_BUFFERS
) {
7012 if (r
->netbios_name
) {
7013 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7014 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7015 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7016 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7017 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7018 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
));
7020 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7021 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7025 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7026 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7027 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7028 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7029 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7030 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
));
7032 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7033 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7034 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7037 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7038 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7039 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7040 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7041 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7042 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
));
7044 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7045 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7046 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7048 if (r
->computer_dn
) {
7049 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7050 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7051 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7052 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7053 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7054 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
));
7056 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7057 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7058 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7061 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7062 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7063 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7064 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7065 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7066 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
));
7068 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7069 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7070 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7073 return NDR_ERR_SUCCESS
;
7076 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7078 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7080 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7082 if (r
->netbios_name
) {
7083 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7086 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7089 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7092 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7095 ndr_print_string(ndr
, "site_name", r
->site_name
);
7098 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7100 if (r
->computer_dn
) {
7101 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7104 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7107 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7110 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7111 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7115 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7117 uint32_t cntr_array_1
;
7118 if (ndr_flags
& NDR_SCALARS
) {
7119 NDR_CHECK(ndr_push_align(ndr
, 5));
7120 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7121 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7122 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7124 if (ndr_flags
& NDR_BUFFERS
) {
7126 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7127 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7128 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7130 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7131 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7135 return NDR_ERR_SUCCESS
;
7138 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7140 uint32_t _ptr_array
;
7141 uint32_t cntr_array_1
;
7142 TALLOC_CTX
*_mem_save_array_0
;
7143 TALLOC_CTX
*_mem_save_array_1
;
7144 if (ndr_flags
& NDR_SCALARS
) {
7145 NDR_CHECK(ndr_pull_align(ndr
, 5));
7146 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7147 if (r
->count
> 10000) {
7148 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7150 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7152 NDR_PULL_ALLOC(ndr
, r
->array
);
7156 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7158 if (ndr_flags
& NDR_BUFFERS
) {
7160 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7161 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7162 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7163 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7164 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7165 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7166 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7167 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7169 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7170 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7172 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7173 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7176 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7179 return NDR_ERR_SUCCESS
;
7182 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7184 uint32_t cntr_array_1
;
7185 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7187 ndr_print_uint32(ndr
, "count", r
->count
);
7188 ndr_print_ptr(ndr
, "array", r
->array
);
7191 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7193 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7195 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7196 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7206 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7208 if (ndr_flags
& NDR_SCALARS
) {
7209 NDR_CHECK(ndr_push_align(ndr
, 5));
7210 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7211 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7212 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7213 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7214 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7215 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7216 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7217 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7218 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7219 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7220 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7221 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7222 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7223 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7224 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7226 if (ndr_flags
& NDR_BUFFERS
) {
7227 if (r
->netbios_name
) {
7228 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7229 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7230 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7231 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7234 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7235 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7236 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7237 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7240 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7241 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7242 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7243 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7246 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7247 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7248 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7249 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7251 if (r
->computer_dn
) {
7252 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7253 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7254 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7255 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7258 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7259 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7260 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7261 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7264 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7265 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7266 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7267 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7270 return NDR_ERR_SUCCESS
;
7273 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7275 uint32_t _ptr_netbios_name
;
7276 TALLOC_CTX
*_mem_save_netbios_name_0
;
7277 uint32_t _ptr_dns_name
;
7278 TALLOC_CTX
*_mem_save_dns_name_0
;
7279 uint32_t _ptr_site_name
;
7280 TALLOC_CTX
*_mem_save_site_name_0
;
7281 uint32_t _ptr_site_dn
;
7282 TALLOC_CTX
*_mem_save_site_dn_0
;
7283 uint32_t _ptr_computer_dn
;
7284 TALLOC_CTX
*_mem_save_computer_dn_0
;
7285 uint32_t _ptr_server_dn
;
7286 TALLOC_CTX
*_mem_save_server_dn_0
;
7287 uint32_t _ptr_ntds_dn
;
7288 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7289 if (ndr_flags
& NDR_SCALARS
) {
7290 NDR_CHECK(ndr_pull_align(ndr
, 5));
7291 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7292 if (_ptr_netbios_name
) {
7293 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7295 r
->netbios_name
= NULL
;
7297 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7298 if (_ptr_dns_name
) {
7299 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7303 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7304 if (_ptr_site_name
) {
7305 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7307 r
->site_name
= NULL
;
7309 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7311 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7315 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7316 if (_ptr_computer_dn
) {
7317 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7319 r
->computer_dn
= NULL
;
7321 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7322 if (_ptr_server_dn
) {
7323 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7325 r
->server_dn
= NULL
;
7327 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7329 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7333 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7334 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7335 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7336 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7337 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7338 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7339 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7340 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7342 if (ndr_flags
& NDR_BUFFERS
) {
7343 if (r
->netbios_name
) {
7344 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7345 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7346 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7347 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7348 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7349 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
));
7351 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7352 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7353 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7356 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7357 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7358 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7359 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7360 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7361 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
));
7363 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7364 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7365 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7368 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7369 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7370 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7371 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7372 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7373 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
));
7375 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7376 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7377 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7380 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7381 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7382 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7383 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7384 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7385 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
));
7387 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7388 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7391 if (r
->computer_dn
) {
7392 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7393 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7394 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7395 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7396 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7397 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
));
7399 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7400 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7404 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7405 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7406 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7407 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7408 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7409 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
));
7411 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7412 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7416 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7417 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7418 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7419 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7420 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7421 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
));
7423 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7424 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7425 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7428 return NDR_ERR_SUCCESS
;
7431 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7433 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7435 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7437 if (r
->netbios_name
) {
7438 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7441 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7444 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7447 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7450 ndr_print_string(ndr
, "site_name", r
->site_name
);
7453 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7456 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7459 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7461 if (r
->computer_dn
) {
7462 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7465 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7468 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7471 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7474 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7477 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7478 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7479 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7480 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7481 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7482 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7483 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7487 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7489 uint32_t cntr_array_1
;
7490 if (ndr_flags
& NDR_SCALARS
) {
7491 NDR_CHECK(ndr_push_align(ndr
, 5));
7492 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7493 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7494 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7496 if (ndr_flags
& NDR_BUFFERS
) {
7498 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7499 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7500 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7502 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7503 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7507 return NDR_ERR_SUCCESS
;
7510 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7512 uint32_t _ptr_array
;
7513 uint32_t cntr_array_1
;
7514 TALLOC_CTX
*_mem_save_array_0
;
7515 TALLOC_CTX
*_mem_save_array_1
;
7516 if (ndr_flags
& NDR_SCALARS
) {
7517 NDR_CHECK(ndr_pull_align(ndr
, 5));
7518 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7519 if (r
->count
> 10000) {
7520 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7522 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7524 NDR_PULL_ALLOC(ndr
, r
->array
);
7528 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7530 if (ndr_flags
& NDR_BUFFERS
) {
7532 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7533 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7534 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7535 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7536 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7537 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7538 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7539 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7541 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7542 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7545 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7548 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7551 return NDR_ERR_SUCCESS
;
7554 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7556 uint32_t cntr_array_1
;
7557 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7559 ndr_print_uint32(ndr
, "count", r
->count
);
7560 ndr_print_ptr(ndr
, "array", r
->array
);
7563 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7565 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7567 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7568 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7578 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7580 if (ndr_flags
& NDR_SCALARS
) {
7581 NDR_CHECK(ndr_push_align(ndr
, 5));
7582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7583 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7584 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7585 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7586 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7587 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7588 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7589 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7590 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7591 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7592 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7593 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7594 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7595 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7596 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7597 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7599 if (ndr_flags
& NDR_BUFFERS
) {
7600 if (r
->netbios_name
) {
7601 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7602 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7603 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7604 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7607 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7608 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7609 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7610 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7613 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7614 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7615 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7616 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7619 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7620 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7621 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7622 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7624 if (r
->computer_dn
) {
7625 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7626 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7627 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7628 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7631 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7632 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7633 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7634 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7637 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7638 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7639 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7640 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7643 return NDR_ERR_SUCCESS
;
7646 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7648 uint32_t _ptr_netbios_name
;
7649 TALLOC_CTX
*_mem_save_netbios_name_0
;
7650 uint32_t _ptr_dns_name
;
7651 TALLOC_CTX
*_mem_save_dns_name_0
;
7652 uint32_t _ptr_site_name
;
7653 TALLOC_CTX
*_mem_save_site_name_0
;
7654 uint32_t _ptr_site_dn
;
7655 TALLOC_CTX
*_mem_save_site_dn_0
;
7656 uint32_t _ptr_computer_dn
;
7657 TALLOC_CTX
*_mem_save_computer_dn_0
;
7658 uint32_t _ptr_server_dn
;
7659 TALLOC_CTX
*_mem_save_server_dn_0
;
7660 uint32_t _ptr_ntds_dn
;
7661 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7662 if (ndr_flags
& NDR_SCALARS
) {
7663 NDR_CHECK(ndr_pull_align(ndr
, 5));
7664 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7665 if (_ptr_netbios_name
) {
7666 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7668 r
->netbios_name
= NULL
;
7670 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7671 if (_ptr_dns_name
) {
7672 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7676 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7677 if (_ptr_site_name
) {
7678 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7680 r
->site_name
= NULL
;
7682 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7684 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7688 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7689 if (_ptr_computer_dn
) {
7690 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7692 r
->computer_dn
= NULL
;
7694 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7695 if (_ptr_server_dn
) {
7696 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7698 r
->server_dn
= NULL
;
7700 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7702 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7706 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7707 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7708 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7709 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7710 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7711 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7712 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7713 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7714 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7716 if (ndr_flags
& NDR_BUFFERS
) {
7717 if (r
->netbios_name
) {
7718 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7719 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7720 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7721 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7722 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7723 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
));
7725 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7726 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7727 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7730 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7731 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7732 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7733 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7734 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7735 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
));
7737 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7738 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7742 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7743 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7744 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7745 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7746 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7747 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
));
7749 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7750 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7751 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7754 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7755 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7756 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7757 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7758 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7759 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
));
7761 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7762 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7763 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7765 if (r
->computer_dn
) {
7766 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7767 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7768 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7769 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7770 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7771 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
));
7773 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7774 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7775 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7778 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7779 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7780 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7781 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7782 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7783 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
));
7785 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7786 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7787 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7790 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7791 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7792 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7793 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7794 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7795 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
));
7797 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7798 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7799 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7802 return NDR_ERR_SUCCESS
;
7805 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7807 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7809 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7811 if (r
->netbios_name
) {
7812 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7815 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7818 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7821 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7824 ndr_print_string(ndr
, "site_name", r
->site_name
);
7827 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7830 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7833 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7835 if (r
->computer_dn
) {
7836 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7839 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7842 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7845 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7848 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7851 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7852 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7853 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7854 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
7855 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7856 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7857 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7858 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7862 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7864 uint32_t cntr_array_1
;
7865 if (ndr_flags
& NDR_SCALARS
) {
7866 NDR_CHECK(ndr_push_align(ndr
, 5));
7867 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7868 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7869 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7871 if (ndr_flags
& NDR_BUFFERS
) {
7873 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7874 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7875 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7877 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7878 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7882 return NDR_ERR_SUCCESS
;
7885 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
7887 uint32_t _ptr_array
;
7888 uint32_t cntr_array_1
;
7889 TALLOC_CTX
*_mem_save_array_0
;
7890 TALLOC_CTX
*_mem_save_array_1
;
7891 if (ndr_flags
& NDR_SCALARS
) {
7892 NDR_CHECK(ndr_pull_align(ndr
, 5));
7893 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7894 if (r
->count
> 10000) {
7895 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7897 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7899 NDR_PULL_ALLOC(ndr
, r
->array
);
7903 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7905 if (ndr_flags
& NDR_BUFFERS
) {
7907 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7908 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7909 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7910 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7911 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7912 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7913 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7914 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7916 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7917 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7919 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7920 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7923 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7926 return NDR_ERR_SUCCESS
;
7929 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7931 uint32_t cntr_array_1
;
7932 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
7934 ndr_print_uint32(ndr
, "count", r
->count
);
7935 ndr_print_ptr(ndr
, "array", r
->array
);
7938 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7940 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7942 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7943 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
7953 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
7955 if (ndr_flags
& NDR_SCALARS
) {
7956 NDR_CHECK(ndr_push_align(ndr
, 5));
7958 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7959 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7960 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
7961 ndr
->flags
= _flags_save_ipv4address
;
7963 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7964 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
7965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
7966 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
7967 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
7968 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
7969 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7971 if (ndr_flags
& NDR_BUFFERS
) {
7972 if (r
->client_account
) {
7973 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7974 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7975 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7976 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7979 return NDR_ERR_SUCCESS
;
7982 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
7984 uint32_t _ptr_client_account
;
7985 TALLOC_CTX
*_mem_save_client_account_0
;
7986 if (ndr_flags
& NDR_SCALARS
) {
7987 NDR_CHECK(ndr_pull_align(ndr
, 5));
7989 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7990 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7991 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
7992 ndr
->flags
= _flags_save_ipv4address
;
7994 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
7995 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
7996 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
7997 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
7998 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
7999 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
8000 if (_ptr_client_account
) {
8001 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8003 r
->client_account
= NULL
;
8005 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8007 if (ndr_flags
& NDR_BUFFERS
) {
8008 if (r
->client_account
) {
8009 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8010 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8011 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8012 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8013 if (ndr_get_array_length(ndr
, &r
->client_account
) > ndr_get_array_size(ndr
, &r
->client_account
)) {
8014 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
));
8016 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t)));
8017 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t), CH_UTF16
));
8018 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8021 return NDR_ERR_SUCCESS
;
8024 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8026 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8028 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8029 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8030 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8031 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8032 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8033 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8034 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8036 if (r
->client_account
) {
8037 ndr_print_string(ndr
, "client_account", r
->client_account
);
8043 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8045 uint32_t cntr_array_1
;
8046 if (ndr_flags
& NDR_SCALARS
) {
8047 NDR_CHECK(ndr_push_align(ndr
, 5));
8048 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8049 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8050 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8052 if (ndr_flags
& NDR_BUFFERS
) {
8054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8055 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8056 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8058 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8059 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8063 return NDR_ERR_SUCCESS
;
8066 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8068 uint32_t _ptr_array
;
8069 uint32_t cntr_array_1
;
8070 TALLOC_CTX
*_mem_save_array_0
;
8071 TALLOC_CTX
*_mem_save_array_1
;
8072 if (ndr_flags
& NDR_SCALARS
) {
8073 NDR_CHECK(ndr_pull_align(ndr
, 5));
8074 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8075 if (r
->count
> 10000) {
8076 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8078 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8080 NDR_PULL_ALLOC(ndr
, r
->array
);
8084 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8086 if (ndr_flags
& NDR_BUFFERS
) {
8088 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8089 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8090 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8091 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8092 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8093 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8094 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8095 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8097 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8098 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8100 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8101 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8104 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8107 return NDR_ERR_SUCCESS
;
8110 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8112 uint32_t cntr_array_1
;
8113 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8115 ndr_print_uint32(ndr
, "count", r
->count
);
8116 ndr_print_ptr(ndr
, "array", r
->array
);
8119 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8121 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8123 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8124 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8134 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8136 if (ndr_flags
& NDR_SCALARS
) {
8137 int level
= ndr_push_get_switch_value(ndr
, r
);
8138 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8139 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8141 case DRSUAPI_DC_INFO_CTR_1
: {
8142 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8145 case DRSUAPI_DC_INFO_CTR_2
: {
8146 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8149 case DRSUAPI_DC_INFO_CTR_3
: {
8150 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8153 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8154 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8158 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8161 if (ndr_flags
& NDR_BUFFERS
) {
8162 int level
= ndr_push_get_switch_value(ndr
, r
);
8164 case DRSUAPI_DC_INFO_CTR_1
:
8165 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8168 case DRSUAPI_DC_INFO_CTR_2
:
8169 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8172 case DRSUAPI_DC_INFO_CTR_3
:
8173 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8176 case DRSUAPI_DC_CONNECTION_CTR_01
:
8177 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8181 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8184 return NDR_ERR_SUCCESS
;
8187 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8191 level
= ndr_pull_get_switch_value(ndr
, r
);
8192 if (ndr_flags
& NDR_SCALARS
) {
8193 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8194 if (_level
!= level
) {
8195 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8197 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8199 case DRSUAPI_DC_INFO_CTR_1
: {
8200 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8203 case DRSUAPI_DC_INFO_CTR_2
: {
8204 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8207 case DRSUAPI_DC_INFO_CTR_3
: {
8208 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8211 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8212 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8216 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8219 if (ndr_flags
& NDR_BUFFERS
) {
8221 case DRSUAPI_DC_INFO_CTR_1
:
8222 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8225 case DRSUAPI_DC_INFO_CTR_2
:
8226 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8229 case DRSUAPI_DC_INFO_CTR_3
:
8230 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8233 case DRSUAPI_DC_CONNECTION_CTR_01
:
8234 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8238 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8241 return NDR_ERR_SUCCESS
;
8244 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8247 level
= ndr_print_get_switch_value(ndr
, r
);
8248 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8250 case DRSUAPI_DC_INFO_CTR_1
:
8251 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8254 case DRSUAPI_DC_INFO_CTR_2
:
8255 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8258 case DRSUAPI_DC_INFO_CTR_3
:
8259 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8262 case DRSUAPI_DC_CONNECTION_CTR_01
:
8263 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8267 ndr_print_bad_level(ndr
, name
, level
);
8271 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8273 if (ndr_flags
& NDR_SCALARS
) {
8274 NDR_CHECK(ndr_push_align(ndr
, 5));
8275 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8276 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8277 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8279 if (ndr_flags
& NDR_BUFFERS
) {
8280 if (r
->next_object
) {
8281 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8283 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8285 return NDR_ERR_SUCCESS
;
8288 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8290 uint32_t _ptr_next_object
;
8291 TALLOC_CTX
*_mem_save_next_object_0
;
8292 if (ndr_flags
& NDR_SCALARS
) {
8293 NDR_CHECK(ndr_pull_align(ndr
, 5));
8294 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8295 if (_ptr_next_object
) {
8296 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8298 r
->next_object
= NULL
;
8300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8301 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8303 if (ndr_flags
& NDR_BUFFERS
) {
8304 if (r
->next_object
) {
8305 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8306 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8307 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8308 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8312 return NDR_ERR_SUCCESS
;
8315 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_DirErr(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAddEntry_DirErr r
)
8317 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
8318 return NDR_ERR_SUCCESS
;
8321 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_DirErr(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAddEntry_DirErr
*r
)
8324 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
8326 return NDR_ERR_SUCCESS
;
8329 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAddEntry_DirErr r
)
8331 const char *val
= NULL
;
8334 case DRSUAPI_DIRERR_OK
: val
= "DRSUAPI_DIRERR_OK"; break;
8335 case DRSUAPI_DIRERR_ATTRIBUTE
: val
= "DRSUAPI_DIRERR_ATTRIBUTE"; break;
8336 case DRSUAPI_DIRERR_NAME
: val
= "DRSUAPI_DIRERR_NAME"; break;
8337 case DRSUAPI_DIRERR_REFERRAL
: val
= "DRSUAPI_DIRERR_REFERRAL"; break;
8338 case DRSUAPI_DIRERR_SECURITY
: val
= "DRSUAPI_DIRERR_SECURITY"; break;
8339 case DRSUAPI_DIRERR_SERVICE
: val
= "DRSUAPI_DIRERR_SERVICE"; break;
8340 case DRSUAPI_DIRERR_UPDATE
: val
= "DRSUAPI_DIRERR_UPDATE"; break;
8341 case DRSUAPI_DIRERR_SYSTEM
: val
= "DRSUAPI_DIRERR_SYSTEM"; break;
8343 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
8346 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8348 if (ndr_flags
& NDR_SCALARS
) {
8349 NDR_CHECK(ndr_push_align(ndr
, 5));
8350 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8351 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8353 if (ndr_flags
& NDR_BUFFERS
) {
8354 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8356 return NDR_ERR_SUCCESS
;
8359 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8361 if (ndr_flags
& NDR_SCALARS
) {
8362 NDR_CHECK(ndr_pull_align(ndr
, 5));
8363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8364 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8366 if (ndr_flags
& NDR_BUFFERS
) {
8367 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8369 return NDR_ERR_SUCCESS
;
8372 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8374 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8376 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8380 static enum ndr_err_code
ndr_push_drsuapi_SecBufferType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_SecBufferType r
)
8382 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
8383 return NDR_ERR_SUCCESS
;
8386 static enum ndr_err_code
ndr_pull_drsuapi_SecBufferType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_SecBufferType
*r
)
8389 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
8391 return NDR_ERR_SUCCESS
;
8394 static enum ndr_err_code
ndr_push_drsuapi_SecBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_SecBuffer
*r
)
8396 if (ndr_flags
& NDR_SCALARS
) {
8397 NDR_CHECK(ndr_push_align(ndr
, 5));
8398 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buf_size
));
8399 NDR_CHECK(ndr_push_drsuapi_SecBufferType(ndr
, NDR_SCALARS
, r
->buf_type
));
8400 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffer
));
8401 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8403 if (ndr_flags
& NDR_BUFFERS
) {
8405 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->buf_size
));
8406 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, r
->buf_size
));
8409 return NDR_ERR_SUCCESS
;
8412 static enum ndr_err_code
ndr_pull_drsuapi_SecBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_SecBuffer
*r
)
8414 uint32_t _ptr_buffer
;
8415 TALLOC_CTX
*_mem_save_buffer_0
;
8416 if (ndr_flags
& NDR_SCALARS
) {
8417 NDR_CHECK(ndr_pull_align(ndr
, 5));
8418 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buf_size
));
8419 if (r
->buf_size
> 10000) {
8420 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8422 NDR_CHECK(ndr_pull_drsuapi_SecBufferType(ndr
, NDR_SCALARS
, &r
->buf_type
));
8423 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffer
));
8425 NDR_PULL_ALLOC(ndr
, r
->buffer
);
8429 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8431 if (ndr_flags
& NDR_BUFFERS
) {
8433 _mem_save_buffer_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8434 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffer
, 0);
8435 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffer
));
8436 NDR_PULL_ALLOC_N(ndr
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
));
8437 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->buffer
, ndr_get_array_size(ndr
, &r
->buffer
)));
8438 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffer_0
, 0);
8441 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffer
, r
->buf_size
));
8444 return NDR_ERR_SUCCESS
;
8447 _PUBLIC_
void ndr_print_drsuapi_SecBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_SecBuffer
*r
)
8449 ndr_print_struct(ndr
, name
, "drsuapi_SecBuffer");
8451 ndr_print_uint32(ndr
, "buf_size", r
->buf_size
);
8452 ndr_print_drsuapi_SecBufferType(ndr
, "buf_type", r
->buf_type
);
8453 ndr_print_ptr(ndr
, "buffer", r
->buffer
);
8456 ndr_print_array_uint8(ndr
, "buffer", r
->buffer
, r
->buf_size
);
8462 static enum ndr_err_code
ndr_push_drsuapi_SecBufferDesc(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_SecBufferDesc
*r
)
8464 uint32_t cntr_buffers_1
;
8465 if (ndr_flags
& NDR_SCALARS
) {
8466 NDR_CHECK(ndr_push_align(ndr
, 5));
8467 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8468 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->buff_count
));
8469 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buffers
));
8470 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8472 if (ndr_flags
& NDR_BUFFERS
) {
8474 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->buff_count
));
8475 for (cntr_buffers_1
= 0; cntr_buffers_1
< r
->buff_count
; cntr_buffers_1
++) {
8476 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr
, NDR_SCALARS
, &r
->buffers
[cntr_buffers_1
]));
8478 for (cntr_buffers_1
= 0; cntr_buffers_1
< r
->buff_count
; cntr_buffers_1
++) {
8479 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr
, NDR_BUFFERS
, &r
->buffers
[cntr_buffers_1
]));
8483 return NDR_ERR_SUCCESS
;
8486 static enum ndr_err_code
ndr_pull_drsuapi_SecBufferDesc(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_SecBufferDesc
*r
)
8488 uint32_t _ptr_buffers
;
8489 uint32_t cntr_buffers_1
;
8490 TALLOC_CTX
*_mem_save_buffers_0
;
8491 TALLOC_CTX
*_mem_save_buffers_1
;
8492 if (ndr_flags
& NDR_SCALARS
) {
8493 NDR_CHECK(ndr_pull_align(ndr
, 5));
8494 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
8495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->buff_count
));
8496 if (r
->buff_count
> 10000) {
8497 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8499 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buffers
));
8501 NDR_PULL_ALLOC(ndr
, r
->buffers
);
8505 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8507 if (ndr_flags
& NDR_BUFFERS
) {
8509 _mem_save_buffers_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8510 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffers
, 0);
8511 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->buffers
));
8512 NDR_PULL_ALLOC_N(ndr
, r
->buffers
, ndr_get_array_size(ndr
, &r
->buffers
));
8513 _mem_save_buffers_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8514 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffers
, 0);
8515 for (cntr_buffers_1
= 0; cntr_buffers_1
< r
->buff_count
; cntr_buffers_1
++) {
8516 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr
, NDR_SCALARS
, &r
->buffers
[cntr_buffers_1
]));
8518 for (cntr_buffers_1
= 0; cntr_buffers_1
< r
->buff_count
; cntr_buffers_1
++) {
8519 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr
, NDR_BUFFERS
, &r
->buffers
[cntr_buffers_1
]));
8521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_1
, 0);
8522 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
8525 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->buffers
, r
->buff_count
));
8528 return NDR_ERR_SUCCESS
;
8531 _PUBLIC_
void ndr_print_drsuapi_SecBufferDesc(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_SecBufferDesc
*r
)
8533 uint32_t cntr_buffers_1
;
8534 ndr_print_struct(ndr
, name
, "drsuapi_SecBufferDesc");
8536 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->version
);
8537 ndr_print_uint32(ndr
, "buff_count", r
->buff_count
);
8538 ndr_print_ptr(ndr
, "buffers", r
->buffers
);
8541 ndr
->print(ndr
, "%s: ARRAY(%d)", "buffers", (int)r
->buff_count
);
8543 for (cntr_buffers_1
=0;cntr_buffers_1
<r
->buff_count
;cntr_buffers_1
++) {
8545 if (asprintf(&idx_1
, "[%d]", cntr_buffers_1
) != -1) {
8546 ndr_print_drsuapi_SecBuffer(ndr
, "buffers", &r
->buffers
[cntr_buffers_1
]);
8556 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest3
*r
)
8558 if (ndr_flags
& NDR_SCALARS
) {
8559 NDR_CHECK(ndr_push_align(ndr
, 5));
8560 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8561 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_creds
));
8562 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8564 if (ndr_flags
& NDR_BUFFERS
) {
8565 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8566 if (r
->client_creds
) {
8567 NDR_CHECK(ndr_push_drsuapi_SecBufferDesc(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->client_creds
));
8570 return NDR_ERR_SUCCESS
;
8573 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest3
*r
)
8575 uint32_t _ptr_client_creds
;
8576 TALLOC_CTX
*_mem_save_client_creds_0
;
8577 if (ndr_flags
& NDR_SCALARS
) {
8578 NDR_CHECK(ndr_pull_align(ndr
, 5));
8579 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8580 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_creds
));
8581 if (_ptr_client_creds
) {
8582 NDR_PULL_ALLOC(ndr
, r
->client_creds
);
8584 r
->client_creds
= NULL
;
8586 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8588 if (ndr_flags
& NDR_BUFFERS
) {
8589 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8590 if (r
->client_creds
) {
8591 _mem_save_client_creds_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8592 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_creds
, 0);
8593 NDR_CHECK(ndr_pull_drsuapi_SecBufferDesc(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->client_creds
));
8594 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_creds_0
, 0);
8597 return NDR_ERR_SUCCESS
;
8600 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest3
*r
)
8602 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest3");
8604 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8605 ndr_print_ptr(ndr
, "client_creds", r
->client_creds
);
8607 if (r
->client_creds
) {
8608 ndr_print_drsuapi_SecBufferDesc(ndr
, "client_creds", r
->client_creds
);
8614 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8616 if (ndr_flags
& NDR_SCALARS
) {
8617 int level
= ndr_push_get_switch_value(ndr
, r
);
8618 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8619 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8622 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8626 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr
, NDR_SCALARS
, &r
->req3
));
8630 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8633 if (ndr_flags
& NDR_BUFFERS
) {
8634 int level
= ndr_push_get_switch_value(ndr
, r
);
8637 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8641 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr
, NDR_BUFFERS
, &r
->req3
));
8645 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8648 return NDR_ERR_SUCCESS
;
8651 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8655 level
= ndr_pull_get_switch_value(ndr
, r
);
8656 if (ndr_flags
& NDR_SCALARS
) {
8657 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8658 if (_level
!= level
) {
8659 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8661 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8664 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8668 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr
, NDR_SCALARS
, &r
->req3
));
8672 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8675 if (ndr_flags
& NDR_BUFFERS
) {
8678 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8682 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr
, NDR_BUFFERS
, &r
->req3
));
8686 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8689 return NDR_ERR_SUCCESS
;
8692 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8695 level
= ndr_print_get_switch_value(ndr
, r
);
8696 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8699 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8703 ndr_print_drsuapi_DsAddEntryRequest3(ndr
, "req3", &r
->req3
);
8707 ndr_print_bad_level(ndr
, name
, level
);
8711 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8713 if (ndr_flags
& NDR_SCALARS
) {
8714 NDR_CHECK(ndr_push_align(ndr
, 4));
8715 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->dsid
));
8716 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->extended_err
));
8717 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->extended_data
));
8718 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->problem
));
8719 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8721 if (ndr_flags
& NDR_BUFFERS
) {
8723 return NDR_ERR_SUCCESS
;
8726 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8728 if (ndr_flags
& NDR_SCALARS
) {
8729 NDR_CHECK(ndr_pull_align(ndr
, 4));
8730 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->dsid
));
8731 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->extended_err
));
8732 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extended_data
));
8733 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->problem
));
8734 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8736 if (ndr_flags
& NDR_BUFFERS
) {
8738 return NDR_ERR_SUCCESS
;
8741 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8743 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8745 ndr_print_uint32(ndr
, "dsid", r
->dsid
);
8746 ndr_print_WERROR(ndr
, "extended_err", r
->extended_err
);
8747 ndr_print_uint32(ndr
, "extended_data", r
->extended_data
);
8748 ndr_print_uint16(ndr
, "problem", r
->problem
);
8752 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntry_AttrErr_V1
*r
)
8754 if (ndr_flags
& NDR_SCALARS
) {
8755 NDR_CHECK(ndr_push_align(ndr
, 5));
8756 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->dsid
));
8757 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->extended_err
));
8758 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->extended_data
));
8759 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->problem
));
8760 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8761 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_val_returned
));
8762 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->attr_val
));
8763 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8765 if (ndr_flags
& NDR_BUFFERS
) {
8766 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->attr_val
));
8768 return NDR_ERR_SUCCESS
;
8771 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntry_AttrErr_V1
*r
)
8773 if (ndr_flags
& NDR_SCALARS
) {
8774 NDR_CHECK(ndr_pull_align(ndr
, 5));
8775 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->dsid
));
8776 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->extended_err
));
8777 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extended_data
));
8778 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->problem
));
8779 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8780 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_val_returned
));
8781 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->attr_val
));
8782 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8784 if (ndr_flags
& NDR_BUFFERS
) {
8785 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->attr_val
));
8787 return NDR_ERR_SUCCESS
;
8790 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntry_AttrErr_V1
*r
)
8792 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry_AttrErr_V1");
8794 ndr_print_uint32(ndr
, "dsid", r
->dsid
);
8795 ndr_print_WERROR(ndr
, "extended_err", r
->extended_err
);
8796 ndr_print_uint32(ndr
, "extended_data", r
->extended_data
);
8797 ndr_print_uint16(ndr
, "problem", r
->problem
);
8798 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8799 ndr_print_uint32(ndr
, "is_val_returned", r
->is_val_returned
);
8800 ndr_print_drsuapi_DsAttributeValue(ndr
, "attr_val", &r
->attr_val
);
8804 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntry_AttrErrListItem_V1
*r
)
8806 if (ndr_flags
& NDR_SCALARS
) {
8807 NDR_CHECK(ndr_push_align(ndr
, 5));
8808 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8809 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr
, NDR_SCALARS
, &r
->err_data
));
8810 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8812 if (ndr_flags
& NDR_BUFFERS
) {
8814 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8816 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr
, NDR_BUFFERS
, &r
->err_data
));
8818 return NDR_ERR_SUCCESS
;
8821 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntry_AttrErrListItem_V1
*r
)
8824 TALLOC_CTX
*_mem_save_next_0
;
8825 if (ndr_flags
& NDR_SCALARS
) {
8826 NDR_CHECK(ndr_pull_align(ndr
, 5));
8827 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8829 NDR_PULL_ALLOC(ndr
, r
->next
);
8833 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr
, NDR_SCALARS
, &r
->err_data
));
8834 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8836 if (ndr_flags
& NDR_BUFFERS
) {
8838 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8839 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8840 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8841 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8843 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr
, NDR_BUFFERS
, &r
->err_data
));
8845 return NDR_ERR_SUCCESS
;
8848 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1
*r
)
8850 if (ndr_flags
& NDR_SCALARS
) {
8851 NDR_CHECK(ndr_push_align(ndr
, 5));
8852 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8853 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8854 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, NDR_SCALARS
, &r
->first
));
8855 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8857 if (ndr_flags
& NDR_BUFFERS
) {
8859 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8861 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, NDR_BUFFERS
, &r
->first
));
8863 return NDR_ERR_SUCCESS
;
8866 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo_Attr_V1
*r
)
8869 TALLOC_CTX
*_mem_save_id_0
;
8870 if (ndr_flags
& NDR_SCALARS
) {
8871 NDR_CHECK(ndr_pull_align(ndr
, 5));
8872 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8874 NDR_PULL_ALLOC(ndr
, r
->id
);
8878 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8879 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, NDR_SCALARS
, &r
->first
));
8880 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8882 if (ndr_flags
& NDR_BUFFERS
) {
8884 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8885 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8886 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8889 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, NDR_BUFFERS
, &r
->first
));
8891 return NDR_ERR_SUCCESS
;
8894 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1
*r
)
8896 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo_Attr_V1");
8898 ndr_print_ptr(ndr
, "id", r
->id
);
8901 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8904 ndr_print_uint32(ndr
, "count", r
->count
);
8905 ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr
, "first", &r
->first
);
8909 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo_Name_V1
*r
)
8911 if (ndr_flags
& NDR_SCALARS
) {
8912 NDR_CHECK(ndr_push_align(ndr
, 5));
8913 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->dsid
));
8914 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->extended_err
));
8915 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->extended_data
));
8916 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->problem
));
8917 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id_matched
));
8918 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8920 if (ndr_flags
& NDR_BUFFERS
) {
8921 if (r
->id_matched
) {
8922 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id_matched
));
8925 return NDR_ERR_SUCCESS
;
8928 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo_Name_V1
*r
)
8930 uint32_t _ptr_id_matched
;
8931 TALLOC_CTX
*_mem_save_id_matched_0
;
8932 if (ndr_flags
& NDR_SCALARS
) {
8933 NDR_CHECK(ndr_pull_align(ndr
, 5));
8934 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->dsid
));
8935 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->extended_err
));
8936 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extended_data
));
8937 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->problem
));
8938 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id_matched
));
8939 if (_ptr_id_matched
) {
8940 NDR_PULL_ALLOC(ndr
, r
->id_matched
);
8942 r
->id_matched
= NULL
;
8944 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8946 if (ndr_flags
& NDR_BUFFERS
) {
8947 if (r
->id_matched
) {
8948 _mem_save_id_matched_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8949 NDR_PULL_SET_MEM_CTX(ndr
, r
->id_matched
, 0);
8950 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id_matched
));
8951 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_matched_0
, 0);
8954 return NDR_ERR_SUCCESS
;
8957 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo_Name_V1
*r
)
8959 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo_Name_V1");
8961 ndr_print_uint32(ndr
, "dsid", r
->dsid
);
8962 ndr_print_WERROR(ndr
, "extended_err", r
->extended_err
);
8963 ndr_print_uint32(ndr
, "extended_data", r
->extended_data
);
8964 ndr_print_uint16(ndr
, "problem", r
->problem
);
8965 ndr_print_ptr(ndr
, "id_matched", r
->id_matched
);
8967 if (r
->id_matched
) {
8968 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id_matched", r
->id_matched
);
8974 static enum ndr_err_code
ndr_push_drsuapi_NameResOp_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_NameResOp_V1
*r
)
8976 if (ndr_flags
& NDR_SCALARS
) {
8977 NDR_CHECK(ndr_push_align(ndr
, 2));
8978 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 83));
8979 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0));
8980 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
8981 NDR_CHECK(ndr_push_trailer_align(ndr
, 2));
8983 if (ndr_flags
& NDR_BUFFERS
) {
8985 return NDR_ERR_SUCCESS
;
8988 static enum ndr_err_code
ndr_pull_drsuapi_NameResOp_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_NameResOp_V1
*r
)
8990 if (ndr_flags
& NDR_SCALARS
) {
8991 NDR_CHECK(ndr_pull_align(ndr
, 2));
8992 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->name_res
));
8993 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unused_pad
));
8994 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->next_rdn
));
8995 NDR_CHECK(ndr_pull_trailer_align(ndr
, 2));
8997 if (ndr_flags
& NDR_BUFFERS
) {
8999 return NDR_ERR_SUCCESS
;
9002 _PUBLIC_
void ndr_print_drsuapi_NameResOp_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_NameResOp_V1
*r
)
9004 ndr_print_struct(ndr
, name
, "drsuapi_NameResOp_V1");
9006 ndr_print_uint8(ndr
, "name_res", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?83:r
->name_res
);
9007 ndr_print_uint8(ndr
, "unused_pad", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unused_pad
);
9008 ndr_print_uint16(ndr
, "next_rdn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->next_rdn
);
9012 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_RefType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAddEntry_RefType r
)
9014 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
9015 return NDR_ERR_SUCCESS
;
9018 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_RefType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAddEntry_RefType
*r
)
9021 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
9023 return NDR_ERR_SUCCESS
;
9026 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAddEntry_RefType r
)
9028 const char *val
= NULL
;
9031 case DRSUAPI_CH_REFTYPE_SUPERIOR
: val
= "DRSUAPI_CH_REFTYPE_SUPERIOR"; break;
9032 case DRSUAPI_CH_REFTYPE_SUBORDINATE
: val
= "DRSUAPI_CH_REFTYPE_SUBORDINATE"; break;
9033 case DRSUAPI_CH_REFTYPE_NSSR
: val
= "DRSUAPI_CH_REFTYPE_NSSR"; break;
9034 case DRSUAPI_CH_REFTYPE_CROSS
: val
= "DRSUAPI_CH_REFTYPE_CROSS"; break;
9036 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9039 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_ChoiceType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAddEntry_ChoiceType r
)
9041 NDR_CHECK(ndr_push_enum_uint8(ndr
, NDR_SCALARS
, r
));
9042 return NDR_ERR_SUCCESS
;
9045 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_ChoiceType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAddEntry_ChoiceType
*r
)
9048 NDR_CHECK(ndr_pull_enum_uint8(ndr
, NDR_SCALARS
, &v
));
9050 return NDR_ERR_SUCCESS
;
9053 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAddEntry_ChoiceType r
)
9055 const char *val
= NULL
;
9058 case DRSUAPI_SE_CHOICE_BASE_ONLY
: val
= "DRSUAPI_SE_CHOICE_BASE_ONLY"; break;
9059 case DRSUAPI_SE_CHOICE_IMMED_CHLDRN
: val
= "DRSUAPI_SE_CHOICE_IMMED_CHLDRN"; break;
9060 case DRSUAPI_SE_CHOICE_WHOLE_SUBTREE
: val
= "DRSUAPI_SE_CHOICE_WHOLE_SUBTREE"; break;
9062 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9065 static enum ndr_err_code
ndr_push_drsuapi_DsaAddressListItem_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsaAddressListItem_V1
*r
)
9067 if (ndr_flags
& NDR_SCALARS
) {
9068 NDR_CHECK(ndr_push_align(ndr
, 5));
9069 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
9070 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->address
));
9071 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9073 if (ndr_flags
& NDR_BUFFERS
) {
9075 NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
9078 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->address
));
9081 return NDR_ERR_SUCCESS
;
9084 static enum ndr_err_code
ndr_pull_drsuapi_DsaAddressListItem_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsaAddressListItem_V1
*r
)
9087 TALLOC_CTX
*_mem_save_next_0
;
9088 uint32_t _ptr_address
;
9089 TALLOC_CTX
*_mem_save_address_0
;
9090 if (ndr_flags
& NDR_SCALARS
) {
9091 NDR_CHECK(ndr_pull_align(ndr
, 5));
9092 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
9094 NDR_PULL_ALLOC(ndr
, r
->next
);
9098 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_address
));
9100 NDR_PULL_ALLOC(ndr
, r
->address
);
9104 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9106 if (ndr_flags
& NDR_BUFFERS
) {
9108 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9109 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
9110 NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
9111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
9114 _mem_save_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9115 NDR_PULL_SET_MEM_CTX(ndr
, r
->address
, 0);
9116 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->address
));
9117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_address_0
, 0);
9120 return NDR_ERR_SUCCESS
;
9123 _PUBLIC_
void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsaAddressListItem_V1
*r
)
9125 ndr_print_struct(ndr
, name
, "drsuapi_DsaAddressListItem_V1");
9127 ndr_print_ptr(ndr
, "next", r
->next
);
9130 ndr_print_drsuapi_DsaAddressListItem_V1(ndr
, "next", r
->next
);
9133 ndr_print_ptr(ndr
, "address", r
->address
);
9136 ndr_print_lsa_String(ndr
, "address", r
->address
);
9142 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntry_RefErrListItem_V1
*r
)
9144 if (ndr_flags
& NDR_SCALARS
) {
9145 NDR_CHECK(ndr_push_align(ndr
, 5));
9146 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id_target
));
9147 NDR_CHECK(ndr_push_drsuapi_NameResOp_V1(ndr
, NDR_SCALARS
, &r
->op_state
));
9148 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
9149 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
9150 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefType(ndr
, NDR_SCALARS
, r
->ref_type
));
9151 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->addr_list_count
));
9152 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->addr_list
));
9153 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
9154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_choice_set
));
9155 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ChoiceType(ndr
, NDR_SCALARS
, r
->choice
));
9156 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9158 if (ndr_flags
& NDR_BUFFERS
) {
9160 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id_target
));
9163 NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->addr_list
));
9166 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
9169 return NDR_ERR_SUCCESS
;
9172 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntry_RefErrListItem_V1
*r
)
9174 uint32_t _ptr_id_target
;
9175 TALLOC_CTX
*_mem_save_id_target_0
;
9176 uint32_t _ptr_addr_list
;
9177 TALLOC_CTX
*_mem_save_addr_list_0
;
9179 TALLOC_CTX
*_mem_save_next_0
;
9180 if (ndr_flags
& NDR_SCALARS
) {
9181 NDR_CHECK(ndr_pull_align(ndr
, 5));
9182 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id_target
));
9183 if (_ptr_id_target
) {
9184 NDR_PULL_ALLOC(ndr
, r
->id_target
);
9186 r
->id_target
= NULL
;
9188 NDR_CHECK(ndr_pull_drsuapi_NameResOp_V1(ndr
, NDR_SCALARS
, &r
->op_state
));
9189 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->rdn_alias
));
9190 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->rdn_internal
));
9191 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefType(ndr
, NDR_SCALARS
, &r
->ref_type
));
9192 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->addr_list_count
));
9193 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_addr_list
));
9194 if (_ptr_addr_list
) {
9195 NDR_PULL_ALLOC(ndr
, r
->addr_list
);
9197 r
->addr_list
= NULL
;
9199 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
9201 NDR_PULL_ALLOC(ndr
, r
->next
);
9205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_choice_set
));
9206 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ChoiceType(ndr
, NDR_SCALARS
, &r
->choice
));
9207 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9209 if (ndr_flags
& NDR_BUFFERS
) {
9211 _mem_save_id_target_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9212 NDR_PULL_SET_MEM_CTX(ndr
, r
->id_target
, 0);
9213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id_target
));
9214 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_target_0
, 0);
9217 _mem_save_addr_list_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9218 NDR_PULL_SET_MEM_CTX(ndr
, r
->addr_list
, 0);
9219 NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->addr_list
));
9220 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_addr_list_0
, 0);
9223 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9224 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
9225 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
9226 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
9229 return NDR_ERR_SUCCESS
;
9232 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntry_RefErrListItem_V1
*r
)
9234 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry_RefErrListItem_V1");
9236 ndr_print_ptr(ndr
, "id_target", r
->id_target
);
9239 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id_target", r
->id_target
);
9242 ndr_print_drsuapi_NameResOp_V1(ndr
, "op_state", &r
->op_state
);
9243 ndr_print_uint16(ndr
, "rdn_alias", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->rdn_alias
);
9244 ndr_print_uint16(ndr
, "rdn_internal", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->rdn_internal
);
9245 ndr_print_drsuapi_DsAddEntry_RefType(ndr
, "ref_type", r
->ref_type
);
9246 ndr_print_uint16(ndr
, "addr_list_count", r
->addr_list_count
);
9247 ndr_print_ptr(ndr
, "addr_list", r
->addr_list
);
9250 ndr_print_drsuapi_DsaAddressListItem_V1(ndr
, "addr_list", r
->addr_list
);
9253 ndr_print_ptr(ndr
, "next", r
->next
);
9256 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, "next", r
->next
);
9259 ndr_print_uint32(ndr
, "is_choice_set", r
->is_choice_set
);
9260 ndr_print_drsuapi_DsAddEntry_ChoiceType(ndr
, "choice", r
->choice
);
9264 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1
*r
)
9266 if (ndr_flags
& NDR_SCALARS
) {
9267 NDR_CHECK(ndr_push_align(ndr
, 5));
9268 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->dsid
));
9269 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->extended_err
));
9270 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->extended_data
));
9271 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, NDR_SCALARS
, &r
->refer
));
9272 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9274 if (ndr_flags
& NDR_BUFFERS
) {
9275 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, NDR_BUFFERS
, &r
->refer
));
9277 return NDR_ERR_SUCCESS
;
9280 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo_Referr_V1
*r
)
9282 if (ndr_flags
& NDR_SCALARS
) {
9283 NDR_CHECK(ndr_pull_align(ndr
, 5));
9284 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->dsid
));
9285 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->extended_err
));
9286 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extended_data
));
9287 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, NDR_SCALARS
, &r
->refer
));
9288 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9290 if (ndr_flags
& NDR_BUFFERS
) {
9291 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, NDR_BUFFERS
, &r
->refer
));
9293 return NDR_ERR_SUCCESS
;
9296 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1
*r
)
9298 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo_Referr_V1");
9300 ndr_print_uint32(ndr
, "dsid", r
->dsid
);
9301 ndr_print_WERROR(ndr
, "extended_err", r
->extended_err
);
9302 ndr_print_uint32(ndr
, "extended_data", r
->extended_data
);
9303 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr
, "refer", &r
->refer
);
9307 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
9309 if (ndr_flags
& NDR_SCALARS
) {
9310 int level
= ndr_push_get_switch_value(ndr
, r
);
9311 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9312 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9315 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr
, NDR_SCALARS
, &r
->attr_err
));
9319 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr
, NDR_SCALARS
, &r
->name_err
));
9323 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr
, NDR_SCALARS
, &r
->referral_err
));
9327 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->security_err
));
9331 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->service_err
));
9335 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->update_err
));
9339 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->system_err
));
9343 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9346 if (ndr_flags
& NDR_BUFFERS
) {
9347 int level
= ndr_push_get_switch_value(ndr
, r
);
9350 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr
, NDR_BUFFERS
, &r
->attr_err
));
9354 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr
, NDR_BUFFERS
, &r
->name_err
));
9358 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr
, NDR_BUFFERS
, &r
->referral_err
));
9374 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9377 return NDR_ERR_SUCCESS
;
9380 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
9384 level
= ndr_pull_get_switch_value(ndr
, r
);
9385 if (ndr_flags
& NDR_SCALARS
) {
9386 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9387 if (_level
!= level
) {
9388 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9390 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9393 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr
, NDR_SCALARS
, &r
->attr_err
));
9397 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr
, NDR_SCALARS
, &r
->name_err
));
9401 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr
, NDR_SCALARS
, &r
->referral_err
));
9405 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->security_err
));
9409 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->service_err
));
9413 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->update_err
));
9417 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->system_err
));
9421 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9424 if (ndr_flags
& NDR_BUFFERS
) {
9427 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr
, NDR_BUFFERS
, &r
->attr_err
));
9431 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr
, NDR_BUFFERS
, &r
->name_err
));
9435 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr
, NDR_BUFFERS
, &r
->referral_err
));
9451 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9454 return NDR_ERR_SUCCESS
;
9457 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
9460 level
= ndr_print_get_switch_value(ndr
, r
);
9461 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
9464 ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr
, "attr_err", &r
->attr_err
);
9468 ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr
, "name_err", &r
->name_err
);
9472 ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr
, "referral_err", &r
->referral_err
);
9476 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "security_err", &r
->security_err
);
9480 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "service_err", &r
->service_err
);
9484 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "update_err", &r
->update_err
);
9488 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "system_err", &r
->system_err
);
9492 ndr_print_bad_level(ndr
, name
, level
);
9496 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_ErrData_V1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntry_ErrData_V1
*r
)
9498 if (ndr_flags
& NDR_SCALARS
) {
9499 NDR_CHECK(ndr_push_align(ndr
, 5));
9500 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
9501 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr
, NDR_SCALARS
, r
->dir_err
));
9502 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
9503 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9505 if (ndr_flags
& NDR_BUFFERS
) {
9507 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->dir_err
));
9508 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9511 return NDR_ERR_SUCCESS
;
9514 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_ErrData_V1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntry_ErrData_V1
*r
)
9517 TALLOC_CTX
*_mem_save_info_0
;
9518 if (ndr_flags
& NDR_SCALARS
) {
9519 NDR_CHECK(ndr_pull_align(ndr
, 5));
9520 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
9521 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr
, NDR_SCALARS
, &r
->dir_err
));
9522 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9524 NDR_PULL_ALLOC(ndr
, r
->info
);
9528 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9530 if (ndr_flags
& NDR_BUFFERS
) {
9532 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9533 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
9534 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->dir_err
));
9535 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
9536 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
9539 return NDR_ERR_SUCCESS
;
9542 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntry_ErrData_V1
*r
)
9544 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry_ErrData_V1");
9546 ndr_print_WERROR(ndr
, "status", r
->status
);
9547 ndr_print_drsuapi_DsAddEntry_DirErr(ndr
, "dir_err", r
->dir_err
);
9548 ndr_print_ptr(ndr
, "info", r
->info
);
9551 ndr_print_set_switch_value(ndr
, r
->info
, r
->dir_err
);
9552 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
9558 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntry_ErrData(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntry_ErrData
*r
)
9560 if (ndr_flags
& NDR_SCALARS
) {
9561 int level
= ndr_push_get_switch_value(ndr
, r
);
9562 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9563 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9566 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr
, NDR_SCALARS
, &r
->v1
));
9570 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9573 if (ndr_flags
& NDR_BUFFERS
) {
9574 int level
= ndr_push_get_switch_value(ndr
, r
);
9577 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr
, NDR_BUFFERS
, &r
->v1
));
9581 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9584 return NDR_ERR_SUCCESS
;
9587 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry_ErrData(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntry_ErrData
*r
)
9591 level
= ndr_pull_get_switch_value(ndr
, r
);
9592 if (ndr_flags
& NDR_SCALARS
) {
9593 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9594 if (_level
!= level
) {
9595 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9597 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9600 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr
, NDR_SCALARS
, &r
->v1
));
9604 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9607 if (ndr_flags
& NDR_BUFFERS
) {
9610 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr
, NDR_BUFFERS
, &r
->v1
));
9614 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9617 return NDR_ERR_SUCCESS
;
9620 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntry_ErrData
*r
)
9623 level
= ndr_print_get_switch_value(ndr
, r
);
9624 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntry_ErrData");
9627 ndr_print_drsuapi_DsAddEntry_ErrData_V1(ndr
, "v1", &r
->v1
);
9631 ndr_print_bad_level(ndr
, name
, level
);
9635 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9637 if (ndr_flags
& NDR_SCALARS
) {
9638 NDR_CHECK(ndr_push_align(ndr
, 4));
9639 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9640 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9641 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9643 if (ndr_flags
& NDR_BUFFERS
) {
9644 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9646 return NDR_ERR_SUCCESS
;
9649 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9651 if (ndr_flags
& NDR_SCALARS
) {
9652 NDR_CHECK(ndr_pull_align(ndr
, 4));
9653 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9654 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9655 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9657 if (ndr_flags
& NDR_BUFFERS
) {
9658 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9660 return NDR_ERR_SUCCESS
;
9663 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9665 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9667 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9668 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9672 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9674 uint32_t cntr_objects_1
;
9675 if (ndr_flags
& NDR_SCALARS
) {
9676 NDR_CHECK(ndr_push_align(ndr
, 5));
9677 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9678 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr
, NDR_SCALARS
, r
->dir_err
));
9679 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->dsid
));
9680 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->extended_err
));
9681 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->extended_data
));
9682 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->problem
));
9683 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9684 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9685 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9687 if (ndr_flags
& NDR_BUFFERS
) {
9689 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9692 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9693 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9694 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9696 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9697 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9701 return NDR_ERR_SUCCESS
;
9704 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9707 TALLOC_CTX
*_mem_save_id_0
;
9708 uint32_t _ptr_objects
;
9709 uint32_t cntr_objects_1
;
9710 TALLOC_CTX
*_mem_save_objects_0
;
9711 TALLOC_CTX
*_mem_save_objects_1
;
9712 if (ndr_flags
& NDR_SCALARS
) {
9713 NDR_CHECK(ndr_pull_align(ndr
, 5));
9714 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9716 NDR_PULL_ALLOC(ndr
, r
->id
);
9720 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr
, NDR_SCALARS
, &r
->dir_err
));
9721 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->dsid
));
9722 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->extended_err
));
9723 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extended_data
));
9724 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->problem
));
9725 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9726 if (r
->count
> 10000) {
9727 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9729 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9731 NDR_PULL_ALLOC(ndr
, r
->objects
);
9735 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9737 if (ndr_flags
& NDR_BUFFERS
) {
9739 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9740 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9745 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9746 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9747 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9748 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9749 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9750 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9751 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9754 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9757 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9758 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9761 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9764 return NDR_ERR_SUCCESS
;
9767 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9769 uint32_t cntr_objects_1
;
9770 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9772 ndr_print_ptr(ndr
, "id", r
->id
);
9775 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9778 ndr_print_drsuapi_DsAddEntry_DirErr(ndr
, "dir_err", r
->dir_err
);
9779 ndr_print_uint32(ndr
, "dsid", r
->dsid
);
9780 ndr_print_WERROR(ndr
, "extended_err", r
->extended_err
);
9781 ndr_print_uint32(ndr
, "extended_data", r
->extended_data
);
9782 ndr_print_uint16(ndr
, "problem", r
->problem
);
9783 ndr_print_uint32(ndr
, "count", r
->count
);
9784 ndr_print_ptr(ndr
, "objects", r
->objects
);
9787 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9789 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9791 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9792 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9802 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9804 uint32_t cntr_objects_1
;
9805 if (ndr_flags
& NDR_SCALARS
) {
9806 NDR_CHECK(ndr_push_align(ndr
, 5));
9807 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9808 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->err_ver
));
9809 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->err_data
));
9810 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9811 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9812 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9814 if (ndr_flags
& NDR_BUFFERS
) {
9816 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9819 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->err_data
, r
->err_ver
));
9820 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->err_data
));
9823 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9824 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9825 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9827 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9828 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9832 return NDR_ERR_SUCCESS
;
9835 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9838 TALLOC_CTX
*_mem_save_id_0
;
9839 uint32_t _ptr_err_data
;
9840 TALLOC_CTX
*_mem_save_err_data_0
;
9841 uint32_t _ptr_objects
;
9842 uint32_t cntr_objects_1
;
9843 TALLOC_CTX
*_mem_save_objects_0
;
9844 TALLOC_CTX
*_mem_save_objects_1
;
9845 if (ndr_flags
& NDR_SCALARS
) {
9846 NDR_CHECK(ndr_pull_align(ndr
, 5));
9847 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9849 NDR_PULL_ALLOC(ndr
, r
->id
);
9853 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->err_ver
));
9854 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_err_data
));
9855 if (_ptr_err_data
) {
9856 NDR_PULL_ALLOC(ndr
, r
->err_data
);
9860 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9861 if (r
->count
> 10000) {
9862 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9864 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9866 NDR_PULL_ALLOC(ndr
, r
->objects
);
9870 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9872 if (ndr_flags
& NDR_BUFFERS
) {
9874 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9875 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9876 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9877 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9880 _mem_save_err_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9881 NDR_PULL_SET_MEM_CTX(ndr
, r
->err_data
, 0);
9882 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->err_data
, r
->err_ver
));
9883 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->err_data
));
9884 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_err_data_0
, 0);
9887 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9888 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9890 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9891 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9892 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9893 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9894 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9896 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9897 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9899 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9900 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9903 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9906 return NDR_ERR_SUCCESS
;
9909 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9911 uint32_t cntr_objects_1
;
9912 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9914 ndr_print_ptr(ndr
, "id", r
->id
);
9917 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9920 ndr_print_uint32(ndr
, "err_ver", r
->err_ver
);
9921 ndr_print_ptr(ndr
, "err_data", r
->err_data
);
9924 ndr_print_set_switch_value(ndr
, r
->err_data
, r
->err_ver
);
9925 ndr_print_drsuapi_DsAddEntry_ErrData(ndr
, "err_data", r
->err_data
);
9928 ndr_print_uint32(ndr
, "count", r
->count
);
9929 ndr_print_ptr(ndr
, "objects", r
->objects
);
9932 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9934 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9936 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9937 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9947 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9949 if (ndr_flags
& NDR_SCALARS
) {
9950 int level
= ndr_push_get_switch_value(ndr
, r
);
9951 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9952 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9955 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9959 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9963 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9966 if (ndr_flags
& NDR_BUFFERS
) {
9967 int level
= ndr_push_get_switch_value(ndr
, r
);
9970 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9974 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9978 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9981 return NDR_ERR_SUCCESS
;
9984 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9988 level
= ndr_pull_get_switch_value(ndr
, r
);
9989 if (ndr_flags
& NDR_SCALARS
) {
9990 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9991 if (_level
!= level
) {
9992 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9994 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9997 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
10001 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
10005 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10008 if (ndr_flags
& NDR_BUFFERS
) {
10011 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
10015 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
10019 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10022 return NDR_ERR_SUCCESS
;
10025 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
10028 level
= ndr_print_get_switch_value(ndr
, r
);
10029 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
10032 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
10036 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
10040 ndr_print_bad_level(ndr
, name
, level
);
10044 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
10046 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
10047 return NDR_ERR_SUCCESS
;
10050 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
10053 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
10055 return NDR_ERR_SUCCESS
;
10058 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
10060 ndr_print_uint32(ndr
, name
, r
);
10062 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
10063 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
10067 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
10069 if (ndr_flags
& NDR_SCALARS
) {
10070 NDR_CHECK(ndr_push_align(ndr
, 4));
10071 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
10072 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
10073 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
10075 if (ndr_flags
& NDR_BUFFERS
) {
10077 return NDR_ERR_SUCCESS
;
10080 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
10082 if (ndr_flags
& NDR_SCALARS
) {
10083 NDR_CHECK(ndr_pull_align(ndr
, 4));
10084 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
10085 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
10086 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
10088 if (ndr_flags
& NDR_BUFFERS
) {
10090 return NDR_ERR_SUCCESS
;
10093 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
10095 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
10097 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
10098 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
10102 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
10104 if (ndr_flags
& NDR_SCALARS
) {
10105 int level
= ndr_push_get_switch_value(ndr
, r
);
10106 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
10107 NDR_CHECK(ndr_push_union_align(ndr
, 4));
10110 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
10114 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10117 if (ndr_flags
& NDR_BUFFERS
) {
10118 int level
= ndr_push_get_switch_value(ndr
, r
);
10124 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10127 return NDR_ERR_SUCCESS
;
10130 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
10134 level
= ndr_pull_get_switch_value(ndr
, r
);
10135 if (ndr_flags
& NDR_SCALARS
) {
10136 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
10137 if (_level
!= level
) {
10138 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
10140 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
10143 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
10147 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10150 if (ndr_flags
& NDR_BUFFERS
) {
10156 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10159 return NDR_ERR_SUCCESS
;
10162 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
10165 level
= ndr_print_get_switch_value(ndr
, r
);
10166 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
10169 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
10173 ndr_print_bad_level(ndr
, name
, level
);
10177 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
10179 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
10180 return NDR_ERR_SUCCESS
;
10183 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
10186 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
10188 return NDR_ERR_SUCCESS
;
10191 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
10193 const char *val
= NULL
;
10196 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
10197 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
10199 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10202 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
10204 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
10205 return NDR_ERR_SUCCESS
;
10208 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
10211 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
10213 return NDR_ERR_SUCCESS
;
10216 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
10218 const char *val
= NULL
;
10221 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
10222 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
10223 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
10224 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
10225 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
10226 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
10227 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
10228 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
10229 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
10230 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
10231 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
10232 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: val
= "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
10233 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: val
= "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
10234 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: val
= "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
10235 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: val
= "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
10237 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10240 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
10242 if (ndr_flags
& NDR_SCALARS
) {
10243 NDR_CHECK(ndr_push_align(ndr
, 5));
10244 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
10245 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10246 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
10247 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10249 if (ndr_flags
& NDR_BUFFERS
) {
10250 if (r
->object_dn
) {
10251 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10252 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10253 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10254 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10257 return NDR_ERR_SUCCESS
;
10260 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
10262 uint32_t _ptr_object_dn
;
10263 TALLOC_CTX
*_mem_save_object_dn_0
;
10264 if (ndr_flags
& NDR_SCALARS
) {
10265 NDR_CHECK(ndr_pull_align(ndr
, 5));
10266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
10267 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10268 if (_ptr_object_dn
) {
10269 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10271 r
->object_dn
= NULL
;
10273 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
10274 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10276 if (ndr_flags
& NDR_BUFFERS
) {
10277 if (r
->object_dn
) {
10278 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10279 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10280 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10281 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10282 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
10283 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
));
10285 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
10286 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
10287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10290 return NDR_ERR_SUCCESS
;
10293 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
10295 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
10297 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
10298 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10300 if (r
->object_dn
) {
10301 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10304 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
10308 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
10310 if (ndr_flags
& NDR_SCALARS
) {
10311 NDR_CHECK(ndr_push_align(ndr
, 5));
10312 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
10313 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10314 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
10315 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
10316 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10317 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->value_dn_str
));
10318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10319 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10321 if (ndr_flags
& NDR_BUFFERS
) {
10322 if (r
->object_dn
) {
10323 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10324 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10325 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10326 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10328 if (r
->attribute_name
) {
10329 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10330 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10331 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10332 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10334 if (r
->value_dn_str
) {
10335 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
)));
10336 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10337 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
)));
10338 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->value_dn_str
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10341 return NDR_ERR_SUCCESS
;
10344 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
10346 uint32_t _ptr_object_dn
;
10347 TALLOC_CTX
*_mem_save_object_dn_0
;
10348 uint32_t _ptr_attribute_name
;
10349 TALLOC_CTX
*_mem_save_attribute_name_0
;
10350 uint32_t _ptr_value_dn_str
;
10351 TALLOC_CTX
*_mem_save_value_dn_str_0
;
10352 if (ndr_flags
& NDR_SCALARS
) {
10353 NDR_CHECK(ndr_pull_align(ndr
, 5));
10354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
10355 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10356 if (_ptr_object_dn
) {
10357 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10359 r
->object_dn
= NULL
;
10361 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
10362 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
10363 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10364 if (_ptr_attribute_name
) {
10365 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10367 r
->attribute_name
= NULL
;
10369 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value_dn_str
));
10370 if (_ptr_value_dn_str
) {
10371 NDR_PULL_ALLOC(ndr
, r
->value_dn_str
);
10373 r
->value_dn_str
= NULL
;
10375 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10376 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10378 if (ndr_flags
& NDR_BUFFERS
) {
10379 if (r
->object_dn
) {
10380 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10381 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10382 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10383 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10384 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
10385 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
));
10387 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
10388 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
10389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10391 if (r
->attribute_name
) {
10392 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10393 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10394 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10395 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10396 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10397 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
));
10399 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10400 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10403 if (r
->value_dn_str
) {
10404 _mem_save_value_dn_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10405 NDR_PULL_SET_MEM_CTX(ndr
, r
->value_dn_str
, 0);
10406 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->value_dn_str
));
10407 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->value_dn_str
));
10408 if (ndr_get_array_length(ndr
, &r
->value_dn_str
) > ndr_get_array_size(ndr
, &r
->value_dn_str
)) {
10409 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->value_dn_str
), ndr_get_array_length(ndr
, &r
->value_dn_str
));
10411 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->value_dn_str
), sizeof(uint16_t)));
10412 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->value_dn_str
, ndr_get_array_length(ndr
, &r
->value_dn_str
), sizeof(uint16_t), CH_UTF16
));
10413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_dn_str_0
, 0);
10416 return NDR_ERR_SUCCESS
;
10419 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
10421 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
10423 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
10424 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10426 if (r
->object_dn
) {
10427 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10430 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
10431 ndr_print_uint32(ndr
, "flags", r
->flags
);
10432 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10434 if (r
->attribute_name
) {
10435 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10438 ndr_print_ptr(ndr
, "value_dn_str", r
->value_dn_str
);
10440 if (r
->value_dn_str
) {
10441 ndr_print_string(ndr
, "value_dn_str", r
->value_dn_str
);
10444 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
10448 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
10450 if (ndr_flags
& NDR_SCALARS
) {
10451 int level
= ndr_push_get_switch_value(ndr
, r
);
10452 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
10453 NDR_CHECK(ndr_push_union_align(ndr
, 5));
10455 case DRSUAPI_DS_REPLICA_GET_INFO
: {
10456 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
10459 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
10460 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
10464 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10467 if (ndr_flags
& NDR_BUFFERS
) {
10468 int level
= ndr_push_get_switch_value(ndr
, r
);
10470 case DRSUAPI_DS_REPLICA_GET_INFO
:
10471 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
10474 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10475 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
10479 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10482 return NDR_ERR_SUCCESS
;
10485 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
10489 level
= ndr_pull_get_switch_value(ndr
, r
);
10490 if (ndr_flags
& NDR_SCALARS
) {
10491 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
10492 if (_level
!= level
) {
10493 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
10495 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
10497 case DRSUAPI_DS_REPLICA_GET_INFO
: {
10498 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
10501 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
10502 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
10506 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10509 if (ndr_flags
& NDR_BUFFERS
) {
10511 case DRSUAPI_DS_REPLICA_GET_INFO
:
10512 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
10515 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10516 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
10520 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
10523 return NDR_ERR_SUCCESS
;
10526 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
10529 level
= ndr_print_get_switch_value(ndr
, r
);
10530 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
10532 case DRSUAPI_DS_REPLICA_GET_INFO
:
10533 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
10536 case DRSUAPI_DS_REPLICA_GET_INFO2
:
10537 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
10541 ndr_print_bad_level(ndr
, name
, level
);
10545 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
10547 if (ndr_flags
& NDR_SCALARS
) {
10548 NDR_CHECK(ndr_push_align(ndr
, 8));
10549 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
10550 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
10551 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
10552 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
10553 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
10554 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10555 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10556 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10557 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10558 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10559 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
10560 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
10561 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
10562 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
10563 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
10564 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
10565 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10567 if (ndr_flags
& NDR_BUFFERS
) {
10568 if (r
->naming_context_dn
) {
10569 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10570 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10571 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
10572 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
));
10574 if (r
->source_dsa_obj_dn
) {
10575 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10576 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10577 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
10578 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
));
10580 if (r
->source_dsa_address
) {
10581 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10582 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10583 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
10584 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
));
10586 if (r
->transport_obj_dn
) {
10587 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10588 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10589 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
10590 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
));
10593 return NDR_ERR_SUCCESS
;
10596 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
10598 uint32_t _ptr_naming_context_dn
;
10599 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
10600 uint32_t _ptr_source_dsa_obj_dn
;
10601 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
10602 uint32_t _ptr_source_dsa_address
;
10603 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
10604 uint32_t _ptr_transport_obj_dn
;
10605 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
10606 if (ndr_flags
& NDR_SCALARS
) {
10607 NDR_CHECK(ndr_pull_align(ndr
, 8));
10608 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
10609 if (_ptr_naming_context_dn
) {
10610 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
10612 r
->naming_context_dn
= NULL
;
10614 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
10615 if (_ptr_source_dsa_obj_dn
) {
10616 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
10618 r
->source_dsa_obj_dn
= NULL
;
10620 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
10621 if (_ptr_source_dsa_address
) {
10622 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
10624 r
->source_dsa_address
= NULL
;
10626 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
10627 if (_ptr_transport_obj_dn
) {
10628 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
10630 r
->transport_obj_dn
= NULL
;
10632 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
10633 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10634 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
10635 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
10636 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
10637 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
10638 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
10639 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
10640 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
10641 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
10642 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
10643 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
10644 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10646 if (ndr_flags
& NDR_BUFFERS
) {
10647 if (r
->naming_context_dn
) {
10648 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10649 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
10650 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
10651 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
10652 if (ndr_get_array_length(ndr
, &r
->naming_context_dn
) > ndr_get_array_size(ndr
, &r
->naming_context_dn
)) {
10653 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
));
10655 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t)));
10656 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
));
10657 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
10659 if (r
->source_dsa_obj_dn
) {
10660 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10661 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10662 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10663 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10664 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
10665 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
));
10667 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
10668 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
));
10669 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10671 if (r
->source_dsa_address
) {
10672 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10673 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10674 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10675 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10676 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
10677 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
));
10679 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
10680 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
));
10681 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10683 if (r
->transport_obj_dn
) {
10684 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10685 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10686 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10687 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10688 if (ndr_get_array_length(ndr
, &r
->transport_obj_dn
) > ndr_get_array_size(ndr
, &r
->transport_obj_dn
)) {
10689 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
));
10691 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t)));
10692 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
));
10693 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10696 return NDR_ERR_SUCCESS
;
10699 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10701 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10703 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10705 if (r
->naming_context_dn
) {
10706 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10709 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10711 if (r
->source_dsa_obj_dn
) {
10712 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10715 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10717 if (r
->source_dsa_address
) {
10718 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10721 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10723 if (r
->transport_obj_dn
) {
10724 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10727 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
10728 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10729 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10730 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10731 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10732 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10733 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10734 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10735 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10736 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10737 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10738 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10742 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10744 uint32_t cntr_array_0
;
10745 if (ndr_flags
& NDR_SCALARS
) {
10746 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10747 NDR_CHECK(ndr_push_align(ndr
, 8));
10748 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10749 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10750 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10751 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10753 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10755 if (ndr_flags
& NDR_BUFFERS
) {
10756 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10757 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10760 return NDR_ERR_SUCCESS
;
10763 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10765 uint32_t cntr_array_0
;
10766 TALLOC_CTX
*_mem_save_array_0
;
10767 if (ndr_flags
& NDR_SCALARS
) {
10768 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10769 NDR_CHECK(ndr_pull_align(ndr
, 8));
10770 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10771 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10772 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10773 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10774 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10775 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10776 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10780 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10782 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10784 if (ndr_flags
& NDR_BUFFERS
) {
10785 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10786 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10787 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10788 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10790 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10792 return NDR_ERR_SUCCESS
;
10795 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10797 uint32_t cntr_array_0
;
10798 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10800 ndr_print_uint32(ndr
, "count", r
->count
);
10801 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10802 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10804 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10806 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10807 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10815 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10817 uint32_t cntr_array_0
;
10818 if (ndr_flags
& NDR_SCALARS
) {
10819 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10820 NDR_CHECK(ndr_push_align(ndr
, 8));
10821 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10822 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10823 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10824 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10826 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10828 if (ndr_flags
& NDR_BUFFERS
) {
10830 return NDR_ERR_SUCCESS
;
10833 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10835 uint32_t cntr_array_0
;
10836 TALLOC_CTX
*_mem_save_array_0
;
10837 if (ndr_flags
& NDR_SCALARS
) {
10838 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10839 NDR_CHECK(ndr_pull_align(ndr
, 8));
10840 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10842 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10843 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10844 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10845 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10848 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10850 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10852 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10854 if (ndr_flags
& NDR_BUFFERS
) {
10856 return NDR_ERR_SUCCESS
;
10859 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10861 uint32_t cntr_array_0
;
10862 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10864 ndr_print_uint32(ndr
, "count", r
->count
);
10865 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10866 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10868 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10870 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10871 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10879 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10881 if (ndr_flags
& NDR_SCALARS
) {
10882 NDR_CHECK(ndr_push_align(ndr
, 8));
10883 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10884 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10885 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10886 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10887 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10888 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10889 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10891 if (ndr_flags
& NDR_BUFFERS
) {
10892 if (r
->attribute_name
) {
10893 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10894 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10895 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10896 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10899 return NDR_ERR_SUCCESS
;
10902 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10904 uint32_t _ptr_attribute_name
;
10905 TALLOC_CTX
*_mem_save_attribute_name_0
;
10906 if (ndr_flags
& NDR_SCALARS
) {
10907 NDR_CHECK(ndr_pull_align(ndr
, 8));
10908 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10909 if (_ptr_attribute_name
) {
10910 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10912 r
->attribute_name
= NULL
;
10914 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10915 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10916 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10917 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10918 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10919 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10921 if (ndr_flags
& NDR_BUFFERS
) {
10922 if (r
->attribute_name
) {
10923 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10924 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10925 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10926 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10927 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10928 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
));
10930 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10931 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10932 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10935 return NDR_ERR_SUCCESS
;
10938 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10940 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10942 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10944 if (r
->attribute_name
) {
10945 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10948 ndr_print_uint32(ndr
, "version", r
->version
);
10949 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10950 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10951 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10952 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10956 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10958 uint32_t cntr_array_0
;
10959 if (ndr_flags
& NDR_SCALARS
) {
10960 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10961 NDR_CHECK(ndr_push_align(ndr
, 8));
10962 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10963 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10964 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10965 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10967 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10969 if (ndr_flags
& NDR_BUFFERS
) {
10970 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10971 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10974 return NDR_ERR_SUCCESS
;
10977 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10979 uint32_t cntr_array_0
;
10980 TALLOC_CTX
*_mem_save_array_0
;
10981 if (ndr_flags
& NDR_SCALARS
) {
10982 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10983 NDR_CHECK(ndr_pull_align(ndr
, 8));
10984 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10985 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10986 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10987 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10988 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10989 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10990 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10994 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10996 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10998 if (ndr_flags
& NDR_BUFFERS
) {
10999 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11000 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11001 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11002 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11004 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11006 return NDR_ERR_SUCCESS
;
11009 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
11011 uint32_t cntr_array_0
;
11012 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
11014 ndr_print_uint32(ndr
, "count", r
->count
);
11015 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11016 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11018 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11020 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11021 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
11029 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
11031 if (ndr_flags
& NDR_SCALARS
) {
11032 NDR_CHECK(ndr_push_align(ndr
, 5));
11033 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
11034 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
11035 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
11036 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
11037 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
11038 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11040 if (ndr_flags
& NDR_BUFFERS
) {
11041 if (r
->dsa_obj_dn
) {
11042 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
11043 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11044 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
11045 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
));
11048 return NDR_ERR_SUCCESS
;
11051 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
11053 uint32_t _ptr_dsa_obj_dn
;
11054 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
11055 if (ndr_flags
& NDR_SCALARS
) {
11056 NDR_CHECK(ndr_pull_align(ndr
, 5));
11057 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
11058 if (_ptr_dsa_obj_dn
) {
11059 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
11061 r
->dsa_obj_dn
= NULL
;
11063 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
11064 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
11065 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
11066 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
11067 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11069 if (ndr_flags
& NDR_BUFFERS
) {
11070 if (r
->dsa_obj_dn
) {
11071 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11072 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
11073 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
11074 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
11075 if (ndr_get_array_length(ndr
, &r
->dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->dsa_obj_dn
)) {
11076 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
));
11078 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t)));
11079 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
));
11080 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
11083 return NDR_ERR_SUCCESS
;
11086 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
11088 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
11090 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
11092 if (r
->dsa_obj_dn
) {
11093 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
11096 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
11097 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
11098 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
11099 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
11103 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
11105 uint32_t cntr_array_0
;
11106 if (ndr_flags
& NDR_SCALARS
) {
11107 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11108 NDR_CHECK(ndr_push_align(ndr
, 5));
11109 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11110 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11111 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11112 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11114 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11116 if (ndr_flags
& NDR_BUFFERS
) {
11117 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11118 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11121 return NDR_ERR_SUCCESS
;
11124 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
11126 uint32_t cntr_array_0
;
11127 TALLOC_CTX
*_mem_save_array_0
;
11128 if (ndr_flags
& NDR_SCALARS
) {
11129 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11130 NDR_CHECK(ndr_pull_align(ndr
, 5));
11131 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11132 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11133 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11134 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11135 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11136 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11137 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11139 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11141 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11143 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11145 if (ndr_flags
& NDR_BUFFERS
) {
11146 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11147 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11148 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11149 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11151 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11153 return NDR_ERR_SUCCESS
;
11156 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
11158 uint32_t cntr_array_0
;
11159 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
11161 ndr_print_uint32(ndr
, "count", r
->count
);
11162 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11163 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11165 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11167 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11168 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
11176 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
11178 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
11179 return NDR_ERR_SUCCESS
;
11182 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
11185 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
11187 return NDR_ERR_SUCCESS
;
11190 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
11192 const char *val
= NULL
;
11195 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
11196 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
11197 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
11198 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
11199 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
11201 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
11204 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
11206 if (ndr_flags
& NDR_SCALARS
) {
11207 NDR_CHECK(ndr_push_align(ndr
, 5));
11208 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
11209 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
11210 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
11211 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
11212 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
11213 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
11214 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
11215 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
11216 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
11217 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
11218 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11220 if (ndr_flags
& NDR_BUFFERS
) {
11222 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, 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
->nc_dn
, CH_UTF16
)));
11225 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11227 if (r
->remote_dsa_obj_dn
) {
11228 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_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
->remote_dsa_obj_dn
, CH_UTF16
)));
11231 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
));
11233 if (r
->remote_dsa_address
) {
11234 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
11235 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11236 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
11237 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
));
11240 return NDR_ERR_SUCCESS
;
11243 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
11245 uint32_t _ptr_nc_dn
;
11246 TALLOC_CTX
*_mem_save_nc_dn_0
;
11247 uint32_t _ptr_remote_dsa_obj_dn
;
11248 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
11249 uint32_t _ptr_remote_dsa_address
;
11250 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
11251 if (ndr_flags
& NDR_SCALARS
) {
11252 NDR_CHECK(ndr_pull_align(ndr
, 5));
11253 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
11254 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
11255 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
11256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
11257 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
11258 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
11260 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
11264 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
11265 if (_ptr_remote_dsa_obj_dn
) {
11266 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
11268 r
->remote_dsa_obj_dn
= NULL
;
11270 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
11271 if (_ptr_remote_dsa_address
) {
11272 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
11274 r
->remote_dsa_address
= NULL
;
11276 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
11277 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
11278 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11280 if (ndr_flags
& NDR_BUFFERS
) {
11282 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11283 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
11284 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
11285 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
11286 if (ndr_get_array_length(ndr
, &r
->nc_dn
) > ndr_get_array_size(ndr
, &r
->nc_dn
)) {
11287 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
));
11289 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t)));
11290 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t), CH_UTF16
));
11291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
11293 if (r
->remote_dsa_obj_dn
) {
11294 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11295 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
11296 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
11297 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
11298 if (ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
)) {
11299 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
));
11301 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t)));
11302 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
));
11303 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
11305 if (r
->remote_dsa_address
) {
11306 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11307 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
11308 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
11309 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
11310 if (ndr_get_array_length(ndr
, &r
->remote_dsa_address
) > ndr_get_array_size(ndr
, &r
->remote_dsa_address
)) {
11311 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
));
11313 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t)));
11314 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
));
11315 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
11318 return NDR_ERR_SUCCESS
;
11321 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
11323 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
11325 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
11326 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
11327 ndr_print_uint32(ndr
, "priority", r
->priority
);
11328 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
11329 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
11330 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
11333 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
11336 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
11338 if (r
->remote_dsa_obj_dn
) {
11339 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
11342 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
11344 if (r
->remote_dsa_address
) {
11345 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
11348 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
11349 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
11353 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
11355 uint32_t cntr_array_0
;
11356 if (ndr_flags
& NDR_SCALARS
) {
11357 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11358 NDR_CHECK(ndr_push_align(ndr
, 5));
11359 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
11360 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11361 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11362 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11364 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
11366 if (ndr_flags
& NDR_BUFFERS
) {
11367 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11368 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11371 return NDR_ERR_SUCCESS
;
11374 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
11376 uint32_t cntr_array_0
;
11377 TALLOC_CTX
*_mem_save_array_0
;
11378 if (ndr_flags
& NDR_SCALARS
) {
11379 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11380 NDR_CHECK(ndr_pull_align(ndr
, 5));
11381 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
11382 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11383 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11384 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11385 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11386 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11387 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11391 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11393 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
11395 if (ndr_flags
& NDR_BUFFERS
) {
11396 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11397 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11398 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11399 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11403 return NDR_ERR_SUCCESS
;
11406 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
11408 uint32_t cntr_array_0
;
11409 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
11411 ndr_print_NTTIME(ndr
, "time", r
->time
);
11412 ndr_print_uint32(ndr
, "count", r
->count
);
11413 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11415 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11417 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11418 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
11426 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11428 if (ndr_flags
& NDR_SCALARS
) {
11429 NDR_CHECK(ndr_push_align(ndr
, 8));
11430 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11431 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11432 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11433 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11434 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11435 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11437 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11438 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11439 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11440 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11441 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11443 if (ndr_flags
& NDR_BUFFERS
) {
11444 if (r
->attribute_name
) {
11445 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11446 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11447 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11448 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11450 if (r
->object_dn
) {
11451 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11452 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11453 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11454 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11457 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11460 return NDR_ERR_SUCCESS
;
11463 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
11465 uint32_t _ptr_attribute_name
;
11466 TALLOC_CTX
*_mem_save_attribute_name_0
;
11467 uint32_t _ptr_object_dn
;
11468 TALLOC_CTX
*_mem_save_object_dn_0
;
11469 uint32_t _ptr_binary
;
11470 TALLOC_CTX
*_mem_save_binary_0
;
11471 if (ndr_flags
& NDR_SCALARS
) {
11472 NDR_CHECK(ndr_pull_align(ndr
, 8));
11473 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11474 if (_ptr_attribute_name
) {
11475 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11477 r
->attribute_name
= NULL
;
11479 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11480 if (_ptr_object_dn
) {
11481 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11483 r
->object_dn
= NULL
;
11485 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11486 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11488 NDR_PULL_ALLOC(ndr
, r
->binary
);
11492 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11493 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11494 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11495 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11496 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11497 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11498 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11499 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11501 if (ndr_flags
& NDR_BUFFERS
) {
11502 if (r
->attribute_name
) {
11503 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11504 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11505 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11506 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11507 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11508 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
));
11510 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11511 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11512 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11514 if (r
->object_dn
) {
11515 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11516 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11517 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11518 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11519 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11520 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
));
11522 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11523 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11524 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11527 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11528 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11529 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11530 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11533 return NDR_ERR_SUCCESS
;
11536 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
11538 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
11540 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11542 if (r
->attribute_name
) {
11543 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11546 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11548 if (r
->object_dn
) {
11549 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11552 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
);
11553 ndr_print_ptr(ndr
, "binary", r
->binary
);
11556 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11559 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11560 ndr_print_NTTIME(ndr
, "created", r
->created
);
11561 ndr_print_uint32(ndr
, "version", r
->version
);
11562 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11563 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11564 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11565 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11569 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11571 uint32_t cntr_array_0
;
11572 if (ndr_flags
& NDR_SCALARS
) {
11573 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11574 NDR_CHECK(ndr_push_align(ndr
, 8));
11575 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11576 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11577 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11578 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11580 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11582 if (ndr_flags
& NDR_BUFFERS
) {
11583 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11584 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11587 return NDR_ERR_SUCCESS
;
11590 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11592 uint32_t cntr_array_0
;
11593 TALLOC_CTX
*_mem_save_array_0
;
11594 if (ndr_flags
& NDR_SCALARS
) {
11595 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11596 NDR_CHECK(ndr_pull_align(ndr
, 8));
11597 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11598 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11599 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11600 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11601 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11602 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11607 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11609 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11611 if (ndr_flags
& NDR_BUFFERS
) {
11612 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11613 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11614 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11615 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11617 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11619 return NDR_ERR_SUCCESS
;
11622 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
11624 uint32_t cntr_array_0
;
11625 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
11627 ndr_print_uint32(ndr
, "count", r
->count
);
11628 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11629 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11631 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11633 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11634 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
11642 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11644 uint32_t cntr_array_0
;
11645 if (ndr_flags
& NDR_SCALARS
) {
11646 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11647 NDR_CHECK(ndr_push_align(ndr
, 8));
11648 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11649 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11650 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11651 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11653 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11655 if (ndr_flags
& NDR_BUFFERS
) {
11657 return NDR_ERR_SUCCESS
;
11660 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
11662 uint32_t cntr_array_0
;
11663 TALLOC_CTX
*_mem_save_array_0
;
11664 if (ndr_flags
& NDR_SCALARS
) {
11665 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11666 NDR_CHECK(ndr_pull_align(ndr
, 8));
11667 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11668 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11669 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11670 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11671 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11672 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11673 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11675 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11677 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11679 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11681 if (ndr_flags
& NDR_BUFFERS
) {
11683 return NDR_ERR_SUCCESS
;
11686 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11688 uint32_t cntr_array_0
;
11689 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11691 ndr_print_uint32(ndr
, "count", r
->count
);
11692 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11693 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11695 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11697 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11698 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11706 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11708 if (ndr_flags
& NDR_SCALARS
) {
11709 NDR_CHECK(ndr_push_align(ndr
, 8));
11710 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11711 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11712 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11713 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11714 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11716 if (ndr_flags
& NDR_BUFFERS
) {
11717 if (r
->source_dsa_obj_dn
) {
11718 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11719 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11720 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11721 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
));
11724 return NDR_ERR_SUCCESS
;
11727 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11729 uint32_t _ptr_source_dsa_obj_dn
;
11730 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11731 if (ndr_flags
& NDR_SCALARS
) {
11732 NDR_CHECK(ndr_pull_align(ndr
, 8));
11733 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11734 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11735 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11736 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11737 if (_ptr_source_dsa_obj_dn
) {
11738 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11740 r
->source_dsa_obj_dn
= NULL
;
11742 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11744 if (ndr_flags
& NDR_BUFFERS
) {
11745 if (r
->source_dsa_obj_dn
) {
11746 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11747 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11748 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11749 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11750 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
11751 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
));
11753 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
11754 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
));
11755 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11758 return NDR_ERR_SUCCESS
;
11761 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11763 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11765 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11766 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11767 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11768 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11770 if (r
->source_dsa_obj_dn
) {
11771 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11777 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11779 uint32_t cntr_array_0
;
11780 if (ndr_flags
& NDR_SCALARS
) {
11781 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11782 NDR_CHECK(ndr_push_align(ndr
, 8));
11783 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11784 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11785 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11786 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11788 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11790 if (ndr_flags
& NDR_BUFFERS
) {
11791 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11792 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11795 return NDR_ERR_SUCCESS
;
11798 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11800 uint32_t cntr_array_0
;
11801 TALLOC_CTX
*_mem_save_array_0
;
11802 if (ndr_flags
& NDR_SCALARS
) {
11803 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11804 NDR_CHECK(ndr_pull_align(ndr
, 8));
11805 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11806 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11807 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11808 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11809 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11810 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11811 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11813 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11815 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11817 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11819 if (ndr_flags
& NDR_BUFFERS
) {
11820 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11821 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11822 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11823 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11827 return NDR_ERR_SUCCESS
;
11830 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11832 uint32_t cntr_array_0
;
11833 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11835 ndr_print_uint32(ndr
, "count", r
->count
);
11836 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11837 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11839 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11841 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11842 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11850 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11852 if (ndr_flags
& NDR_SCALARS
) {
11853 NDR_CHECK(ndr_push_align(ndr
, 8));
11854 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11855 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11856 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11857 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11858 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11859 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11860 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11861 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11863 if (ndr_flags
& NDR_BUFFERS
) {
11864 if (r
->attribute_name
) {
11865 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11866 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11867 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11868 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11870 if (r
->originating_dsa_dn
) {
11871 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11872 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11873 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11874 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
));
11877 return NDR_ERR_SUCCESS
;
11880 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11882 uint32_t _ptr_attribute_name
;
11883 TALLOC_CTX
*_mem_save_attribute_name_0
;
11884 uint32_t _ptr_originating_dsa_dn
;
11885 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11886 if (ndr_flags
& NDR_SCALARS
) {
11887 NDR_CHECK(ndr_pull_align(ndr
, 8));
11888 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11889 if (_ptr_attribute_name
) {
11890 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11892 r
->attribute_name
= NULL
;
11894 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11895 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11896 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11897 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11898 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11899 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11900 if (_ptr_originating_dsa_dn
) {
11901 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11903 r
->originating_dsa_dn
= NULL
;
11905 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11907 if (ndr_flags
& NDR_BUFFERS
) {
11908 if (r
->attribute_name
) {
11909 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11910 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11911 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11912 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11913 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11914 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
));
11916 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11917 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11918 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11920 if (r
->originating_dsa_dn
) {
11921 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11922 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11923 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11924 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11925 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11926 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
));
11928 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11929 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
));
11930 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11933 return NDR_ERR_SUCCESS
;
11936 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11938 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11940 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11942 if (r
->attribute_name
) {
11943 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11946 ndr_print_uint32(ndr
, "version", r
->version
);
11947 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11948 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11949 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11950 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11951 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11953 if (r
->originating_dsa_dn
) {
11954 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11960 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11962 uint32_t cntr_array_0
;
11963 if (ndr_flags
& NDR_SCALARS
) {
11964 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11965 NDR_CHECK(ndr_push_align(ndr
, 8));
11966 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11967 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11968 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11969 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11971 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11973 if (ndr_flags
& NDR_BUFFERS
) {
11974 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11975 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11978 return NDR_ERR_SUCCESS
;
11981 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11983 uint32_t cntr_array_0
;
11984 TALLOC_CTX
*_mem_save_array_0
;
11985 if (ndr_flags
& NDR_SCALARS
) {
11986 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11987 NDR_CHECK(ndr_pull_align(ndr
, 8));
11988 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11989 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11990 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11991 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11992 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11993 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11996 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11998 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12000 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12002 if (ndr_flags
& NDR_BUFFERS
) {
12003 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12004 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12005 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12006 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12008 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12010 return NDR_ERR_SUCCESS
;
12013 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
12015 uint32_t cntr_array_0
;
12016 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
12018 ndr_print_uint32(ndr
, "count", r
->count
);
12019 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
12020 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12022 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12024 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12025 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
12033 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
12035 if (ndr_flags
& NDR_SCALARS
) {
12036 NDR_CHECK(ndr_push_align(ndr
, 8));
12037 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
12038 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
12039 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
12040 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
12041 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
12042 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
12043 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
12044 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
12045 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
12046 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
12047 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
12048 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
12049 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12051 if (ndr_flags
& NDR_BUFFERS
) {
12052 if (r
->attribute_name
) {
12053 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
12054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12055 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
12056 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12058 if (r
->object_dn
) {
12059 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
12060 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12061 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
12062 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12065 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
12067 if (r
->originating_dsa_dn
) {
12068 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
12069 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12070 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
12071 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
));
12074 return NDR_ERR_SUCCESS
;
12077 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
12079 uint32_t _ptr_attribute_name
;
12080 TALLOC_CTX
*_mem_save_attribute_name_0
;
12081 uint32_t _ptr_object_dn
;
12082 TALLOC_CTX
*_mem_save_object_dn_0
;
12083 uint32_t _ptr_binary
;
12084 TALLOC_CTX
*_mem_save_binary_0
;
12085 uint32_t _ptr_originating_dsa_dn
;
12086 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
12087 if (ndr_flags
& NDR_SCALARS
) {
12088 NDR_CHECK(ndr_pull_align(ndr
, 8));
12089 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
12090 if (_ptr_attribute_name
) {
12091 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
12093 r
->attribute_name
= NULL
;
12095 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
12096 if (_ptr_object_dn
) {
12097 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
12099 r
->object_dn
= NULL
;
12101 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
12102 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
12104 NDR_PULL_ALLOC(ndr
, r
->binary
);
12108 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
12109 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
12110 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
12111 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
12112 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
12113 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
12114 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
12115 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
12116 if (_ptr_originating_dsa_dn
) {
12117 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
12119 r
->originating_dsa_dn
= NULL
;
12121 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12123 if (ndr_flags
& NDR_BUFFERS
) {
12124 if (r
->attribute_name
) {
12125 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12126 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
12127 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
12128 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
12129 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
12130 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
));
12132 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
12133 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
12134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
12136 if (r
->object_dn
) {
12137 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12138 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
12139 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
12140 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
12141 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
12142 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
));
12144 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
12145 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
12146 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
12149 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12150 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
12151 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
12152 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
12154 if (r
->originating_dsa_dn
) {
12155 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12156 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
12157 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
12158 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
12159 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
12160 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
));
12162 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
12163 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
));
12164 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
12167 return NDR_ERR_SUCCESS
;
12170 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
12172 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
12174 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
12176 if (r
->attribute_name
) {
12177 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
12180 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
12182 if (r
->object_dn
) {
12183 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
12186 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
);
12187 ndr_print_ptr(ndr
, "binary", r
->binary
);
12190 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
12193 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
12194 ndr_print_NTTIME(ndr
, "created", r
->created
);
12195 ndr_print_uint32(ndr
, "version", r
->version
);
12196 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
12197 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
12198 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
12199 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
12200 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
12202 if (r
->originating_dsa_dn
) {
12203 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
12209 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
12211 uint32_t cntr_array_0
;
12212 if (ndr_flags
& NDR_SCALARS
) {
12213 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12214 NDR_CHECK(ndr_push_align(ndr
, 8));
12215 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12216 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
12217 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12218 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12220 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12222 if (ndr_flags
& NDR_BUFFERS
) {
12223 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12224 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12227 return NDR_ERR_SUCCESS
;
12230 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
12232 uint32_t cntr_array_0
;
12233 TALLOC_CTX
*_mem_save_array_0
;
12234 if (ndr_flags
& NDR_SCALARS
) {
12235 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12236 NDR_CHECK(ndr_pull_align(ndr
, 8));
12237 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12238 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
12239 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12240 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12241 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12242 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12243 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12245 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12247 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12249 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12251 if (ndr_flags
& NDR_BUFFERS
) {
12252 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12253 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12254 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12259 return NDR_ERR_SUCCESS
;
12262 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
12264 uint32_t cntr_array_0
;
12265 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
12267 ndr_print_uint32(ndr
, "count", r
->count
);
12268 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
12269 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12271 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12273 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12274 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
12282 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
12284 if (ndr_flags
& NDR_SCALARS
) {
12285 NDR_CHECK(ndr_push_align(ndr
, 8));
12286 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
12287 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
12288 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
12289 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
12290 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
12292 uint32_t _flags_save_ipv4address
= ndr
->flags
;
12293 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
12294 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
12295 ndr
->flags
= _flags_save_ipv4address
;
12297 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
12298 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12300 if (ndr_flags
& NDR_BUFFERS
) {
12302 return NDR_ERR_SUCCESS
;
12305 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
12307 if (ndr_flags
& NDR_SCALARS
) {
12308 NDR_CHECK(ndr_pull_align(ndr
, 8));
12309 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
12310 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
12311 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
12312 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
12313 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
12315 uint32_t _flags_save_ipv4address
= ndr
->flags
;
12316 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
12317 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
12318 ndr
->flags
= _flags_save_ipv4address
;
12320 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
12321 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12323 if (ndr_flags
& NDR_BUFFERS
) {
12325 return NDR_ERR_SUCCESS
;
12328 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
12330 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
12332 ndr_print_hyper(ndr
, "u1", r
->u1
);
12333 ndr_print_uint32(ndr
, "u2", r
->u2
);
12334 ndr_print_uint32(ndr
, "u3", r
->u3
);
12335 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
12336 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
12337 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
12338 ndr_print_uint32(ndr
, "u5", r
->u5
);
12342 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
12344 uint32_t cntr_array_0
;
12345 if (ndr_flags
& NDR_SCALARS
) {
12346 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12347 NDR_CHECK(ndr_push_align(ndr
, 8));
12348 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12349 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
12350 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12351 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12353 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12355 if (ndr_flags
& NDR_BUFFERS
) {
12357 return NDR_ERR_SUCCESS
;
12360 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
12362 uint32_t cntr_array_0
;
12363 TALLOC_CTX
*_mem_save_array_0
;
12364 if (ndr_flags
& NDR_SCALARS
) {
12365 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12366 NDR_CHECK(ndr_pull_align(ndr
, 8));
12367 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12368 if (r
->count
> 10000) {
12369 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12371 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12372 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12373 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12374 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12375 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12376 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12380 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12382 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12384 if (ndr_flags
& NDR_BUFFERS
) {
12386 return NDR_ERR_SUCCESS
;
12389 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
12391 uint32_t cntr_array_0
;
12392 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
12394 ndr_print_uint32(ndr
, "count", r
->count
);
12395 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12396 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12398 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12400 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12401 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
12409 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
12411 if (ndr_flags
& NDR_SCALARS
) {
12412 NDR_CHECK(ndr_push_align(ndr
, 8));
12413 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
12414 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
12415 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
12416 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
12417 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
12418 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
12419 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
12420 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
12421 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12423 if (ndr_flags
& NDR_BUFFERS
) {
12425 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12426 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
12427 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
12428 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
12431 return NDR_ERR_SUCCESS
;
12434 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
12436 uint32_t _ptr_str1
;
12437 TALLOC_CTX
*_mem_save_str1_0
;
12438 if (ndr_flags
& NDR_SCALARS
) {
12439 NDR_CHECK(ndr_pull_align(ndr
, 8));
12440 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
12442 NDR_PULL_ALLOC(ndr
, r
->str1
);
12446 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
12447 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
12448 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
12449 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
12450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
12451 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
12452 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
12453 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12455 if (ndr_flags
& NDR_BUFFERS
) {
12457 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12458 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
12459 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
12460 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
12461 if (ndr_get_array_length(ndr
, &r
->str1
) > ndr_get_array_size(ndr
, &r
->str1
)) {
12462 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
));
12464 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t)));
12465 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t), CH_UTF16
));
12466 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
12469 return NDR_ERR_SUCCESS
;
12472 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
12474 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
12476 ndr_print_ptr(ndr
, "str1", r
->str1
);
12479 ndr_print_string(ndr
, "str1", r
->str1
);
12482 ndr_print_uint32(ndr
, "u1", r
->u1
);
12483 ndr_print_uint32(ndr
, "u2", r
->u2
);
12484 ndr_print_uint32(ndr
, "u3", r
->u3
);
12485 ndr_print_uint32(ndr
, "u4", r
->u4
);
12486 ndr_print_uint32(ndr
, "u5", r
->u5
);
12487 ndr_print_hyper(ndr
, "u6", r
->u6
);
12488 ndr_print_uint32(ndr
, "u7", r
->u7
);
12492 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
12494 uint32_t cntr_array_0
;
12495 if (ndr_flags
& NDR_SCALARS
) {
12496 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
12497 NDR_CHECK(ndr_push_align(ndr
, 8));
12498 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
12499 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
12500 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12501 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12503 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
12505 if (ndr_flags
& NDR_BUFFERS
) {
12506 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12507 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12510 return NDR_ERR_SUCCESS
;
12513 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
12515 uint32_t cntr_array_0
;
12516 TALLOC_CTX
*_mem_save_array_0
;
12517 if (ndr_flags
& NDR_SCALARS
) {
12518 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
12519 NDR_CHECK(ndr_pull_align(ndr
, 8));
12520 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
12521 if (r
->count
> 256) {
12522 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12524 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
12525 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
12526 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12527 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12528 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12529 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
12531 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12533 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
12535 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
12537 if (ndr_flags
& NDR_BUFFERS
) {
12538 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12539 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
12540 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
12541 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
12543 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
12545 return NDR_ERR_SUCCESS
;
12548 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
12550 uint32_t cntr_array_0
;
12551 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
12553 ndr_print_uint32(ndr
, "count", r
->count
);
12554 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
12555 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
12557 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
12559 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
12560 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
12568 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
12570 if (ndr_flags
& NDR_SCALARS
) {
12571 int level
= ndr_push_get_switch_value(ndr
, r
);
12572 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
12573 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12575 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12576 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
12579 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12580 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
12583 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12584 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
12587 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12588 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
12591 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12592 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
12595 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12596 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
12599 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12600 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
12603 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12604 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
12607 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12608 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
12611 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12612 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
12615 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12616 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
12619 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: {
12620 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->repsto
));
12623 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: {
12624 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->clientctx
));
12627 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: {
12628 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->udv1
));
12631 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: {
12632 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->srvoutgoingcalls
));
12636 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12639 if (ndr_flags
& NDR_BUFFERS
) {
12640 int level
= ndr_push_get_switch_value(ndr
, r
);
12642 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12643 if (r
->neighbours
) {
12644 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12648 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12650 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12654 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12655 if (r
->objmetadata
) {
12656 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12660 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12661 if (r
->connectfailures
) {
12662 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12666 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12667 if (r
->linkfailures
) {
12668 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12672 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12673 if (r
->pendingops
) {
12674 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12678 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12679 if (r
->attrvalmetadata
) {
12680 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12684 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12686 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12690 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12692 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12696 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12697 if (r
->objmetadata2
) {
12698 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12702 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12703 if (r
->attrvalmetadata2
) {
12704 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12708 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12710 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->repsto
));
12714 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12715 if (r
->clientctx
) {
12716 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->clientctx
));
12720 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12722 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->udv1
));
12726 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12727 if (r
->srvoutgoingcalls
) {
12728 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->srvoutgoingcalls
));
12733 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12736 return NDR_ERR_SUCCESS
;
12739 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12743 TALLOC_CTX
*_mem_save_neighbours_0
;
12744 TALLOC_CTX
*_mem_save_cursors_0
;
12745 TALLOC_CTX
*_mem_save_objmetadata_0
;
12746 TALLOC_CTX
*_mem_save_connectfailures_0
;
12747 TALLOC_CTX
*_mem_save_linkfailures_0
;
12748 TALLOC_CTX
*_mem_save_pendingops_0
;
12749 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12750 TALLOC_CTX
*_mem_save_cursors2_0
;
12751 TALLOC_CTX
*_mem_save_cursors3_0
;
12752 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12753 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12754 TALLOC_CTX
*_mem_save_repsto_0
;
12755 TALLOC_CTX
*_mem_save_clientctx_0
;
12756 TALLOC_CTX
*_mem_save_udv1_0
;
12757 TALLOC_CTX
*_mem_save_srvoutgoingcalls_0
;
12758 level
= ndr_pull_get_switch_value(ndr
, r
);
12759 if (ndr_flags
& NDR_SCALARS
) {
12760 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12761 if (_level
!= level
) {
12762 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12764 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12766 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12767 uint32_t _ptr_neighbours
;
12768 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12769 if (_ptr_neighbours
) {
12770 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12772 r
->neighbours
= NULL
;
12776 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12777 uint32_t _ptr_cursors
;
12778 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12779 if (_ptr_cursors
) {
12780 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12786 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12787 uint32_t _ptr_objmetadata
;
12788 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12789 if (_ptr_objmetadata
) {
12790 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12792 r
->objmetadata
= NULL
;
12796 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12797 uint32_t _ptr_connectfailures
;
12798 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12799 if (_ptr_connectfailures
) {
12800 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12802 r
->connectfailures
= NULL
;
12806 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12807 uint32_t _ptr_linkfailures
;
12808 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12809 if (_ptr_linkfailures
) {
12810 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12812 r
->linkfailures
= NULL
;
12816 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12817 uint32_t _ptr_pendingops
;
12818 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12819 if (_ptr_pendingops
) {
12820 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12822 r
->pendingops
= NULL
;
12826 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12827 uint32_t _ptr_attrvalmetadata
;
12828 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12829 if (_ptr_attrvalmetadata
) {
12830 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12832 r
->attrvalmetadata
= NULL
;
12836 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12837 uint32_t _ptr_cursors2
;
12838 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12839 if (_ptr_cursors2
) {
12840 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12842 r
->cursors2
= NULL
;
12846 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12847 uint32_t _ptr_cursors3
;
12848 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12849 if (_ptr_cursors3
) {
12850 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12852 r
->cursors3
= NULL
;
12856 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12857 uint32_t _ptr_objmetadata2
;
12858 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12859 if (_ptr_objmetadata2
) {
12860 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12862 r
->objmetadata2
= NULL
;
12866 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12867 uint32_t _ptr_attrvalmetadata2
;
12868 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12869 if (_ptr_attrvalmetadata2
) {
12870 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12872 r
->attrvalmetadata2
= NULL
;
12876 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: {
12877 uint32_t _ptr_repsto
;
12878 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_repsto
));
12880 NDR_PULL_ALLOC(ndr
, r
->repsto
);
12886 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: {
12887 uint32_t _ptr_clientctx
;
12888 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_clientctx
));
12889 if (_ptr_clientctx
) {
12890 NDR_PULL_ALLOC(ndr
, r
->clientctx
);
12892 r
->clientctx
= NULL
;
12896 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: {
12897 uint32_t _ptr_udv1
;
12898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_udv1
));
12900 NDR_PULL_ALLOC(ndr
, r
->udv1
);
12906 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: {
12907 uint32_t _ptr_srvoutgoingcalls
;
12908 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_srvoutgoingcalls
));
12909 if (_ptr_srvoutgoingcalls
) {
12910 NDR_PULL_ALLOC(ndr
, r
->srvoutgoingcalls
);
12912 r
->srvoutgoingcalls
= NULL
;
12917 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12920 if (ndr_flags
& NDR_BUFFERS
) {
12922 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12923 if (r
->neighbours
) {
12924 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12925 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12926 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12927 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12931 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12933 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12934 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12935 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12936 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12940 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12941 if (r
->objmetadata
) {
12942 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12943 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12944 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12945 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12949 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12950 if (r
->connectfailures
) {
12951 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12952 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12954 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12958 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12959 if (r
->linkfailures
) {
12960 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12961 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12967 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12968 if (r
->pendingops
) {
12969 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12970 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12971 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12972 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12976 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12977 if (r
->attrvalmetadata
) {
12978 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12979 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12980 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12985 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12987 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12988 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12989 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12990 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12994 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12996 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12997 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
13003 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
13004 if (r
->objmetadata2
) {
13005 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13006 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
13007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
13008 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
13012 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
13013 if (r
->attrvalmetadata2
) {
13014 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13015 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
13016 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
13017 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
13021 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
13023 _mem_save_repsto_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13024 NDR_PULL_SET_MEM_CTX(ndr
, r
->repsto
, 0);
13025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->repsto
));
13026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_repsto_0
, 0);
13030 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
13031 if (r
->clientctx
) {
13032 _mem_save_clientctx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13033 NDR_PULL_SET_MEM_CTX(ndr
, r
->clientctx
, 0);
13034 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->clientctx
));
13035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_clientctx_0
, 0);
13039 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
13041 _mem_save_udv1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13042 NDR_PULL_SET_MEM_CTX(ndr
, r
->udv1
, 0);
13043 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->udv1
));
13044 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_udv1_0
, 0);
13048 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
13049 if (r
->srvoutgoingcalls
) {
13050 _mem_save_srvoutgoingcalls_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13051 NDR_PULL_SET_MEM_CTX(ndr
, r
->srvoutgoingcalls
, 0);
13052 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->srvoutgoingcalls
));
13053 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_srvoutgoingcalls_0
, 0);
13058 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13061 return NDR_ERR_SUCCESS
;
13064 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
13067 level
= ndr_print_get_switch_value(ndr
, r
);
13068 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
13070 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
13071 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
13073 if (r
->neighbours
) {
13074 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
13079 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
13080 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
13083 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
13088 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
13089 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
13091 if (r
->objmetadata
) {
13092 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
13097 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
13098 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
13100 if (r
->connectfailures
) {
13101 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
13106 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
13107 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
13109 if (r
->linkfailures
) {
13110 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
13115 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
13116 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
13118 if (r
->pendingops
) {
13119 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
13124 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
13125 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
13127 if (r
->attrvalmetadata
) {
13128 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
13133 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
13134 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
13137 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
13142 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
13143 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
13146 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
13151 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
13152 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
13154 if (r
->objmetadata2
) {
13155 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
13160 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
13161 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
13163 if (r
->attrvalmetadata2
) {
13164 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
13169 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
13170 ndr_print_ptr(ndr
, "repsto", r
->repsto
);
13173 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "repsto", r
->repsto
);
13178 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
13179 ndr_print_ptr(ndr
, "clientctx", r
->clientctx
);
13181 if (r
->clientctx
) {
13182 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "clientctx", r
->clientctx
);
13187 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
13188 ndr_print_ptr(ndr
, "udv1", r
->udv1
);
13191 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "udv1", r
->udv1
);
13196 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
13197 ndr_print_ptr(ndr
, "srvoutgoingcalls", r
->srvoutgoingcalls
);
13199 if (r
->srvoutgoingcalls
) {
13200 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "srvoutgoingcalls", r
->srvoutgoingcalls
);
13206 ndr_print_bad_level(ndr
, name
, level
);
13210 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
13212 if (ndr_flags
& NDR_SCALARS
) {
13213 int level
= ndr_push_get_switch_value(ndr
, r
);
13214 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
13215 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13218 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13222 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13225 if (ndr_flags
& NDR_BUFFERS
) {
13226 int level
= ndr_push_get_switch_value(ndr
, r
);
13229 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13233 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13236 return NDR_ERR_SUCCESS
;
13239 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
13243 level
= ndr_pull_get_switch_value(ndr
, r
);
13244 if (ndr_flags
& NDR_SCALARS
) {
13245 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
13246 if (_level
!= level
) {
13247 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13249 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13252 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13256 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13259 if (ndr_flags
& NDR_BUFFERS
) {
13262 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13266 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13269 return NDR_ERR_SUCCESS
;
13272 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
13275 level
= ndr_print_get_switch_value(ndr
, r
);
13276 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
13279 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
13283 ndr_print_bad_level(ndr
, name
, level
);
13287 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
13289 uint32_t cntr_req_array_1
;
13290 if (ndr_flags
& NDR_SCALARS
) {
13291 NDR_CHECK(ndr_push_align(ndr
, 5));
13292 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13293 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
13294 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13296 if (ndr_flags
& NDR_BUFFERS
) {
13297 if (r
->req_array
) {
13298 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13299 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
13300 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
13302 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
13303 if (r
->req_array
[cntr_req_array_1
]) {
13304 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
13309 return NDR_ERR_SUCCESS
;
13312 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
13314 uint32_t _ptr_req_array
;
13315 uint32_t cntr_req_array_1
;
13316 TALLOC_CTX
*_mem_save_req_array_0
;
13317 TALLOC_CTX
*_mem_save_req_array_1
;
13318 TALLOC_CTX
*_mem_save_req_array_2
;
13319 if (ndr_flags
& NDR_SCALARS
) {
13320 NDR_CHECK(ndr_pull_align(ndr
, 5));
13321 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13322 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13323 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13325 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
13326 if (_ptr_req_array
) {
13327 NDR_PULL_ALLOC(ndr
, r
->req_array
);
13329 r
->req_array
= NULL
;
13331 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13333 if (ndr_flags
& NDR_BUFFERS
) {
13334 if (r
->req_array
) {
13335 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13336 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
13337 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
13338 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, ndr_get_array_size(ndr
, &r
->req_array
));
13339 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13340 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
13341 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
13342 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
13343 if (_ptr_req_array
) {
13344 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
13346 r
->req_array
[cntr_req_array_1
] = NULL
;
13349 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
13350 if (r
->req_array
[cntr_req_array_1
]) {
13351 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13352 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
13353 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
13354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
13357 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
13358 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
13360 if (r
->req_array
) {
13361 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
13364 return NDR_ERR_SUCCESS
;
13367 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
13369 uint32_t cntr_req_array_1
;
13370 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
13372 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13373 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
13375 if (r
->req_array
) {
13376 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
13378 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
13380 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
13381 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13383 if (r
->req_array
[cntr_req_array_1
]) {
13384 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
13396 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
13398 if (ndr_flags
& NDR_SCALARS
) {
13399 int level
= ndr_push_get_switch_value(ndr
, r
);
13400 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
13401 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13404 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13408 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13411 if (ndr_flags
& NDR_BUFFERS
) {
13412 int level
= ndr_push_get_switch_value(ndr
, r
);
13415 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13419 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13422 return NDR_ERR_SUCCESS
;
13425 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
13429 level
= ndr_pull_get_switch_value(ndr
, r
);
13430 if (ndr_flags
& NDR_SCALARS
) {
13431 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
13432 if (_level
!= level
) {
13433 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13435 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13438 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
13442 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13445 if (ndr_flags
& NDR_BUFFERS
) {
13448 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
13452 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13455 return NDR_ERR_SUCCESS
;
13458 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
13461 level
= ndr_print_get_switch_value(ndr
, r
);
13462 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
13465 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
13469 ndr_print_bad_level(ndr
, name
, level
);
13473 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
13475 if (ndr_flags
& NDR_SCALARS
) {
13476 NDR_CHECK(ndr_push_align(ndr
, 4));
13477 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
13478 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
13479 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
13481 if (ndr_flags
& NDR_BUFFERS
) {
13483 return NDR_ERR_SUCCESS
;
13486 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
13488 if (ndr_flags
& NDR_SCALARS
) {
13489 NDR_CHECK(ndr_pull_align(ndr
, 4));
13490 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
13491 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
13492 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
13494 if (ndr_flags
& NDR_BUFFERS
) {
13496 return NDR_ERR_SUCCESS
;
13499 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
13501 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
13503 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
13504 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
13508 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13510 uint32_t cntr_info_1
;
13511 if (ndr_flags
& NDR_SCALARS
) {
13512 NDR_CHECK(ndr_push_align(ndr
, 5));
13513 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
13514 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
13515 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
13516 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13518 if (ndr_flags
& NDR_BUFFERS
) {
13520 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
13521 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13522 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13526 return NDR_ERR_SUCCESS
;
13529 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
13531 uint32_t _ptr_info
;
13532 uint32_t cntr_info_1
;
13533 TALLOC_CTX
*_mem_save_info_0
;
13534 TALLOC_CTX
*_mem_save_info_1
;
13535 if (ndr_flags
& NDR_SCALARS
) {
13536 NDR_CHECK(ndr_pull_align(ndr
, 5));
13537 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
13538 if (r
->num_info
> 10000) {
13539 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13541 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
13543 NDR_PULL_ALLOC(ndr
, r
->info
);
13547 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags_reserved
));
13548 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13550 if (ndr_flags
& NDR_BUFFERS
) {
13552 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13553 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13554 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
13555 NDR_PULL_ALLOC_N(ndr
, r
->info
, ndr_get_array_size(ndr
, &r
->info
));
13556 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13557 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
13558 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
13559 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
13561 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
13562 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
13565 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
13568 return NDR_ERR_SUCCESS
;
13571 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
13573 uint32_t cntr_info_1
;
13574 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
13576 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
13577 ndr_print_ptr(ndr
, "info", r
->info
);
13580 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
13582 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
13584 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
13585 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
13592 ndr_print_uint32(ndr
, "flags_reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags_reserved
);
13596 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
13598 if (ndr_flags
& NDR_SCALARS
) {
13599 int level
= ndr_push_get_switch_value(ndr
, r
);
13600 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
13601 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13604 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13608 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13611 if (ndr_flags
& NDR_BUFFERS
) {
13612 int level
= ndr_push_get_switch_value(ndr
, r
);
13615 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13619 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13622 return NDR_ERR_SUCCESS
;
13625 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
13629 level
= ndr_pull_get_switch_value(ndr
, r
);
13630 if (ndr_flags
& NDR_SCALARS
) {
13631 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
13632 if (_level
!= level
) {
13633 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13635 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13638 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
13642 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13645 if (ndr_flags
& NDR_BUFFERS
) {
13648 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13652 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13655 return NDR_ERR_SUCCESS
;
13658 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
13661 level
= ndr_print_get_switch_value(ndr
, r
);
13662 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13665 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13669 ndr_print_bad_level(ndr
, name
, level
);
13673 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13675 uint32_t cntr_site_to_1
;
13676 if (ndr_flags
& NDR_SCALARS
) {
13677 NDR_CHECK(ndr_push_align(ndr
, 5));
13678 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13679 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13680 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13681 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13682 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13684 if (ndr_flags
& NDR_BUFFERS
) {
13685 if (r
->site_from
) {
13686 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13687 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13688 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13689 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13692 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13693 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13694 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13696 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13697 if (r
->site_to
[cntr_site_to_1
]) {
13698 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13699 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13700 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13701 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
));
13706 return NDR_ERR_SUCCESS
;
13709 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13711 uint32_t _ptr_site_from
;
13712 TALLOC_CTX
*_mem_save_site_from_0
;
13713 uint32_t _ptr_site_to
;
13714 uint32_t cntr_site_to_1
;
13715 TALLOC_CTX
*_mem_save_site_to_0
;
13716 TALLOC_CTX
*_mem_save_site_to_1
;
13717 TALLOC_CTX
*_mem_save_site_to_2
;
13718 if (ndr_flags
& NDR_SCALARS
) {
13719 NDR_CHECK(ndr_pull_align(ndr
, 5));
13720 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13721 if (_ptr_site_from
) {
13722 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13724 r
->site_from
= NULL
;
13726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13727 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13728 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13730 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13731 if (_ptr_site_to
) {
13732 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13736 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13737 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13739 if (ndr_flags
& NDR_BUFFERS
) {
13740 if (r
->site_from
) {
13741 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13742 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13743 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13744 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13745 if (ndr_get_array_length(ndr
, &r
->site_from
) > ndr_get_array_size(ndr
, &r
->site_from
)) {
13746 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
));
13748 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t)));
13749 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t), CH_UTF16
));
13750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13753 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13754 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13755 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13756 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, ndr_get_array_size(ndr
, &r
->site_to
));
13757 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13758 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13759 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13760 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13761 if (_ptr_site_to
) {
13762 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13764 r
->site_to
[cntr_site_to_1
] = NULL
;
13767 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13768 if (r
->site_to
[cntr_site_to_1
]) {
13769 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13770 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13771 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13772 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13773 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
])) {
13774 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
]));
13776 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t)));
13777 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
));
13778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13781 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13785 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13788 return NDR_ERR_SUCCESS
;
13791 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13793 uint32_t cntr_site_to_1
;
13794 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13796 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13798 if (r
->site_from
) {
13799 ndr_print_string(ndr
, "site_from", r
->site_from
);
13802 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13803 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13806 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13808 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13810 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13811 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13813 if (r
->site_to
[cntr_site_to_1
]) {
13814 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13823 ndr_print_uint32(ndr
, "flags", r
->flags
);
13827 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13829 if (ndr_flags
& NDR_SCALARS
) {
13830 int level
= ndr_push_get_switch_value(ndr
, r
);
13831 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
13832 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13835 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13839 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13842 if (ndr_flags
& NDR_BUFFERS
) {
13843 int level
= ndr_push_get_switch_value(ndr
, r
);
13846 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13850 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13853 return NDR_ERR_SUCCESS
;
13856 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13860 level
= ndr_pull_get_switch_value(ndr
, r
);
13861 if (ndr_flags
& NDR_SCALARS
) {
13862 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
13863 if (_level
!= level
) {
13864 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13866 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13869 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13873 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13876 if (ndr_flags
& NDR_BUFFERS
) {
13879 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13883 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13886 return NDR_ERR_SUCCESS
;
13889 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13892 level
= ndr_print_get_switch_value(ndr
, r
);
13893 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13896 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13900 ndr_print_bad_level(ndr
, name
, level
);
13904 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13906 if (flags
& NDR_IN
) {
13907 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13908 if (r
->in
.bind_guid
) {
13909 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13911 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13912 if (r
->in
.bind_info
) {
13913 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13916 if (flags
& NDR_OUT
) {
13917 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13918 if (r
->out
.bind_info
) {
13919 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13921 if (r
->out
.bind_handle
== NULL
) {
13922 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13924 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13925 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13927 return NDR_ERR_SUCCESS
;
13930 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13932 uint32_t _ptr_bind_guid
;
13933 uint32_t _ptr_bind_info
;
13934 TALLOC_CTX
*_mem_save_bind_guid_0
;
13935 TALLOC_CTX
*_mem_save_bind_info_0
;
13936 TALLOC_CTX
*_mem_save_bind_handle_0
;
13937 if (flags
& NDR_IN
) {
13938 ZERO_STRUCT(r
->out
);
13940 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13941 if (_ptr_bind_guid
) {
13942 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13944 r
->in
.bind_guid
= NULL
;
13946 if (r
->in
.bind_guid
) {
13947 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13948 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13949 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13950 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13952 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13953 if (_ptr_bind_info
) {
13954 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13956 r
->in
.bind_info
= NULL
;
13958 if (r
->in
.bind_info
) {
13959 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13960 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13961 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13962 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13964 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13965 ZERO_STRUCTP(r
->out
.bind_handle
);
13967 if (flags
& NDR_OUT
) {
13968 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13969 if (_ptr_bind_info
) {
13970 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13972 r
->out
.bind_info
= NULL
;
13974 if (r
->out
.bind_info
) {
13975 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13976 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13977 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13980 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13981 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13983 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13984 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13985 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13986 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13987 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13989 return NDR_ERR_SUCCESS
;
13992 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13994 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13996 if (flags
& NDR_SET_VALUES
) {
13997 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13999 if (flags
& NDR_IN
) {
14000 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
14002 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
14004 if (r
->in
.bind_guid
) {
14005 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
14008 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
14010 if (r
->in
.bind_info
) {
14011 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
14016 if (flags
& NDR_OUT
) {
14017 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
14019 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
14021 if (r
->out
.bind_info
) {
14022 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
14025 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
14027 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
14029 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14035 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
14037 if (flags
& NDR_IN
) {
14038 if (r
->in
.bind_handle
== NULL
) {
14039 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14041 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14043 if (flags
& NDR_OUT
) {
14044 if (r
->out
.bind_handle
== NULL
) {
14045 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14047 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
14048 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14050 return NDR_ERR_SUCCESS
;
14053 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
14055 TALLOC_CTX
*_mem_save_bind_handle_0
;
14056 if (flags
& NDR_IN
) {
14057 ZERO_STRUCT(r
->out
);
14059 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14060 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14062 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14063 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14064 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14066 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
14067 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
14069 if (flags
& NDR_OUT
) {
14070 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14071 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
14073 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14074 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14075 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
14076 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14077 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14079 return NDR_ERR_SUCCESS
;
14082 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
14084 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
14086 if (flags
& NDR_SET_VALUES
) {
14087 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14089 if (flags
& NDR_IN
) {
14090 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
14092 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14094 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14098 if (flags
& NDR_OUT
) {
14099 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
14101 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
14103 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
14105 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14111 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
14113 if (flags
& NDR_IN
) {
14114 if (r
->in
.bind_handle
== NULL
) {
14115 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14117 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14118 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14119 if (r
->in
.req
== NULL
) {
14120 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14122 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14123 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14125 if (flags
& NDR_OUT
) {
14126 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14128 return NDR_ERR_SUCCESS
;
14131 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
14133 TALLOC_CTX
*_mem_save_bind_handle_0
;
14134 TALLOC_CTX
*_mem_save_req_0
;
14135 if (flags
& NDR_IN
) {
14136 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14137 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14139 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14140 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14141 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14142 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14143 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14144 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14145 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14147 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14148 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14149 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14150 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14151 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14153 if (flags
& NDR_OUT
) {
14154 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14156 return NDR_ERR_SUCCESS
;
14159 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
14161 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
14163 if (flags
& NDR_SET_VALUES
) {
14164 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14166 if (flags
& NDR_IN
) {
14167 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
14169 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14171 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14173 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14174 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14176 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14177 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", r
->in
.req
);
14181 if (flags
& NDR_OUT
) {
14182 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
14184 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14190 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
14192 if (flags
& NDR_IN
) {
14193 if (r
->in
.bind_handle
== NULL
) {
14194 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14196 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14197 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14198 if (r
->in
.req
== NULL
) {
14199 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14201 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14202 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14204 if (flags
& NDR_OUT
) {
14205 if (r
->out
.level_out
== NULL
) {
14206 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14208 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14209 if (r
->out
.ctr
== NULL
) {
14210 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14212 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14213 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14214 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14216 return NDR_ERR_SUCCESS
;
14219 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
14221 TALLOC_CTX
*_mem_save_bind_handle_0
;
14222 TALLOC_CTX
*_mem_save_req_0
;
14223 TALLOC_CTX
*_mem_save_level_out_0
;
14224 TALLOC_CTX
*_mem_save_ctr_0
;
14225 if (flags
& NDR_IN
) {
14226 ZERO_STRUCT(r
->out
);
14228 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14229 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14231 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14232 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14233 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14234 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14235 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14236 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14237 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14239 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14240 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14241 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14242 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14243 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14244 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14245 ZERO_STRUCTP(r
->out
.level_out
);
14246 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14247 ZERO_STRUCTP(r
->out
.ctr
);
14249 if (flags
& NDR_OUT
) {
14250 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14251 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14253 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14254 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14255 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14257 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14258 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14260 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14261 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14262 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14263 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14264 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14265 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14267 return NDR_ERR_SUCCESS
;
14270 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
14272 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
14274 if (flags
& NDR_SET_VALUES
) {
14275 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14277 if (flags
& NDR_IN
) {
14278 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
14280 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14282 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14284 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14285 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14287 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14288 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
14292 if (flags
& NDR_OUT
) {
14293 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
14295 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14297 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14299 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14301 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14302 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
14304 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14310 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
14312 if (flags
& NDR_IN
) {
14313 if (r
->in
.bind_handle
== NULL
) {
14314 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14316 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14318 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14319 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14321 if (flags
& NDR_OUT
) {
14322 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14324 return NDR_ERR_SUCCESS
;
14327 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
14329 TALLOC_CTX
*_mem_save_bind_handle_0
;
14330 if (flags
& NDR_IN
) {
14331 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14332 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14334 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14335 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14336 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14337 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14338 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14339 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14340 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14342 if (flags
& NDR_OUT
) {
14343 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14345 return NDR_ERR_SUCCESS
;
14348 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
14350 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
14352 if (flags
& NDR_SET_VALUES
) {
14353 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14355 if (flags
& NDR_IN
) {
14356 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
14358 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14360 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14362 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14363 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14364 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
14367 if (flags
& NDR_OUT
) {
14368 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
14370 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14376 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14378 if (flags
& NDR_IN
) {
14379 if (r
->in
.bind_handle
== NULL
) {
14380 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14382 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14383 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14384 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14385 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14387 if (flags
& NDR_OUT
) {
14388 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14390 return NDR_ERR_SUCCESS
;
14393 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
14395 TALLOC_CTX
*_mem_save_bind_handle_0
;
14396 if (flags
& NDR_IN
) {
14397 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14398 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14400 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14401 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14402 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14403 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14404 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14405 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14406 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14408 if (flags
& NDR_OUT
) {
14409 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14411 return NDR_ERR_SUCCESS
;
14414 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
14416 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
14418 if (flags
& NDR_SET_VALUES
) {
14419 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14421 if (flags
& NDR_IN
) {
14422 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
14424 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14426 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14428 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14429 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14430 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
14433 if (flags
& NDR_OUT
) {
14434 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
14436 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14442 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14444 if (flags
& NDR_IN
) {
14445 if (r
->in
.bind_handle
== NULL
) {
14446 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14448 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14449 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14450 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14451 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14453 if (flags
& NDR_OUT
) {
14454 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14456 return NDR_ERR_SUCCESS
;
14459 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
14461 TALLOC_CTX
*_mem_save_bind_handle_0
;
14462 if (flags
& NDR_IN
) {
14463 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14464 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14466 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14467 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14468 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14469 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14470 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14471 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14472 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14474 if (flags
& NDR_OUT
) {
14475 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14477 return NDR_ERR_SUCCESS
;
14480 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
14482 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
14484 if (flags
& NDR_SET_VALUES
) {
14485 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14487 if (flags
& NDR_IN
) {
14488 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
14490 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14492 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14494 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14495 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14496 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
14499 if (flags
& NDR_OUT
) {
14500 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
14502 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14508 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14510 if (flags
& NDR_IN
) {
14511 if (r
->in
.bind_handle
== NULL
) {
14512 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14514 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14515 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14516 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14517 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14519 if (flags
& NDR_OUT
) {
14520 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14522 return NDR_ERR_SUCCESS
;
14525 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
14527 TALLOC_CTX
*_mem_save_bind_handle_0
;
14528 if (flags
& NDR_IN
) {
14529 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14530 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14532 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14533 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14534 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14535 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14537 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
14538 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
14540 if (flags
& NDR_OUT
) {
14541 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14543 return NDR_ERR_SUCCESS
;
14546 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
14548 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
14550 if (flags
& NDR_SET_VALUES
) {
14551 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14553 if (flags
& NDR_IN
) {
14554 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
14556 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14558 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14560 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14561 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
14562 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
14565 if (flags
& NDR_OUT
) {
14566 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
14568 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14574 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14576 if (flags
& NDR_IN
) {
14578 if (flags
& NDR_OUT
) {
14579 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14581 return NDR_ERR_SUCCESS
;
14584 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
14586 if (flags
& NDR_IN
) {
14588 if (flags
& NDR_OUT
) {
14589 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14591 return NDR_ERR_SUCCESS
;
14594 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
14596 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
14598 if (flags
& NDR_SET_VALUES
) {
14599 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14601 if (flags
& NDR_IN
) {
14602 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
14606 if (flags
& NDR_OUT
) {
14607 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
14609 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14615 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14617 if (flags
& NDR_IN
) {
14618 if (r
->in
.bind_handle
== NULL
) {
14619 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14621 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14622 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14623 if (r
->in
.req
== NULL
) {
14624 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14626 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14627 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14629 if (flags
& NDR_OUT
) {
14630 if (r
->out
.level_out
== NULL
) {
14631 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14633 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14634 if (r
->out
.ctr
== NULL
) {
14635 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14637 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14638 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14639 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14641 return NDR_ERR_SUCCESS
;
14644 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
14646 TALLOC_CTX
*_mem_save_bind_handle_0
;
14647 TALLOC_CTX
*_mem_save_req_0
;
14648 TALLOC_CTX
*_mem_save_level_out_0
;
14649 TALLOC_CTX
*_mem_save_ctr_0
;
14650 if (flags
& NDR_IN
) {
14651 ZERO_STRUCT(r
->out
);
14653 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14654 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14656 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14657 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14658 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14659 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14660 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14661 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14662 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14664 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14665 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14666 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14667 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14668 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14669 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14670 ZERO_STRUCTP(r
->out
.level_out
);
14671 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14672 ZERO_STRUCTP(r
->out
.ctr
);
14674 if (flags
& NDR_OUT
) {
14675 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14676 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14678 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14679 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14680 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14681 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14682 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14683 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14685 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14686 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14687 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14688 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14689 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14690 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14692 return NDR_ERR_SUCCESS
;
14695 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14697 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14699 if (flags
& NDR_SET_VALUES
) {
14700 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14702 if (flags
& NDR_IN
) {
14703 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14705 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14707 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14709 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14710 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14712 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14713 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14717 if (flags
& NDR_OUT
) {
14718 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14720 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14722 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14724 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14726 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14727 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14729 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14735 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14737 if (flags
& NDR_IN
) {
14739 if (flags
& NDR_OUT
) {
14740 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14742 return NDR_ERR_SUCCESS
;
14745 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14747 if (flags
& NDR_IN
) {
14749 if (flags
& NDR_OUT
) {
14750 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14752 return NDR_ERR_SUCCESS
;
14755 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14757 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14759 if (flags
& NDR_SET_VALUES
) {
14760 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14762 if (flags
& NDR_IN
) {
14763 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14767 if (flags
& NDR_OUT
) {
14768 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14770 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14776 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14778 if (flags
& NDR_IN
) {
14779 if (r
->in
.bind_handle
== NULL
) {
14780 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14782 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14783 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14784 if (r
->in
.req
== NULL
) {
14785 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14787 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14788 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14790 if (flags
& NDR_OUT
) {
14791 if (r
->out
.level_out
== NULL
) {
14792 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14794 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14795 if (r
->out
.info
== NULL
) {
14796 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14798 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14799 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14800 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14802 return NDR_ERR_SUCCESS
;
14805 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14807 TALLOC_CTX
*_mem_save_bind_handle_0
;
14808 TALLOC_CTX
*_mem_save_req_0
;
14809 TALLOC_CTX
*_mem_save_level_out_0
;
14810 TALLOC_CTX
*_mem_save_info_0
;
14811 if (flags
& NDR_IN
) {
14812 ZERO_STRUCT(r
->out
);
14814 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14815 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14817 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14818 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14819 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14820 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14821 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14822 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14823 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14825 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14826 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14827 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14828 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14829 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14830 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14831 ZERO_STRUCTP(r
->out
.level_out
);
14832 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14833 ZERO_STRUCTP(r
->out
.info
);
14835 if (flags
& NDR_OUT
) {
14836 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14837 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14839 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14840 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14842 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14843 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14844 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14846 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14847 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14848 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14849 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14850 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14851 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14853 return NDR_ERR_SUCCESS
;
14856 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14858 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14860 if (flags
& NDR_SET_VALUES
) {
14861 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14863 if (flags
& NDR_IN
) {
14864 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14866 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14868 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14870 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14871 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14873 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14874 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14878 if (flags
& NDR_OUT
) {
14879 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14881 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14883 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14885 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14887 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14888 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14890 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14896 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14898 if (flags
& NDR_IN
) {
14899 if (r
->in
.bind_handle
== NULL
) {
14900 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14902 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14903 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14904 if (r
->in
.req
== NULL
) {
14905 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14907 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14908 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14910 if (flags
& NDR_OUT
) {
14911 if (r
->out
.level_out
== NULL
) {
14912 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14914 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14915 if (r
->out
.ctr
== NULL
) {
14916 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14918 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14919 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14920 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14922 return NDR_ERR_SUCCESS
;
14925 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14927 TALLOC_CTX
*_mem_save_bind_handle_0
;
14928 TALLOC_CTX
*_mem_save_req_0
;
14929 TALLOC_CTX
*_mem_save_level_out_0
;
14930 TALLOC_CTX
*_mem_save_ctr_0
;
14931 if (flags
& NDR_IN
) {
14932 ZERO_STRUCT(r
->out
);
14934 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14935 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14937 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14938 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14939 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14940 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14941 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14942 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14943 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14945 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14946 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14947 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14948 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14949 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14950 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14951 ZERO_STRUCTP(r
->out
.level_out
);
14952 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14953 ZERO_STRUCTP(r
->out
.ctr
);
14955 if (flags
& NDR_OUT
) {
14956 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14957 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14959 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14960 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14961 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14962 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14963 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14964 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14966 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14967 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14968 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14969 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14970 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14971 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14973 return NDR_ERR_SUCCESS
;
14976 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14978 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14980 if (flags
& NDR_SET_VALUES
) {
14981 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14983 if (flags
& NDR_IN
) {
14984 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14986 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14988 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14990 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14991 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14993 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14994 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14998 if (flags
& NDR_OUT
) {
14999 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
15001 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15003 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15005 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15007 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15008 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
15010 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15016 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
15018 if (flags
& NDR_IN
) {
15019 if (r
->in
.bind_handle
== NULL
) {
15020 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15022 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15023 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15024 if (r
->in
.req
== NULL
) {
15025 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15027 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15028 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15030 if (flags
& NDR_OUT
) {
15031 if (r
->out
.level_out
== NULL
) {
15032 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15034 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15035 if (r
->out
.res
== NULL
) {
15036 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15038 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
15039 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
15040 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15042 return NDR_ERR_SUCCESS
;
15045 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
15047 TALLOC_CTX
*_mem_save_bind_handle_0
;
15048 TALLOC_CTX
*_mem_save_req_0
;
15049 TALLOC_CTX
*_mem_save_level_out_0
;
15050 TALLOC_CTX
*_mem_save_res_0
;
15051 if (flags
& NDR_IN
) {
15052 ZERO_STRUCT(r
->out
);
15054 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15055 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15057 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15058 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15059 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15060 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15061 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15062 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15063 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15065 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15066 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15067 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15068 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15070 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15071 ZERO_STRUCTP(r
->out
.level_out
);
15072 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
15073 ZERO_STRUCTP(r
->out
.res
);
15075 if (flags
& NDR_OUT
) {
15076 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15077 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15079 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15080 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15081 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15082 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15083 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15084 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
15086 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15087 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
15088 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
15089 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
15090 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
15091 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15093 return NDR_ERR_SUCCESS
;
15096 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
15098 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
15100 if (flags
& NDR_SET_VALUES
) {
15101 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15103 if (flags
& NDR_IN
) {
15104 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
15106 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15108 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15110 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15111 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15113 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15114 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
15118 if (flags
& NDR_OUT
) {
15119 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
15121 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15123 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15125 ndr_print_ptr(ndr
, "res", r
->out
.res
);
15127 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
15128 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
15130 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15136 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
15138 if (flags
& NDR_IN
) {
15139 if (r
->in
.bind_handle
== NULL
) {
15140 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15142 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15143 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15144 if (r
->in
.req
== NULL
) {
15145 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15147 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15148 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15150 if (flags
& NDR_OUT
) {
15151 if (r
->out
.level_out
== NULL
) {
15152 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15155 if (r
->out
.res
== NULL
) {
15156 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15158 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
15159 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
15160 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15162 return NDR_ERR_SUCCESS
;
15165 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
15167 TALLOC_CTX
*_mem_save_bind_handle_0
;
15168 TALLOC_CTX
*_mem_save_req_0
;
15169 TALLOC_CTX
*_mem_save_level_out_0
;
15170 TALLOC_CTX
*_mem_save_res_0
;
15171 if (flags
& NDR_IN
) {
15172 ZERO_STRUCT(r
->out
);
15174 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15175 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15177 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15178 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15179 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15180 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15181 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15182 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15183 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15185 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15186 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15187 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15188 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15189 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15190 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15191 ZERO_STRUCTP(r
->out
.level_out
);
15192 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
15193 ZERO_STRUCTP(r
->out
.res
);
15195 if (flags
& NDR_OUT
) {
15196 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15197 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15199 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15200 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15201 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15202 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15203 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15204 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
15206 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15207 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
15208 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
15209 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
15210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
15211 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15213 return NDR_ERR_SUCCESS
;
15216 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
15218 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
15220 if (flags
& NDR_SET_VALUES
) {
15221 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15223 if (flags
& NDR_IN
) {
15224 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
15226 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15228 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15230 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15231 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15233 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15234 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
15238 if (flags
& NDR_OUT
) {
15239 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
15241 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15243 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15245 ndr_print_ptr(ndr
, "res", r
->out
.res
);
15247 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
15248 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
15250 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15256 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
15258 if (flags
& NDR_IN
) {
15260 if (flags
& NDR_OUT
) {
15261 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15263 return NDR_ERR_SUCCESS
;
15266 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
15268 if (flags
& NDR_IN
) {
15270 if (flags
& NDR_OUT
) {
15271 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15273 return NDR_ERR_SUCCESS
;
15276 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
15278 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
15280 if (flags
& NDR_SET_VALUES
) {
15281 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15283 if (flags
& NDR_IN
) {
15284 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
15288 if (flags
& NDR_OUT
) {
15289 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
15291 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15297 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
15299 if (flags
& NDR_IN
) {
15300 if (r
->in
.bind_handle
== NULL
) {
15301 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15303 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15304 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15305 if (r
->in
.req
== NULL
) {
15306 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15308 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15309 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15311 if (flags
& NDR_OUT
) {
15312 if (r
->out
.level_out
== NULL
) {
15313 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15315 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15316 if (r
->out
.ctr
== NULL
) {
15317 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15319 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15320 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15321 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15323 return NDR_ERR_SUCCESS
;
15326 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
15328 TALLOC_CTX
*_mem_save_bind_handle_0
;
15329 TALLOC_CTX
*_mem_save_req_0
;
15330 TALLOC_CTX
*_mem_save_level_out_0
;
15331 TALLOC_CTX
*_mem_save_ctr_0
;
15332 if (flags
& NDR_IN
) {
15333 ZERO_STRUCT(r
->out
);
15335 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15336 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15338 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15339 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15340 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15341 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15342 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15343 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15344 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15346 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15347 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15348 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15349 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15350 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15351 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15352 ZERO_STRUCTP(r
->out
.level_out
);
15353 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15354 ZERO_STRUCTP(r
->out
.ctr
);
15356 if (flags
& NDR_OUT
) {
15357 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15358 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15360 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15361 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15362 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15363 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15364 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15365 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15367 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15368 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15369 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15370 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15371 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15372 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15374 return NDR_ERR_SUCCESS
;
15377 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
15379 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
15381 if (flags
& NDR_SET_VALUES
) {
15382 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15384 if (flags
& NDR_IN
) {
15385 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
15387 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15389 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15391 ndr_print_int32(ndr
, "level", r
->in
.level
);
15392 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15394 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15395 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
15399 if (flags
& NDR_OUT
) {
15400 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
15402 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15404 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15406 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15408 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15409 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
15411 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15417 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15419 if (flags
& NDR_IN
) {
15420 if (r
->in
.bind_handle
== NULL
) {
15421 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15423 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15424 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15425 if (r
->in
.req
== NULL
) {
15426 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15428 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15429 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15431 if (flags
& NDR_OUT
) {
15432 if (r
->out
.level_out
== NULL
) {
15433 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15435 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15436 if (r
->out
.ctr
== NULL
) {
15437 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15439 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15440 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15441 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15443 return NDR_ERR_SUCCESS
;
15446 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
15448 TALLOC_CTX
*_mem_save_bind_handle_0
;
15449 TALLOC_CTX
*_mem_save_req_0
;
15450 TALLOC_CTX
*_mem_save_level_out_0
;
15451 TALLOC_CTX
*_mem_save_ctr_0
;
15452 if (flags
& NDR_IN
) {
15453 ZERO_STRUCT(r
->out
);
15455 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15456 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15458 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15459 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15460 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15461 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15462 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15463 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15464 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15466 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15467 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15468 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15469 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15470 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15471 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15472 ZERO_STRUCTP(r
->out
.level_out
);
15473 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15474 ZERO_STRUCTP(r
->out
.ctr
);
15476 if (flags
& NDR_OUT
) {
15477 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15478 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15480 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15481 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15482 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15483 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15484 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15485 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15487 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15488 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15489 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15490 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15491 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15492 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15494 return NDR_ERR_SUCCESS
;
15497 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
15499 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
15501 if (flags
& NDR_SET_VALUES
) {
15502 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15504 if (flags
& NDR_IN
) {
15505 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
15507 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15509 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15511 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15512 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15514 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15515 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
15519 if (flags
& NDR_OUT
) {
15520 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
15522 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15524 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15526 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15528 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15529 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
15531 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15537 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15539 if (flags
& NDR_IN
) {
15540 if (r
->in
.bind_handle
== NULL
) {
15541 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15543 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15544 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15545 if (r
->in
.req
== NULL
) {
15546 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15548 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15549 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15551 if (flags
& NDR_OUT
) {
15552 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15554 return NDR_ERR_SUCCESS
;
15557 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
15559 TALLOC_CTX
*_mem_save_bind_handle_0
;
15560 TALLOC_CTX
*_mem_save_req_0
;
15561 if (flags
& NDR_IN
) {
15562 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15563 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15565 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15566 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15567 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15568 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15569 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15570 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15571 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15573 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15574 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15575 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15576 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
15577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15579 if (flags
& NDR_OUT
) {
15580 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15582 return NDR_ERR_SUCCESS
;
15585 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
15587 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
15589 if (flags
& NDR_SET_VALUES
) {
15590 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15592 if (flags
& NDR_IN
) {
15593 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
15595 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15597 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15599 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15600 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15602 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15603 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
15607 if (flags
& NDR_OUT
) {
15608 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
15610 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15616 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15618 if (flags
& NDR_IN
) {
15619 if (r
->in
.bind_handle
== NULL
) {
15620 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15622 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15623 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
15624 if (r
->in
.req
== NULL
) {
15625 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15627 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15628 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15630 if (flags
& NDR_OUT
) {
15631 if (r
->out
.info_type
== NULL
) {
15632 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15634 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
15635 if (r
->out
.info
== NULL
) {
15636 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15638 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15639 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15640 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15642 return NDR_ERR_SUCCESS
;
15645 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
15647 TALLOC_CTX
*_mem_save_bind_handle_0
;
15648 TALLOC_CTX
*_mem_save_req_0
;
15649 TALLOC_CTX
*_mem_save_info_type_0
;
15650 TALLOC_CTX
*_mem_save_info_0
;
15651 if (flags
& NDR_IN
) {
15652 ZERO_STRUCT(r
->out
);
15654 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15655 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15657 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15658 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15659 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15660 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
15662 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15663 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15665 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15666 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15667 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15668 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15669 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15670 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15671 ZERO_STRUCTP(r
->out
.info_type
);
15672 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15673 ZERO_STRUCTP(r
->out
.info
);
15675 if (flags
& NDR_OUT
) {
15676 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15677 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15679 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15680 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15681 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15682 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15683 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15684 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15686 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15687 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15688 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15691 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15693 return NDR_ERR_SUCCESS
;
15696 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15698 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15700 if (flags
& NDR_SET_VALUES
) {
15701 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15703 if (flags
& NDR_IN
) {
15704 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15706 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15708 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15710 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15711 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15713 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15714 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15718 if (flags
& NDR_OUT
) {
15719 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15721 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15723 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15725 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15727 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15728 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15730 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15736 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15738 if (flags
& NDR_IN
) {
15740 if (flags
& NDR_OUT
) {
15741 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15743 return NDR_ERR_SUCCESS
;
15746 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15748 if (flags
& NDR_IN
) {
15750 if (flags
& NDR_OUT
) {
15751 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15753 return NDR_ERR_SUCCESS
;
15756 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15758 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15760 if (flags
& NDR_SET_VALUES
) {
15761 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15763 if (flags
& NDR_IN
) {
15764 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15768 if (flags
& NDR_OUT
) {
15769 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15771 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15777 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15779 if (flags
& NDR_IN
) {
15780 if (r
->in
.bind_handle
== NULL
) {
15781 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15783 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15784 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15785 if (r
->in
.req
== NULL
) {
15786 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15788 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15789 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15791 if (flags
& NDR_OUT
) {
15792 if (r
->out
.level_out
== NULL
) {
15793 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15795 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15796 if (r
->out
.ctr
== NULL
) {
15797 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15799 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15800 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15801 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15803 return NDR_ERR_SUCCESS
;
15806 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15808 TALLOC_CTX
*_mem_save_bind_handle_0
;
15809 TALLOC_CTX
*_mem_save_req_0
;
15810 TALLOC_CTX
*_mem_save_level_out_0
;
15811 TALLOC_CTX
*_mem_save_ctr_0
;
15812 if (flags
& NDR_IN
) {
15813 ZERO_STRUCT(r
->out
);
15815 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15816 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15818 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15819 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15820 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15821 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15822 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15823 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15824 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15826 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15827 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15828 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15829 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15830 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15831 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15832 ZERO_STRUCTP(r
->out
.level_out
);
15833 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15834 ZERO_STRUCTP(r
->out
.ctr
);
15836 if (flags
& NDR_OUT
) {
15837 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15838 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15840 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15841 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15842 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15843 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15844 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15845 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15847 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15848 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15849 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15850 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15851 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15852 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15854 return NDR_ERR_SUCCESS
;
15857 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15859 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15861 if (flags
& NDR_SET_VALUES
) {
15862 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15864 if (flags
& NDR_IN
) {
15865 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15867 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15869 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15871 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15872 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15874 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15875 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15879 if (flags
& NDR_OUT
) {
15880 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15882 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15884 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15886 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15888 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15889 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15891 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15897 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15899 if (flags
& NDR_IN
) {
15901 if (flags
& NDR_OUT
) {
15902 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15904 return NDR_ERR_SUCCESS
;
15907 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15909 if (flags
& NDR_IN
) {
15911 if (flags
& NDR_OUT
) {
15912 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15914 return NDR_ERR_SUCCESS
;
15917 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15919 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15921 if (flags
& NDR_SET_VALUES
) {
15922 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15924 if (flags
& NDR_IN
) {
15925 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15929 if (flags
& NDR_OUT
) {
15930 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15932 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15938 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15940 if (flags
& NDR_IN
) {
15942 if (flags
& NDR_OUT
) {
15943 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15945 return NDR_ERR_SUCCESS
;
15948 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15950 if (flags
& NDR_IN
) {
15952 if (flags
& NDR_OUT
) {
15953 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15955 return NDR_ERR_SUCCESS
;
15958 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15960 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15962 if (flags
& NDR_SET_VALUES
) {
15963 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15965 if (flags
& NDR_IN
) {
15966 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15970 if (flags
& NDR_OUT
) {
15971 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15973 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15979 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15981 if (flags
& NDR_IN
) {
15982 if (r
->in
.bind_handle
== NULL
) {
15983 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15985 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15986 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15987 if (r
->in
.req
== NULL
) {
15988 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15990 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15991 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15993 if (flags
& NDR_OUT
) {
15994 if (r
->out
.level_out
== NULL
) {
15995 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15997 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15998 if (r
->out
.ctr
== NULL
) {
15999 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
16001 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
16002 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
16003 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
16005 return NDR_ERR_SUCCESS
;
16008 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
16010 TALLOC_CTX
*_mem_save_bind_handle_0
;
16011 TALLOC_CTX
*_mem_save_req_0
;
16012 TALLOC_CTX
*_mem_save_level_out_0
;
16013 TALLOC_CTX
*_mem_save_ctr_0
;
16014 if (flags
& NDR_IN
) {
16015 ZERO_STRUCT(r
->out
);
16017 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
16018 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
16020 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
16021 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
16022 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
16023 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
16024 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
16025 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
16026 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
16028 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
16029 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
16030 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
16031 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
16032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
16033 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
16034 ZERO_STRUCTP(r
->out
.level_out
);
16035 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
16036 ZERO_STRUCTP(r
->out
.ctr
);
16038 if (flags
& NDR_OUT
) {
16039 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
16040 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
16042 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
16043 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
16044 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
16045 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
16046 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
16047 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
16049 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
16050 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
16051 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
16052 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
16053 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
16054 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
16056 return NDR_ERR_SUCCESS
;
16059 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
16061 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
16063 if (flags
& NDR_SET_VALUES
) {
16064 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
16066 if (flags
& NDR_IN
) {
16067 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
16069 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
16071 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
16073 ndr_print_uint32(ndr
, "level", r
->in
.level
);
16074 ndr_print_ptr(ndr
, "req", r
->in
.req
);
16076 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
16077 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
16081 if (flags
& NDR_OUT
) {
16082 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
16084 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
16086 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
16088 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
16090 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
16091 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
16093 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
16099 static const struct ndr_interface_call drsuapi_calls
[] = {
16102 sizeof(struct drsuapi_DsBind
),
16103 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
16104 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
16105 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
16109 "drsuapi_DsUnbind",
16110 sizeof(struct drsuapi_DsUnbind
),
16111 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
16112 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
16113 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
16117 "drsuapi_DsReplicaSync",
16118 sizeof(struct drsuapi_DsReplicaSync
),
16119 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
16120 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
16121 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
16125 "drsuapi_DsGetNCChanges",
16126 sizeof(struct drsuapi_DsGetNCChanges
),
16127 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
16128 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
16129 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
16133 "drsuapi_DsReplicaUpdateRefs",
16134 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
16135 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
16136 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
16137 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
16141 "drsuapi_DsReplicaAdd",
16142 sizeof(struct drsuapi_DsReplicaAdd
),
16143 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
16144 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
16145 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
16149 "drsuapi_DsReplicaDel",
16150 sizeof(struct drsuapi_DsReplicaDel
),
16151 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
16152 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
16153 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
16157 "drsuapi_DsReplicaMod",
16158 sizeof(struct drsuapi_DsReplicaMod
),
16159 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
16160 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
16161 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
16165 "DRSUAPI_VERIFY_NAMES",
16166 sizeof(struct DRSUAPI_VERIFY_NAMES
),
16167 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
16168 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
16169 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
16173 "drsuapi_DsGetMemberships",
16174 sizeof(struct drsuapi_DsGetMemberships
),
16175 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
16176 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
16177 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
16181 "DRSUAPI_INTER_DOMAIN_MOVE",
16182 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
16183 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
16184 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
16185 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
16189 "drsuapi_DsGetNT4ChangeLog",
16190 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
16191 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
16192 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
16193 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
16197 "drsuapi_DsCrackNames",
16198 sizeof(struct drsuapi_DsCrackNames
),
16199 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
16200 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
16201 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
16205 "drsuapi_DsWriteAccountSpn",
16206 sizeof(struct drsuapi_DsWriteAccountSpn
),
16207 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
16208 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
16209 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
16213 "drsuapi_DsRemoveDSServer",
16214 sizeof(struct drsuapi_DsRemoveDSServer
),
16215 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
16216 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
16217 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
16221 "DRSUAPI_REMOVE_DS_DOMAIN",
16222 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
16223 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
16224 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
16225 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
16229 "drsuapi_DsGetDomainControllerInfo",
16230 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
16231 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
16232 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
16233 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
16237 "drsuapi_DsAddEntry",
16238 sizeof(struct drsuapi_DsAddEntry
),
16239 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
16240 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
16241 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
16245 "drsuapi_DsExecuteKCC",
16246 sizeof(struct drsuapi_DsExecuteKCC
),
16247 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
16248 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
16249 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
16253 "drsuapi_DsReplicaGetInfo",
16254 sizeof(struct drsuapi_DsReplicaGetInfo
),
16255 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
16256 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
16257 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
16261 "DRSUAPI_ADD_SID_HISTORY",
16262 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
16263 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
16264 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
16265 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
16269 "drsuapi_DsGetMemberships2",
16270 sizeof(struct drsuapi_DsGetMemberships2
),
16271 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
16272 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
16273 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
16277 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
16278 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
16279 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
16280 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
16281 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
16285 "DRSUAPI_GET_OBJECT_EXISTENCE",
16286 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
16287 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
16288 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
16289 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
16293 "drsuapi_QuerySitesByCost",
16294 sizeof(struct drsuapi_QuerySitesByCost
),
16295 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
16296 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
16297 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
16300 { NULL
, 0, NULL
, NULL
, NULL
, false }
16303 static const char * const drsuapi_endpoint_strings
[] = {
16304 "ncacn_np:[\\pipe\\lsass]",
16305 "ncacn_np:[\\pipe\\protected_storage]",
16310 static const struct ndr_interface_string_array drsuapi_endpoints
= {
16312 .names
= drsuapi_endpoint_strings
16315 static const char * const drsuapi_authservice_strings
[] = {
16319 static const struct ndr_interface_string_array drsuapi_authservices
= {
16321 .names
= drsuapi_authservice_strings
16325 const struct ndr_interface_table ndr_table_drsuapi
= {
16328 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
16329 NDR_DRSUAPI_VERSION
16331 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
16333 .calls
= drsuapi_calls
,
16334 .endpoints
= &drsuapi_endpoints
,
16335 .authservices
= &drsuapi_authservices